UE4.9を使っていて、BSPブラシをスタティックメッシュに変換するという使い方ができるのですが、これを使ってスタティックメッシュを使おうとした時にライティングビルド時にライトが反映されないという症状が起きます。
なぜか反映されない
UE4.9を使ってて、床と同じマテリアルを適用している左側のスタティックメッシュになぜかライトがベイクされない。左のスタティックメッシュはBSPブラシから変換したもの。BSP自体がおかしい?#UE4Study pic.twitter.com/ELzBOCQofl
— alwei (@aizen76) 2015, 10月 6
なぜかスタティックメッシュの横にポイントライトを置いてライティングビルドを行なっても反映されません。
ちなみにこの時スタティックメッシュの可動性は"スタティック"でポイントライトは"ステーショナリー"になっています。
試しにポイントライトを"ムーバブル"にした時には当然ですが、ライティング自体は行なわれます。
対処法
調べてみると、BSPブラシから生成されたスタティックメッシュは自動的にライトマップUVを生成しているものの、使用するライトマップ座標インデックスが"0"を指定しており、自動生成されるライトマップのインデックスは"1"になっています。
参考
LightingTroubleshootingGuide - Epic Wiki
つまりこの"Light Map Coordinate Index"を0から1に変更するだけで正常なライトマップUVチャンネルを参照する事が出来るようになります。
昨日ハマってた問題が解決できた。BSPから作成したスタティックメッシュを開いて、Light Map Coordinate Indexを1に。ライトマップUVは自動生成にしておく。これでライトベイクできる。#UE4Study pic.twitter.com/UvTbfaaUCg
— alwei (@aizen76) 2015, 10月 7
生成されるライトマップUVチャンネルのインデックスには注意しましょう。地味にハマりやすいので頭のどこかで覚えておくといいと思います。