【UE4】PIEだと大丈夫なのに、スタンドアローンやパッケージでCPUがぶんまわる
始めてプロジェクトをパッケージ化して実行したら、CPUの使用率が40%ほどになって驚きました。
何もアクターを配置していないUMGだけのレベルでした。
コンソールコマンドの「stat unit」で各処理の処理時間がわかるそうなので実行
すると、上記のように表示されましたが、GAME部分もDRAW部分も問題なさそうでした。
※60FPSのゲームなら、1000ms/60フレーム=16フレーム以内に値が収まっていたらよいはず。
結論は
プロジェクトの設定/基本設定/固定フレームレートを使用 にチェックをいれると解決しました!
【UE4】スポーンアクターへのタグの付け方
SpawnのReturnValueからGetTagsを呼び出し、それにADDすればタグが設定できるようです。
タグを持っているかは、ActorHasTagで判定できるようです。
【UE4】レベルに依存しない処理を書く(GameInstance)
全レベルで共通の処理を記述することが出来るGameInstanceというものがあるらしいです。
似たようななんでも記述できるObjectはActorのスポーン処理が出来ません。
スポーン処理がしたい場合はGameInstanceが必須です。
GameInstanceを作成したら、プロジェクトの設定で「マップ&モード」からゲームインスタンスクラスに設定
※今回はGameInstanceMainという名前にしました
あとは、GetGameInstanceをキャストすれば自由に呼び出せます。
GameInstanceで呼んでも効果がなかった関数たち
これらはレベルブループリントに記述しましょう
ウィジット作成
マウスの表示
レベルに配置したカメラ制御