Browsed by
Author: keruya

[Python] Anaconda で Numpy を使用する

[Python] Anaconda で Numpy を使用する

Numpy のインストール

新規で Python 環境を作成し Open Terminal でターミナルを立ち上げる。

conda install numpy

このコマンドで Numpy がインストールできる。

実行

Jupyter Notebook を立ち上げる。

Jupyter Notebook

Python3 の実行環境を作成して、下記コードを入力する。

import numpy as np
data = np.array(
    [
        [0, 1, 2], 
        [3, 4, 5],
        [6, 7, 8],
    ]
)

print(data)
print(type(data))

Shift + Enter で実行してエラーが無ければ成功。

[Windows] Anaconda の導入

[Windows] Anaconda の導入

インストール

公式サイトのダウンロードボタンから、インストール用の exe をダウンロードして実行する。インストール時は全てデフォルトのまま Next を押して進めていく。途中の

Register Anaconda 3 as my default Python

にチェックをが入っていると、他の Python ツールでも Anaconda の Base 環境がデフォルトとして使用される。インストール環境によっては稀に問題が起こるケースもあるのでチェックには注意。

新規環境を作成

Environments タブを選択すると下のほうに「Create」ボタンがあるのでそれを押す。「Create new environment」ウインドウが立ち上がるので、作成する環境の名前を入力して、Python にチェックを入れて Create ボタンを押す。

Jupyter notebook を起動

新規作成した環境の矢印ボタンから「Open Terminal」を選択。下記コマンドを入力する。

Jupyter notebook

明示的にインストールしなくても、Jupyter notebook が使用できる。web サーバーが起動して既定のブラウザが立ち上がる。

Python コードを記述

Python3 の実行環境を作成する。

Python コードを記述して、Shift + Enter を押せば実行できる。

[Java] Windows と VS Code で Java の開発環境を構築

[Java] Windows と VS Code で Java の開発環境を構築

JDK の導入

Java の開発には、Java Development Kit (JDK) と呼ばれる開発用のソフトウェアをインストールします。JDK は Oracle のサイトからダウンロードすることが可能です。

2023年3月現在 Java 19 が最新版になっていますが、今回は LTS 版の Java 17 を利用します。

Windows, macOS, Linux のそれぞれの OS 用に提供されていますが、今回は Windows タブを選択して「x64 MSI Installer」をダウンロードして導入します。

環境変数とパスの設定

JDK のインストールが終わったら、環境変数とパスの設定を行います。

環境変数ウインドウのシステム環境変数から「新規」を選択します。

変数名:JAVA_HOME
変数値:C:\Program Files\Java\jdk-17

を入力して OK を押します。

続いて Path を選択して下記パスを追加します。

%JAVA_HOME%\bin

バージョン確認

コマンドプロントを立ち上げて、下記コマンドを打ち込みます。

javac -version

インストールした JDK のバージョンが表示されれば完了です。

実行確認

class Hello {
	public static void main(String args[]) {
		System.out.println("Hello World!");
	}
}

このコードをテキストエディターに入力して HelloWorld.java で保存します。保存後、下記コマンドでコンパイルします。

javac HelloWorld.java

同じフォルダ内に HelloWorld.class が保存されればコンパイル成功です。実行は下記コマンドを入力します。

java HelloWorld

画面上に Hello World! と表示されれば成功です。

Visual Studio Code を開発環境として使用

Extension Pack for Java の導入

VS Code を導入後 Extensions タブで Java を検索して「Exension Pack for Java」をインストールします。

拡張機能を導入後、Java プロジェクトは下記コマンドを打ち込みます。

> Java create java project

Project Type は No build tools で構いません。保存するフォルダとプロジェクトを名を入力すれば完了です。

プロジェクトの作成が完了すると App.java が作られています。Visual Studio Code 上で F5 キーを押すとコンパイルされて TERMINAL ウインドウに、実行結果が表示されます。

新規ファイルの追加

新規ファイルを追加したい場合は、src を右クリックして New FIles… から追加を行えます。

Reference

2022年のJavaまるわかり!最新バージョンからJavaを取り巻く環境まで
https://gihyo.jp/article/2022/07/java2022-0701

[DirectX11] Visual Studio 2019 で DirectX11 Sample をビルド

[DirectX11] Visual Studio 2019 で DirectX11 Sample をビルド

LNK2019 のリンクエラー

最新の Visual Studio で DirectX 9 や DirectX 11 の一部サンプルプロジェクトをビルドしようとすると 下記のような LNK2019 のエラーが発生する。

