[UE5] レベルBPに関するあれこれ
独自で用意したレベルBPクラスの利用方法
参考資料
手順
「ALevelScriptActor」を継承したクラスを用意。
アセットの親クラスを、用意したクラスに変更。
また、プロジェクト設定でデフォルトの設定を変更可能。
[エンジン - 基本設定 - Default Classes - LevelScriptActorClassName]
レベルBPの特定のイベントを呼び出す方法(RemoteEvent)
参考資料
やり方
BP に「RemoteEvent」関数があるのでそれを利用する。
void UHoge::RemoteEvent(FName EventName)
{
if (auto CurrentLevel = GetWorld()->GetCurrentLevel())
{
if (auto LSA = CurrentLevel->GetLevelScriptActor())
{
LSA->RemoteEvent(EventName);
}
}
}
C++ だとこんな感じ。
ただ「ULevel::GetLevelScriptActor()」は NULL が返ってくる事もあるかもしれないってドキュメントに書いてあるので注意が必要。
別レベルのイベントでも呼び出せる。
もしサポート頂けたら いつか個人開発をする時に使わせて頂きます!