自分の推しアバター展示場の部屋の隅が暗くて悲しいなーと思っていた。そこでライトのことを学習して、はじめてのライトベイクに挑戦をしてみた。
対応したワールドは以下のリンクから入れるので、良ければ入ってみてください。
before / after
調整前の様子。部屋の場所によっては次の画像のように暗くなっていてアバター展示として申し訳なかった。
調整後の様子。どのアバター展示も同じようにライトが当たるようになったので、部屋の場所によらずよく見えるようになった。
やっていったこと
まずライトについては以下の資料を参考にさせてもらった。今回はライトがclusterの制限の2を超えてしまうためライトベイクの記事がとくに参考になった。
次の手順で対応していった。
- 部屋のオブジェクトについて、全選択してStaticの状態にする
- 展示場所にライトを配置し、自分で作成したDisplaySet prefabの中に入れて全反映
- Point LightをBakedに変更する
- Progressive GPUでライトベイク
部屋のオブジェクトについて、全選択してStaticの状態にする
ライトベイクしたいオブジェクトを全て選択してStaticの状態にしていく。これは先に選択してStaticのチェックボックスをONにすれば良いだけだ。
展示場所にライトを配置し、自分で作成したDisplaySet prefabの中に入れて全反映
アバター展示ごとにPoint Lightを設置したい。アバター展示はDisplaySetという名前でprefab化しておいたので、
- まず1つのアバター展示を選んでPoint Lightを設置し調整
- 良さそうになったらprefabの中にライトを入れて全反映
という流れで行った。
まずこんな感じでライトを設置し、ライトの場所や設定を調整する。
その後Apply to Prefabをすれば一気に反映できた。
最終的な様子。各展示ごとにライトが設置できた。
Point LightをBakedに変更する
Window > Rendering > Light Explorerで一括でライトのモードを変えられるので、Directional LightはMixedに、Point LightはBakedに変更する。
Progressive GPUでライトベイク
ここまででオブジェクト側のベイクの事前準備はできた。最後にWindow > Rendering > Lightingからライトベイクを実行する。今回はLightingの設定は変えずにProgressive GPUでGenerate Lightingした。
記事によるとProgressive CPUの方が品質が良いとのことであったが、2021.3.4f1バージョンだとApple silliconのMacに対応してなかった!Progressive GPUはPreview状態のようだが、仕方ないのでこちらで実施した。
ちなみにUnity EditorのCHANGELOGの検索をかけると、Progressive GPUがGAしたのは2023.2.0f1からのようだ。
まとめ
このような手順ではじめてのライトベイクに成功した。結果としてアバター展示の周りの壁もちゃんと明るくなり、少しアバター商品が見やすくなったんじゃないかなと思っている。