1>dxerr.lib(dxerrw.obj) : error LNK2019: unresolved external symbol __vsnwprintf referenced in function "long __stdcall StringVPrintfWorkerW(unsigned short *,unsigned int,unsigned int *,unsigned short const *,char *)" (?StringVPrintfWorkerW@@YGJPAGIPAIPBGPAD@Z)
1>C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Samples\C++\Direct3D11\VarianceShadows11\Debug\VarianceShadows11.exe : fatal error LNK1120: 1 unresolved externals

これを解決するためには、プロジェクト設定から静的ライブラリの追加が必要。

プロジェクトの設定変更

Project を右クリックして「Properties」を選択。

Linker -> Input の Additional Dependencies に下記の lib ファイルを追加する。

legacy_stdio_definitions.lib

これでビルドが通るはず。

[Windows] 使えなくなった USB メモリーをフォーマット

[Windows] 使えなくなった USB メモリーをフォーマット

間違ったディスクを選択しないように細心の注意を払う
自己責任で実行して下さい。

diskpart.exe を管理者権限で実行。

list disk
select disk 1

select disk の数字は、list disk の結果をもとに、ディスク番号を指定。

以下コマンドでクリーンできるが、本当に正しい番号をしているか要確認

clean
create partition primary
format fs=fat32 quick

これで復活できるはず。

[Chromebook] OS リカバリーして工場出荷状態へ戻す

[Chromebook] OS リカバリーして工場出荷状態へ戻す

中古で購入した Lenovo Ideapad Duet Chromebook をアップデートしようとしたら、画面には「更新は管理者によって無効になっています。」という文字が表示されて正しくアップデートが行えなかった。(英語表記だと “Chrome Updates are Disabled by your Administrator.”)

Powerwash を行ったがこれでは解決出来なかった。代わりに OS リカバリーをすることでようやく解決したので、その手順のメモ。

Chromebook を復元する

サポートサイトの手順を参考にする。私の環境だと、リカバリーモードへの移行と、OS 再インストール用のメディア作成が必要になった。

リカバリ用メディアは、Google Chrome の Chromebook リカバリ ユーティリティ拡張を使ってブラウザ上で作成出来る。

Chromebook の識別では、手持ちの端末を指定する。
私の場合は「Lenovo Chromebook Duet / Lenovo Ideapad Duet Chromebook」を選択。

続行で進めていければ、リカバリメディアが作成できる。

USB を刺して復元

リカバリーモードで起動した Chromebook には USB を刺してくださいと表示されていたので、作成したリカバリー用の USB を挿入。後は数分待てば自動で OS の再インストールと再起動が行われた。

復元した Chromebook にログインしたところ、無事にアップデートが行えた。

[UE4] メモリー使用量の調査

[UE4] メモリー使用量の調査

LLM を使用

実行ファイルの起動時に、引数に -llm を指定する。その後、下記コマンドで表示が可能。

  • stat llm
  • stat llmfull

Editor 上での LLM

Editor の Viewport や PIE (Play In Editor) では、stat llm コマンドは有効にならなかった。代わりに「Play」の Advanced Settings から Editor Preference を開き「Additional Launch Parameters」に -llm を設定する。そうすれば「Play」から Standalone 起動した時は stat llm が使用できた。

他プラットフォーム

起動時に引数を渡せないプラットフォームでは UE4CommandLine.txt に記述することで起動時に読み込まれる。下記参照。

Reference

[UE4]Memreportを活用しよう!
https://historia.co.jp/archives/25131/
UE4でのメモリ使用量の調査と対策
https://qiita.com/pino_tabetai/items/f650720be024184fc8cb

[UE4] Unreal Engine 4.27 で Android ビルドを行う

[UE4] Unreal Engine 4.27 で Android ビルドを行う

Android Studio のインストール

Setting Up Android SDK and NDK for Unreal の内容を参考に、Android Studio 4.0 をインストールしていく。ちなみに記事の中に「SetupAndroid.bat」を実行するという記述があるが私の環境だと失敗していた。

必要なソフトウェアのインストール

Android Studio を起動後、Configure -> SDK Manager を立ち上げる。左のツリーから「Android SDK」を選択して下記にチェックを入れていく。

  • SDK Platform タブから「Android API 31」を導入(それ以上のバージョンのものはチェックを外す)
  • SDK Tools タブから「Android SDK Build-Tools 30.0.3」を導入(それ以上のバージョンのものはチェックを外す)
  • SDK Tools タブから「Android SDK Command-line Tools 8.0」を導入
  • SDK Tools タブから「NDK 21.4.xxxx」を導入

