UE4 / コンソールコマンド

パッケージ後にゲームの状態を確認したいときは@キーでコンソールコマンドを実行できる。
@を2回押せばコマンドの出力も表示できる状態になる(添付画像)
コンソールを無効にする場合はプロジェクト設定で Engine > Input > Console のキー定義を削除する。Engine > Input > Mobile > Show Console ..もoff。
f:id:hat0xAA:20200228151911j:plain

以下役立つかもしれないコマンドの一覧。

続きを読む

UE4 / C++ / Debug / エンジンのソース内でブレークポイントが使いたい場合

Epic Games Launcherでデバッグ用シンボルファイルをDLすれば可能になる。

UnrealEngine > ライブラリ > 4.22(対象バージョン) > 「起動」横の▼ > オプション
で「デバッグに必要なエディタシンボル(Editor symbols for debugging)」をダウンロードする。
空き容量が15-20GB程度必要。DLは2GB程度。UE5.0ではDLが11GBで必要容量が50GB程度。
その後プロジェクトファイル(*.sln)を作成しなおせばエンジンのソース内でブレークポイントを利用できるようになる。

関係記事:UE4 / C++ / VisualStudioでブレークポイントを使う手順 - ### 開発めも


UE4 / 不具合 / パッケージ化 / ファイルが見つからないというエラーがでる場合

LogLinker:Warning:ファイル***が見つかりません

のような警告がでてパッケージ化が失敗するが、***のファイル自体がプロジェクトにない場合。
プロジェクトを新規作成してパッケージ化しても同じエラーがでるなら、
Windowsのユーザフォルダ ( C:¥ユーザー¥自分のユーザー名 )
にある
AppData/Local/UnrealEngine/4.22/Saved
を消すと解決できる時がある。(エディタの言語設定などがSaved/Configに入っているのでバックアップ推奨)
("4.22"の部分は使用しているUE4のバージョンにあわせる)

UE4 / C++ / windows用のコードを利用するには

std::stringなどの標準ライブラリや既存のwindows用コードを利用したい場合、単純に #include <windows.h> をするとUE4のTEXTマクロの再定義がおきてUE4側のコードがエラーになってしまう。
windows.hのかわりに、

#include "AllowWindowsPlatformTypes.h"
//windowsコード
#include "HideWindowsPlatformTypes.h"

を使うとエラーやワーニングがでることなくwindowsのコードを書くことができる。

UE4 / ライティングのビルドがいつまでも終わらない場合

大量にライトマップが作られていたり、大きすぎるマップになっていたりすることが原因である場合も。
事前計算するライトマップを減らすことで解決する場合がある。
シーンによっては、レベル上オブジェクトの可動性をステーショナルかムーバブルにするとビルドがすぐ終わるようになる場合もある。
f:id:hat0xAA:20190803104748j:plain


Build -> Lighting info -> Lighting StaticMesh Info,  
で、ライトマップサイズやメモリ量などが確認できる。
f:id:hat0xAA:20190803102947j:plain


Build -> Lighting info -> Lighting Quality
で事前計算の品質を下げて計算量を減らすと計算時間も減る。
f:id:hat0xAA:20190803103939j:plain


ライティングのビルドはSwarmツールで実行されるのでSwarmツールを開いた状態でUE4でビルドを実行してSwarmの状態を観察するとなにに時間がかかっているのかがわかる。
f:id:hat0xAA:20190803105227j:plain
タスクトレイの「s」マークをダブルクリックすれば
f:id:hat0xAA:20190803105244j:plain
Swarmツールが開く。

公式のSwarmの説明
Unreal Swarm | Unreal Engine Documentation