ワールドを作る上でのヒント
モデリング用のシーンを分ける
ワールドをアップロードするためのシーンとMeshBehaviourでモデリングするためのシーンを分けるのがお勧めです。
MeshBehaviourを直接ワールドに置いたものをソーシャルVRにアップロードしようとしてもおそらくうまくいきません。
- MeshBehaviourコンポーネントが刺さったままワールドをアップロードする場合、アップロードに失敗するか、少なくとも警告が出ると思います。
- MeshBehaviourでリアルタイムに表示されるメッシュはライトマップなどが省略されるため、ライトベイクに失敗します。
代わりに、MeshBehaviourからプレハブを出力した上で、ワールド用のシーンを作成し、出力されたプレハブをワールドに配置してください。
モデリング用のシーンにワールドのプレハブを置く
ワールドをプレハブ化したものをMeshBehaviourでモデリングするためのシーンに置いた上で、MeshBehaviourから出力したプレハブを非表示にすることができます。 こうすることで、ワールドへの小物の配置や位置の調整とMeshBehaviourを使った3Dモデリングを並行して行うことができます。
Nested Prefabを活用する
MeshBehaviourから出力したプレハブをPrefab in Prefabで配置したプレハブを作って、Lightコンポーネントなどの設定をすると簡単に設置できる明かりを作れます。
MeshProfileを適切に設定する
3Dモデルの大きさや使用目的に応じて、MeshBehaviourの MeshProfile を適切に設定してください。
LODのColliderレベルを活用する
LOD のColliderレベルを間引くことには以下のメリットがあります。
- メッシュコライダーの負荷が軽減されます。
- プレイヤーやピックアップが複雑な形状と衝突する際のガタつき感が軽減されます。
LODのColliderレベルを間引くには、例えば以下の方法があります。
- VertexProviderを配置してパスを構成している場合は、最初と最後、およびおおまかな形状を定義するための頂点を残した上で、中間のVertexProviderを
All Renderer
やLOD 0
に設定してください。 - PathSubdivisionやPathBevelなど、パスの頂点数を増やすモディファイアを利用している場合は、
All Renderer
やLOD 0
に設定してコライダーでは無効化してください。 - または、
All Renderer
用のパスとCollider
用のパスを別々に定義した上で、それらのパスをCompositePathに入れてください。RevolutionPathなどを利用している場合はこの手段を取ることになります。
一方で、 LOD 1
と LOD 2
は、普通の使い方においてはおそらく使う必要がないでしょう。