この時、ウインドウの右下の「Show Package Details」にチェックを入れないと、任意のバージョンを指定できないので注意。必ずチェックを入れる。

UE4 の Project Settings

Edit -> Project Settings から Platforms Android SDK 選択。それぞれのパスを設定していく。

Location of Android SDK
C:/Users/Name/AppData/Local/Android/Sdk

Location of Android NDK
C:/Users/Name/AppData/Local/Android/Sdk/ndk/21.4.7075529

Location of JAVA
C:/Program Files/Java/jdk1.8.0_77
or
C:/Program Files/Android/Android Studio/jre/jre

最初は Android Studio の下のパスを設定していたが、エラーが出たので JDK のパスに書き換えた。JDK 1.8.0_77 はこちらのサイトを参考にインストール。オラクルのサイトから jdk-8u77-windows-x64.exe をダウンロード。

apk 作成

apk を作成する場合は「Android (ASTC)」を選択する。

ビルドエラー

UATHelper: Packaging (Android (ASTC)): ERROR: cmd.exe failed with args /c "C:\Users\Name\Desktop\MyProject\Intermediate\Android\armv7\gradle\rungradle.bat" :app:assembleDebug
UATHelper: Packaging (Android (ASTC)):        (see C:\Users\Name\AppData\Roaming\Unreal Engine\AutomationTool\Logs\D+Program+Files+Epic+Games+UE_4.27\Log.txt for full exception trace)
UATHelper: Packaging (Android (ASTC)): AutomationTool exiting with ExitCode=1 (Error_Unknown)
UATHelper: Packaging (Android (ASTC)): BUILD FAILED
PackagingResults: Error: cmd.exe failed with args /c "C:\Users\Name\Desktop\MyProject\Intermediate\Android\armv7\gradle\rungradle.bat" :app:assembleDebug
PackagingResults: Error: Unknown Error

このエラーが出た場合は、上記の Android SDK Manager からインストールの設定を見直す。

Andorid に apk をインストール

package 化が成功したらフォルダの中に Android_ASTC/Install_MyProject-armv7.bat があるのでこれを叩く。PC と端末が USB 接続されていれば、インストールされる。

Stat コマンド

画面上を4本指でタップすると、コマンド入力用のダイアログが出現する。よく使うコマンドに関しては、プルダウンで選択できる。ソフトウェアキーボードで任意の入力も可能。

UE4CommandLine.txt

Android はアプリ起動時に引数は設定できないので、何かオプションを渡したい場合は UE4CommandLine.txt に記述して Android デバイス内に保存する。具体的なパスは下記になるはず。

sdcard/UE4Game/YourProject/UE4CommandLine.txt

例えば Memory 周りを見たいときは、この txt の中に「-llm」と記述して「stat llm」で確認できる。

adb コマンド

adb コマンドを使用して UE4CommandLine.txt を端末とやり取りする。

#YourProject 以下のファイル一覧を表示する
adb ls sdcard/UE4Game/YourProject

#YourProject以下の UE4CommandLine.txt を PC にコピー
adb pull sdcard/UE4Game/YourProject/UE4CommandLine.txt

#PC の UE4CommandLine.txt を端末にコピー
adb push UE4CommandLine.txt sdcard/UE4Game/YourProject/UE4CommandLine.txt

参考

https://docs.unrealengine.com/4.27/en-US/SharingAndReleasing/Mobile/Android/
https://www.slideshare.net/EpicGamesJapan/igf2018-ue4android-indie-games-festival-2018

[UE4] UnrealEngine4 のパッケージの書き出し

[UE4] UnrealEngine4 のパッケージの書き出し

スタートアップのマップを設定

「Game Default Map」に設定しているマップが、パッケージ後に最初に起動するマップ。ここにスタートアップとなるマップを登録する。ちなみに、その上の「Editor Startup Map」は Editor を開いたときに最初に読まれるマップになっている。

パッケージ化

File -> Package Project -> Windwos (64-bit) の選択で、プロジェクトをパッケージ化することが出来る。

Build 設定

パッケージのビルド設定は「Build Configuration」から設定できる。

Development
stats やデバッグコマンド、メモリー使用量など、開発用情報が取れるビルド

Test
この構成を利用するには、ソースコードからのビルドが必要。stat unit や stat fps などの一部のデバッグ機能は利用できるが、CPUやメモリーの使用率は製品版に使い状態。

Shipping
製品版はこの構成でビルドする。勿論一切のデバッグ機能はオフになっている。

参考

https://docs.unrealengine.com/4.27/ja/Basics/Projects/Packaging/

https://qiita.com/donbutsu17/items/401c1fa1037a99e14b03