FastShadowReceiver/Projector/Multiply
FastShadowReceiver/Projector/Multiply Without Falloff

これらのシェーダーはStandard Assets (Projectors)に含まれている“Projector/Multiply Shadow”シェーダーに似ています。違いは、影の濃さを調節するためのプロパティ“Shadow Darkness”を持っていることです。

“FastShadowReceiver/Projector/Multiply”は“Projector/Multiply Shadow”と同じようにFallOffテクスチャを持ち、影の距離に応じて影を薄くすることができます(下の左図)。一方の“FastShadowReceiver/Projector/Multiply Without Falloff”はFallOffテクスチャを持ちません。そのため、このシェーダーの方が他のシェーダーに比べて高速ですが、遠いところにある影を薄くすることはできません(下の右図)。

screenshot-multiply screenshot_multiply_nofalloff

 

FastShadowReceiver/Projector/Multiply Diffuse
FastShadowReceiver/Projector/Multiply Diffuse Without Falloff

これらのシェーダーはディフューズライティングと同じように法線ベクトルの向きを考慮して影を描画します。そのため、影はよりリアルになり、オブジェクトの背面に影が描画されるという問題も回避することができます。

これらのシェーダーは法線ベクトルを使うので、MeshShadowReceiverを使っている場合は‘Has Normals’プロパティにチェックを入れるのを忘れないでください。

screenshot_multiply_diffuse screenshot-multiply_diffuse_nofalloff

 

FastShadowReceiver/Projector/Multiply Lightmap Subtractive Shadow
FastShadowReceiver/Projector/Multiply Lightmap Subtractive Shadow Without Falloff

これらのシェーダーは混合ライティングの Subtractive モードで使います。このシェーダーで投影された影はライトマップの影と混合されて、影が2重になるのを防ぐことができます。

Subtractive モードでは、1枚のライトマップに直接ライティングと間接ライティングの両方の影響が含まれてしまうため、直接ライトがどれくらい影で遮蔽されているかの情報を得ることができません。そのため、Ambient Colorプロパティに最も暗い場所の影の色をセットする必要があります。

これらのシェーダーを使う場合は、Mixed Lightmap Blob Shadow Projector も参照してください。

 

FastShadowReceiver/Projector/Multiply Lightmap Shadowmasked Shadow
FastShadowReceiver/Projector/Multiply Lightmap Shadowmasked Shadow Without Falloff

これらのシェーダーも上の2つのシェーダーと同じ機能を持ちますが、混合ライティングの Shadowmask モードで使います。

Subtractive モードとは違い、ライトマップは間接ライティングの情報しか持たないので、Ambient Color プロパティをセットする必要がありません。

その代わり、Shadowmask Channel プロパティを指定する必要があります。なぜなら、R, G, B, Aの4チャンネルを使うことで、一枚のシャドウマスクに最大4本分のライトの影を焼き込むことができるからです。このプロパティのデフォルト値は (1, 0, 0, 0) となっていて、Rチャンネルのみを使うようになっています。

これらのシェーダーを使う場合は、Mixed Lightmap Blob Shadow Projector も参照してください。

 

FastShadowReceiver/Projector/Multiply Diffuse x Shadowmask
FastShadowReceiver/Projector/Multiply Diffuse x Shadowmask Without Falloff

これらのシェーダーは上の Shadowmask モード用のシェーダーの簡易バージョンで、影の描画でシャドウマスクテクスチャしか使わないため、他の混合ライティング用のシェーダーに比べて影の描画が高速になります。しかし、通常は Subtractive モードの方が全体的に見ればパフォーマンスがよくなるので、これらのシェーダーは混合ライティングで Shadowmask モードを使う必要があるけど、影の品質にはあまりこだわらないというような場合にのみお使いください。

また、影の計算でライトマップを使わないので、Ambient プロパティを使って影の濃さを調節する必要があります。

これらのシェーダーを使う場合は、Mixed Lightmap Blob Shadow Projector も参照してください。

 

FastShadowReceiver/Projector/Visualize Receiver

このシェーダーはデバッグ用のシェーダーで、Projectorから投影される影を受け取っているオブジェクトに色をつけて描画することができます。

screenshot_visualize

 

FastShadowReceiver/Projector/Light x Shadow

このシェーダーはライトを投影するのに使います。ライトに加えて影を投影することもできます。影を投影するにはLight Projector Shadow ReceiverコンポーネントをライトのProjectorオブジェクトに、Light Projector Shadow Casterを影の元になっているオブジェクトに追加する必要があります。
screenshot-lightxshadow

Links

コメントを残す

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

Anti Spam Code *