LoadLevelInstanceで読み込んだレベルの読み込み完了処理について

バージョン:UE5.3

LoadLevelInstanceを使ってサブレベルを追加読み込みしています。
上記命令で読み込んだサブレベルに配置されているオブジェクトを取得したいのですが、
サブレベル内の全てのオブジェクトがロード完了になるタイミングの取得がうまくいきません。
戻り値で返ってくるULevelStreamingDynamic型の中にOnLevelLoadedやOnLevelShownなどのデリゲートはあるのですが、
どれも配置オブジェクトの読み込み前に呼び出されてしまいます。
サブレベル内のオブジェクトにアクセス可能になったタイミングを取得する方法はあるのでしょうか?

また今回の意図としては、
パーシスタントレベルを変えずにステージを切り替えるためにLoadLevelInstanceを使いました。
ですがあまり推奨されない方法なのでしょうか?

1 Like

各サブレベルにプレーヤー スタートを配置し、それにアクター タグを付けると、それが自分のものであることがわかります (システム生成のプレーヤー スタートもあるため)。

次に、「load_level_instance」を実行し、プレーヤーの開始が確認できるまで遅延ループで待機するだけです。

私はこれで十分に見つけました:)

1 Like

ありがとうございます! そういった方法もあるのですね!
ですが今回はマルチプレイヤーゲームを制作しているので、PlayerStartが複数個作られます。
複数PlayerStartの生成を待つために冗長なコードを書くことになるため、サブレベルと各オブジェクトの読み込み完了時に呼ばれるデリゲート(もしくはそれに近い命令)があればよいのですが…
(また、PlayerStart以外にも取得したいオブジェクトがあります)

ああ、申し訳ありませんが、マルチプレイヤーについては言及していませんでした。残念ながら解決策はありません:(

なるほど、別の方法を探してみるしかなさそうですね…
教えていただきありがとうございます!

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.