$shibayu36->blog;

クラスター株式会社のソフトウェアエンジニアです。エンジニアリングや読書などについて書いています。

はじめてのライトベイク挑戦 - clusterの推しアバター展示場のライトを調整しました

自分の推しアバター展示場の部屋の隅が暗くて悲しいなーと思っていた。そこでライトのことを学習して、はじめてのライトベイクに挑戦をしてみた。

対応したワールドは以下のリンクから入れるので、良ければ入ってみてください。

cluster.mu

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からのようだ。

まとめ

このような手順ではじめてのライトベイクに成功した。結果としてアバター展示の周りの壁もちゃんと明るくなり、少しアバター商品が見やすくなったんじゃないかなと思っている。