「公式サイトのチュートリアルどおりにやったのに思ってた影と違う!」
「ここに影が出てない!」
なーんてこと、まれによくあるよねぇ(欧米通販風)
そしていつしかライトマップの存在自体を記憶のすみに追いやってしまう...
それはもったいないので、最低限この設定やればライトマップはベイクできるチェックリストを作りました。
ベイク前
モデルの Generate LightmapUV にチェックが入っているか
プロジェクトビューを開き、アセットストアからダウンロードしたモデルや、インポートしたFBXを選択します。
その状態でインスペクタビューを見てみると、Generate Lightmap UV という項目があるのでチェックを入れます。
この設定は、影を形作るオブジェクト(ライトが当たるオブジェクト)のみに設定すれば、影が作られるようです。
GameObjectがstaticになっているか
シーンビューシーンビューで、影を形作るオブジェクトと影を映すオブジェクト両方 を選択してインスペクタビューを見ましょう。
右上にStaticというチェックボックスがあるのでチェックを入れます。
MeshRendererのCastShadow, ReceiveShadow にチェックボックスは入っているか
影を作りたいモデルのオブジェクトの中に、MeshRenderer コンポーネントか SkinnedMeshRenderer コンポーネントがあると思います。ないと影が出ぬ。探せ。
その中の Cast Shadows, Receive Shadows にチェックを入れましょう。
ライトが影を作りたいオブジェクトに当たっているか
Culling Maskなどでライトが当たらない設定になっていないか確認しましょう
ライトのShadowType が設定されているか
"No Shadows" 以外の何かにしましょう。
ライトのBaking設定がされているか
Realtime 以外の何かにします。
Bakedの場合は焼き付け専用のライトになり、Mixedにするとstaticでないオブジェクトにはリアルタイムライトとしてふるまいます。
以上の設定が終わったら、メニューからLightingビューを開きましょう
Auto Generate にチェックボックスが入って入っていれば、すでに影は焼けておる!
ベイク後確認
影を投影できるシェーダーか
ベイク時に影を映せないシェーダを使っていても、ベイク後に影を映せるシェーダにすれば影が映ります。デフォルトのシェーダならUnlitとかじゃなきゃ大体出ます。
さあ焼けあんたも今すぐ焼け!