ライトベイク、日常のUnityでは使わないのですが、仕事でここぞという場面だけ使うので、どうしても忘れてしまいます。
せっかくなので今日(2026/1/21)から躓いたことをどんどん追加していこうと思います。
参考になれば幸いです。
Unity2022.3.22f1、Bakeryを使用しています。
間違いなどの指摘は大歓迎です。
原因を見つける
たとえば、うまくベイクされてない状態になったとする。
光を受けるオブジェクト側か、光が悪いのか、原因がわからないとき。
Directional Lightを追加して、思い切って赤色にしてみる。
そしてベイクする。
もし赤くなったら光が悪い。赤くならなかったら邪魔してるものがいるか、光を受けるオブジェクトに問題がある。
1.オブジェクトが悪いとき
Staticにしていない
さすがにないだろう…と思いつつも一応書いておく。
ベイクは「動かないものなんだから事前に光を計算できるだろう」という
コンセプトだから、Staticのオブジェクトしか反映されない
基本的にはオブジェクトをStaticにする。
透明な壁がある
おそらくマテリアルが透明になっているオブジェクトが邪魔をしている。
そのオブジェクトのMeshRendererなどでCast ShadowsがOnになっていたら確定。
Offにして再度ベイクしてみる。
2.光が悪いとき
Lightコンポーネントの設定ミス
LightコンポーネントのModeがMixあるいはBakedになってない。
3.変なバグ
キャラの顔にすごい影ができるとき(お化けみたいになる)
LightProbeGroup
3Dキャラクターの目とかは、引っ込んでるからStaticにすると影を受けやすい。
receive shadowをoffにしてもそんなに変わんないと思う。
キャラとか複雑なオブジェクトはなるべくStaticに入れない(そもそも動くキャラはStaticじゃない)
でも光を受けられないじゃん!→ LightProbeGroupを追加する
Staticじゃないモデルは近くのLightProbeGroupの光の値を参照してライティングされる
だからLightProbeGroupの球で囲ってあげたら完璧。