ノート: Unity 5 ではスタンダードシェーダーが導入され、これらのシェーダーと置き換えられました。
ノート: Unity 5 では、このシェーダーに代わるものとして スタンダードシェーダー を導入しています。
このシェーダーはオブジェクトの明るい部分と暗い部分を定義することができます。補助的なテクスチャのアルファチャンネルを使用して、オブジェクトが光で照らされていないときも自ら “発光” する領域を定義します。このアルファチャンネルでは、ライトが 0 の場合は黒、オブジェクトが最大限のライトを放つ場合は白を使用します。シェーダーの照明には、シーンのライトによる照明が追加されます。オブジェクト自体がライトを放たなくても、シーンのライトによって照らされます。
Parallax Normal mapped (視差法線マップ) は通常の Normal mapped と同じですが、“深度” をより良好にシミュレーションできます。この追加の深度効果は Height Map (ハイトマップ) を使用して得られます。Height Map は法線マップのアルファチャンネルに含まれます。アルファにおいて、黒は深度が 0 であり、白は深度が最大値です。これは煉瓦や石で主に使用され、それらに見られるクラックをより良好に表現します。
Parallax mapping の手法は非常に単純ですが、アーティファクトや異常な効果が発生する場合があります。具体的には、Height Map での非常に急激な高低差の変化は回避するべきです。Inspector で Height の値を調整することもオブジェクトの歪みにつながり、不自然で非現実的に見える場合があります。この理由から、Height Map で緩やかな高低差の遷移状態を使用する、または Height スライダーを低い側に保つことを推奨します。
Specular (鏡面) は、Diffuse (拡散) と同様のシンプルな (Lambertian) ライティングに加えて、ビューアー依存の鏡面ハイライトを計算します。これは Blinn-Phong ライティングモデルと呼ばれます。表面の角度や、ライトの角度、ビューアングルに依存する鏡面のハイライト効果が見られます。ハイライトは実際にはリアルタイム表現に適した、光源のぼやけた反射をシミュレーションするための方法です。ハイライトのぼかしの度合いは、Inspector の Shininess スライダーで制御します。
これに加えて、メインのテクスチャのアルファチャンネルは鏡面マップ (“グロスマップ” と呼ばれる場合もあります) として動作し、オブジェクトのどの領域が他の部分より強く反射するかを定義します。アルファの黒色の領域は鏡面反射が 0 となり、白色の領域は完全な鏡面反射となります。これはオブジェクトの異なる領域で鏡面の反射レベルを変更する必要がある場合に非常に有効です。例えば、錆びた金属などは低い鏡面性を使用し、磨かれた金属は高い鏡面性を使用します。口紅は肌よりも鏡面性が高く、肌は綿の服よりも高い鏡面性を有します。良好に作成された鏡面マップについては、プレイヤーに与える印象の度合いが大きく異なる可能性があります。
一般的に、このシェーダーのレンダリングは高コストです。詳細については、シェーダーのパフォーマンスのページを参照してください。
SelfIllumParallaxSpecular