#はじめに
こんにちは、ZeniZeniです。
最近はVRChatなりClusterなりが有名になり、Unityを使ってワールドを作る人が増えていると思います。
そんなワールドづくりには必須の工程、LightのBakeがあります。
ただこの工程割と躓くポイントが多いと思います。(影がBakeされなかったり特定のオブジェクトだけLightがBakeされなかったり…)
この記事ではその躓きポイントというか気をつけるポイントをまとめてみました。
またこの記事ではLightingの最適化に関わる話はしません。
影の描画方法(ShadowMaskとかSubtractiveとかの)や反射光については別記事を参照してください。
#確認場所
今回はUnity2019.4を用いて説明します。
異なるバージョンだと設定項目の名前や場所が変わっていると思いますので気をつけてください。
##Lightingウィンドウ
Unity EditorのWindow->Rendering->Lighting Settingsから開くことができます。
環境光の調整や、LightのBakeをどれくらいの精度で行うかの設定をします。
ここのMixedLightingの設定がオフになっているとBakeができません。すぐにオンにしましょう。
ここがオフになっていると、LightコンポーネントのModeでBakedやMixedが下図のように選択できない状態になっています。
##Qualityウィンドウ
Unity EditorのEdit->Project Settings->Qualityから開くことができます。
リアルタイムに描画するライトの数や影の描画方法、精度を設定します。
##Lightコンポーネント
光源です。
ここのmodeがMixedかBakedになっているか確認してください。なっていないとBakeができません。
またShadow TypeをHard ShadowsかSoft Shadowsにしてください。No Shadowsになっていると影がBakeされません。
(光だけならNo ShadowsでもBakeされます。)
##MeshRendererコンポーネント
光や影を受ける物体です。
ここのLighting項目で、Cast ShadowsをOffにしているとこの物体の影が生成されません。Onにしましょう。
またReceive Shadowsをオンにしないと影がこの物体にBakeされません。オンにしましょう。
##fbx Import Settings
Projectウィンドウのfbxファイルを選択するとInspectorに表示されます。
これ一番気づきにくいと思うんですが、ここのGenerate Lightmap UVsをオンにしないとこのfbxを使っている物体に光も影もBakeできません。Realtimeのライトの影響は受けるのがほんと紛らわしいんですよね。
##Lightトグル
これはSceneビューだけの影響ですが、ここのトグルがオフになっているとSceneビューではLightの影響を受けない画面になります。
まだLightのBakeを一度もしてない場合は光に当たっていないところは真っ暗で作業しにくいので、オフにしておくと便利です。
#おわりに
とりあえず僕が思いつく限りのことを書いてみました。
もしかしたら他にも原因はあるかもしれません。
もしありましたら編集リクエストかコメントを飛ばしてくださると嬉しいです。