ワールドパーティションの使用を検討しています。
このあたりあまり知識がなく、初歩的なことかもしれませんが質問させていただきます。
ワールドパーティションを使用したレベルで、ゲームを起動後(ランタイムで)アクターをスポーンしてレベル上に配置してみました。
自分の環境だと、ランタイムでスポーンされたアクターは常にロードされるていました。
つまり、ワールドパーティションによる自動のロード・アンロードの対象外になっているように見受けられます。
スポーンしたアクターもワールドパーティションのロード・アンロードの仕組みに乗っかりたいのですが、そういうことは可能でしょうか?
ご存じの方がいらっしゃいましたら教えてください。
よろしくお願いします。
nyakagawan
(nyakagawan)
2
ワールドパーティションのことはよくわかりませんが、サブレベルにアクターが所属していないのが原因ではないでしょうか?
https://imoue.hatenablog.com/entry/2017/10/05/230317
KURAGEPRINCE
(Miyamoto Takamasa)
3
実際所属のレベルが原因かと思い、ワールドパーティション用のレベルにOwnerをワールドパーティションにスタティックに配置してあるアクターを指定してみたりはしています。
ちなみにこれが不思議な挙動をしました。
スポーンしたアクターがワールドパーティションの管理にならないのは変わらないのですが、Ownerとし指定したアクターまでもワールドパーティションの管理から外れるという挙動でした。
引き続き回答をいただきたいです。
nyakagawan
(nyakagawan)
4
ここを参考にWorldPartitionをセットアップしてみましたが、たしかにRuntimeでSpawnしたActorはCell内にあってもWorldPatationに管理されないようですね。
知識が無いので完全に推測ですが、結局そういう仕様なのかもしれません。
ユーザーが任意にSpawnしたActorはWorldPatationシステム側で勝手に削除、再作成(動的にSpawnするものは必要な初期化処理が推測できないので)しないのは納得はできます。
CellのLoad/Unloadをランタイムで検知できれば良いですが、自分がパッと見した感じでは見つかりませんでした(ちゃんと探したらあるかも)
あとはこのレベルインスタンスというのを使ってみると、通常のやりかたでLevelに所属してやれば自動でアンロードされるかもしれません(未検証です)