【Unreal C++】 ⑧Level Streaming 【UE4】
C++でLevel Streaming 使うときにちょっと躓いたのでメモ。
BPでのLevel Streamingは以下を参考に。
unrealengine.hatenablog.com
詳しくは以下に書いていますがロード後にすぐ表示しているので、今回はロード後すぐに表示しないパターンを書いておきます。
docs.unrealengine.com
ロード
ロード後すぐに表示しないパターンにするため
第3引数・・・読み込み後に表示を行うかどうか
第4引数・・・同期読み込みを行うかどうか
を両者ともfalseにしました。
docs.unrealengine.com
[UE4] レベルストリーミングについて|株式会社ヒストリア
マップ(サブレベル)表示
BPと大体同じで
第1引数・・・表示非表示をいじりたいマップ
第2引数・・・表示非表示のフラグ
UFunctionLibrary::beVisibleMap(MapName, true);
アンロード
関数については以下を参考に。
docs.unrealengine.com
マップ(サブレベル)非表示
UFunctionLibrary::beVisibleMap(MapName, false);
Tips
マップの遷移で分岐があったので2つのマップを同時にロードする必要があり、FLatentActionInfo型の変数を2つ用意するだけでいいのかなと思ったのですが、1つだけしかロードされませんでした。
調べてみると、UUIDで識別しているみたいで2つの変数に別々のUUIDを与えてあげることで2つロードすることができました。
ちなみにUUIDのデフォルトの値は-1みたいです。