このシェーダの考慮点はベーステクスチャのアルファチャネルが透過領域およびSpecular Map(透過マップ)を定義することです。
このシェーダは,メインのテクスチャのアルファチャネルを読み取って,メッシュ形状の一部あるいは全てを透過に出来ます。アルファにおいてゼロ(黒)は完全に透過であり,255(白)は完全に不透明です。メインテクスチャにアルファチャネルがない場合,オブジェクトは完全に不透明に表示されます。
ゲームで透過オブジェクトの使用は工夫が必要で,昔からグラフィックス プログラミングでよくある落とし穴として,ゲームの実行中に並び順で問題が発生するかもしれません。例えば,重なった2つの窓からみた視界がおかしな結果になるケースは,透過の使用の場合に昔から発生する問題です。一般論として,一定の条件下で,透過のあるオブジェクトは別のオブジェクトの前に不自然に描かれるかもしれないことを把握する必要があります。特にオブジェクトが交差していたり,何かを囲っていたり,サイズが大幅に異なるものがある場合,などで発生します。この理由から,透過オブジェクトは必要な時だけ使用し,過剰に使用しないことです。デザイナーとも透過の問題が発生しうることを認識をあわせ,いざという場合にはデザイン変更する準備を整えて,この課題を回避すべきです。
Parallax Normal mapped(視差法線マップ)は通常のNormal mappedと同じであるが,デプスをより良くシミュレーションしています。この追加のデプス効果はHeight Map(高低マップ)を使用して得られます。Height Mapはノーマルマップのアルファチャネルに含まれます。アルファにおいて,黒はデプスがゼロで,白はデプスが最大値です。これは煉瓦や石で主に使用され間のクラックをより良く表現します。
Parallax mappingのテクニックは比較的簡単ですが,画像の乱れや異常なエフェクトが発生することがあります。具体的には,Height Mapでの急激な高低さの変化は避けるべきです。InspectorでHeightの値を調整することもオブジェクトの歪みにつながり,不自然で非現実的に見えることがあります。この理由から,Height Mapで穏やかな高低さの変化とすることと,Heightスライドバーを低い側に保つこと,を推奨します。
Specular(鏡面)はDiffuse(拡散)と同様のシンプル(Lambertian)ライティングを使用するのに加えてビューア依存の鏡面ハイライトを計算します。Blinn-Phongライティングモデルと呼ばれます。鏡面のハイライトは,表面の角度,ライトの角度,およびビューアングル,に依存します。ハイライトは実際にはリアルタイム表現向きの,光源からブラーのかかった反射のシミュレーションです。ハイライトのブラーの度合いはInspectorのShininessスライダで制御されます。
これに加えて,メインのテクスチャのアルファチャネルは鏡面マップ(時々“Gloss Map”とも呼ばれます)として動作し,オブジェクトのどの領域が他の部分より反射するか定義します。アルファの黒い部分は鏡面反射がゼロとなり,白い領域は完全な鏡面反射となります。これはオブジェクトの異なるエリアで鏡面の反射レベルを変更したい場合に便利です。例えば,錆びた金属などは低い鏡面性を使用し,磨かれた金属は高い鏡面性を使用します。口紅は肌よりも鏡面性を高く,肌は綿の服よりも鏡面性を高くします。良く出来た鏡面マップはプレイヤーを関心させるのに大きな違いを生みます。
一般に,このシェーダはレンダリングが高価です。詳細についてはShader Peformance を参照下さい。