clusterのSubSceneで迷ったところ
どうもこんにちは、雰囲気でUnityを触っているCHiHAYAです。
こちらの記事を参考にclusterでワールドを分割して軽量化を行おうと思ったところ、いくつかつまづいた箇所があったので備忘録です。
空のGameObject に SubScene コンポーネントをアタッチしようとしたところ出てきた謎の文字
Adding component failed. Add required component of type ‘BoxCollider’ or ‘CapsuleCollider’ or ‘CharacterController’ or ‘MeshCollider’ or ‘SphereCollider’ or ‘TerrainCollider’ or ‘WheelCollider’ to the game object ‘GameObject’ first.
解説→上記は「今つけようとしているコンポーネントは、Colliderが無いと付けられません」と表示されている
原因→「必ずSubSceneコンポーネントより先にコライダーをアタッチしてください」と元の記事に書いてあるのに、先頭しか読まずSubSceneコンポーネントを付けようとした。
空のGameObject の下にBOXコライダーを入れたCUBEを配置したのに、上記同様のエラーが出る
解説→コライダーはSubSceneコンポーネントを入れたいオブジェクトに入れる事
DespawnHeightはワールドに1つ配置されている必要があります。現在配置されているDespawnHeightの数は 0 です
メインシーン以外がActiveになっているので、SpawnPointEntrance、DespawnHeightが入っている入り口用のシーンをアクティブにする。
シーン2に移るためのオブジェクトが出てこない
シーン1からシーン2に移るためのSubSceneコンポーネント入れたオブジェクトは、シーン1に置く事
シーン1からシーン2に移り、しばらくするとシーン2の部分が消えてしまいリスポーン位置に戻ってしまう

シーンの読み込みは上手く行ったのですが、上記の×の部分で足場がなぜか消えてしまいます(時間経過で)
Cluster Creator Kit ドキュメントSubScene コンポーネントより
https://docs.cluster.mu/creatorkit/world-components/sub-scene
SubScene コンポーネントを使うと、常にロードされているシーン(メインシーン)と、プレイヤーがある領域内にいる場合のみロードされるシーン(サブシーン)から構成されるワールドを作成できます。 SubScene コンポーネントについた Collider 内にプレイヤーがいる場合、指定したシーンがロードされ、そうでない場合、そのシーンは破棄されます。 このロード状況はプレイヤーによって異なります。
解説記事の「SubSceneを複数扱う」で、こちらの内容が解説されているのですが、よくわかっていませんでした。
→SubSceneはスイッチのオブジェクトではなく「範囲指定のオブジェクト」
ふとした疑問
まだテスト段階なので、これでどれだけ軽量化出来るか不明。
足場をシーンごとに入れ替えてしまうと、事故が起こりそうなので、ワールド自体はメインシーンに置き、設置物等はサブシーンに入れて「遠方のオブジェクトは描画しない」という使い方がメインになりそう。
clusterの公式のイベント(バーチャル六本木)などもワールド分割されるので、てっきりこの技術を使われているのかと思いましたが、SubSceneではほぼ遅延なく読み込まれるので、それとは別なんですね。
