Persistent Levelの子要素のLevelでPlayerStartが機能しない。

タイトル: Persistent Levelの子要素のLevelでPlayerStartが機能しない。

親レベルであるPersistent LevelにPlayerStartをおくと機能するのに子要素であるLevelにPlayerStartをおいても機能せず。レベルの転移が出来ずに困っています。

Actorがゴールについたら、次の子レベルのPlayerStartの場所に移したいのですが、どの子レベルでもPlayerStartが読まれません。他のオブジェクトはしっかり読まれます。

World設定や、Project SettingsにおけるGameModeの設定は出来ているのですが、おそらくブループリントのFindPlayerStartがうまく機能していないようです。エラーは出ていません。読み込まれているかの確認のためのPrintStringは機能しているので途方に暮れております。

写真を添付いたします。

何卒どうぞよろしくお願いいたします。



こちらで試して見た限り問題は発生しませんでした。
以下を確認されてはいかがでしょうか?

  • 各PlayerStartが間違いなく各Levelに所属しているか
  • Stage2のロード前後でPlayerStartが存在するか(確認するため、全PlayerStartをログに出してみる)
  • FindPlayerStartで返ってきているActorは具体的に何でどこにあるか(エラーがでないということは何かしら返ってきている)DrawDebugSphereなどで位置を確認するなど
  • Unload Stream LevelをShouldBlockにしてみる
1 Like

ご返信誠にありがとうございます。
「全PlayerStartをログに出す」というところが自分で調べてもわからず教えていただくことは出来ますでしょうか?
自分でログというところを見てみたところ写真のようにwarningがみつかってもしかしてこれが原因かもと思っております。

ちなみにStage1でもPlayerStartは機能しません、Persistent Levelに置いたときのみ機能するような状態です。
わかったことは添付のようにAlways Loadedにすると転移は出来ませんでしたが、Stage1のPlayerStartもStage2も機能しました。つまり確かにそこにはあるのですが、Load Stream Level をするときにStageは呼ばれるが、PlayerStartだけが機能しないようです。

大変お手数で申し訳ありません。何卒宜しくお願い致します。


「全PlayerStartをログに出す」というところが自分で調べてもわからず教えていただくことは出来ますでしょうか?

例えば以下のPrintoutStartPointsのようなことです。

実行してPrintoutStartPointsでログをフィルタするとこのようになります
image
画像で見切れていますが、Test_SubLevel2のLoadStreamLevel後にもう一度PrintoutStartPointsを実行しているので、その分がログに出ています。

ログに出ている各PlayerStartの所属Levelは以下の画像の通りです(Actorの所属LevelはOutlinerのカラム部分を右クリックして出るメニューから表示追加できます)
image

自分でログというところを見てみたところ写真のようにwarningがみつかってもしかしてこれが原因かもと思っております。

こちらでは出ていないので確かにこれが原因かもしれませんね。
とりあえずサブレベルだけ最小構成(PlayerStartだけの状態)で新規に作り直して検証されてはいかがでしょうか?
※ちなみに自分がやったLevelの作り方は、ContentBrower上でCtrl+Nを押してEmptyLevelをCreateしました。
それでも駄目ならPersistentLevelも新規作成して検証を進めてみると宜しいかと思います。

1 Like

ご返信ありがとうございます!

参考にしながら色々やってみたのですが、知識不足でうまくいきませんでした。
新規作成で一から作ってもPlayerStartだけ読み込まれません。おそらく非常に簡単なところで間違っているのだとおもいます。

今回は、サブレベルで移行をあきらめて、すべてレベル移行で作りたいと思います。レベル移行だとうまく行きました。

ご親切に教えていただいて誠にありがとうございました。
また教えていただけたら嬉しいです。ありがとうございます。

了解しました。
一応こちらの検証プロジェクトを貼っておくので、時間のあるときに確認してみてください。
HEAD_.zip (165.5 KB)
シーンロードなど処理はB_GMに書いてあります。
単純化のためDelayを挟んでシーンを順番にロード・アンロードするだけのものです。

1 Like