Browsed by
Month: 2023年2月

[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