Version 1.5.0 より前の時は、プロジェクターで落とした影がライトマップに焼き込まれた静的な影と二重になって濃く見えてしまう問題がありました。

Version 1.5.0 になって、Mesh Shadow Receiver がライトマップ用の UV を持てるようになり、プロジェクター用のシェーダーでライトマップやシャドウマスクを使えるようになりました。その結果として、プロジェクターで落とした影がライトマップの影と重なっても濃くならなくすることができるようになります(下図)。

この機能を利用するには、いくつか追加でしなければいけないことがあります。

  1. Mesh Tree をビルドするときにライトマップ用の UV を含める
    Mesh Shadow Receiver が何番目のライトマップのどのエリアを使うかという情報は、Mesh Tree をビルドするときに埋め込まれます。そのため、ライトマップを再ベイクしてこれらの情報が変わってしまった時は、Mesh Tree も再ビルドする必要があるので注意してください。

Terrain Mesh Tree の場合はこれらの情報を持たないので、再ビルドの必要はありません。
    詳しくは、Mesh Treeの作成を参照してください.

  2. マテリアルを作成して、使用している混合ライティングモードにあったシェーダーを選択する

    Fast Shadow Receiverでは次の3つの混合ライティング用のシェーダーを提供しています。

    シェーダー名 混合モード パフォーマンスと品質
    Multiply Lightmap Subtractive Shadow Subtractive このモードではライトマップしか使わないので、もっともパフォーマンスが高い混合ライティングになります。しかし、影の色を決めるために Ambient Color プロパティを手動で調整する必要があります。
    Multiply Lightmap Shadowmasked Shadow Shadowmask このモードではライトマップとシャドウマスクを使うので、パフォーマンスが低くなりますが、ライトマップから影の色を決めることができるため、品質が良くなります。
    Multiply Diffuse x ShadowMask Shadowmask Shadowmask 混合モードで使える簡易バージョンのシェーダーです。このシェーダーは影の色を決めるのにライトマップを使わないので、影の描画は他のシェーダーに比べて速くなります。しかしシーンの描画ではライトマップを使うため、Subtractiveモードの方が全体的なパフォーマンスは高いでしょう。Ambient プロパティを手動で調整する必要があります。

    詳しくは、Projector用のシェーダーを参照してください。

  3. 上で作成したマテリアルを Mesh Shadow Receiver の ‘Projector Material For Lightmapped Mesh‘ にセットする。また、’Has Normals‘ にもチェックを入れる。(Shadow Receiverのセットアップ参照)

Links

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Anti Spam Code *