UnityでClusterワールドを作るときにつまずいた点

2023年10月28日技術開発

概要

「Cluster」(クラスター)というメタバースプラットフォームでは、ワールドをUnityで作ることが出来ます。ただ、Cluster特有の設定や機能があるので気づいたときに随時更新しています。

PCで白っぽくなる/スマホで真っ白になる

オブジェクトが白っぽくなる原因は、ClusterではUnityよりも光の反射が強く出ているのが原因のようです。

自作のマテリアルが適用できるモデルの場合

マテリアルの「スペキュラーハイライト」「リフレクション」のチェックを外すことで光の反射を無効にすることができます。

マテリアルが修正出来ない場合

Shaderを「Sprites/Default」に設定すると反射のないシェーダーに設定できます。

ライトが近づかないと反映されない

Unityでは一度に描画できるリアルタイムライトの数に制限があるのが原因です。

Unity単体で動かすときの対策

ピクセルライト数(一度に描画できる数)を増やすことでパカパカと反映したりされなかったりするのを修正することが出来ます。

編集 → プロジェクト設定 → 品質 → ピクセルライト数

Clusterにアップロードする場合

Clusterではピクセルライト数が2個に限定されています。なので3個以上ライトがある場合はベイクしないと常に反映されません。
Unityの設定でピクセルライト数を2にしておくとClusterにあげたときの挙動がUnity上で確認出来ます。

ベイクが反映されない

↓ここのサイトでつまづきポイントを丁寧に説明されています。
fbx Import SettingsのGenerate Lightmap UVsのチェック漏れが盲点でした。

VRMはこれらの設定では調整できないので、適用されているマテリアルの「Lighting >> Advanced Setting >> GI Intensity」で調整する。

ベイクの生成に時間がかかる

まずは低い解像度でベイクしてみて確認すると効率がいいです。

テスト用ライティング設定