注意: Unity 5 ではこのシェーダーは スタンダードシェーダー へと置き換わりました。
このシェーダーの考慮点はベーステクスチャのアルファチャネルが透過領域および Specular Map (透過マップ)を定義することです。
注意: Unity 5 ではこのシェーダーは スタンダードシェーダー へと置き換わりました。
このシェーダーは、メインのテクスチャのアルファチャネルを読み取って、メッシュ形状の一部あるいはすべてを透過にできます。アルファにおいて 0 (黒)は完全に透過であり、255 (白)は完全に不透明です。メインテクスチャにアルファチャネルがない場合、オブジェクトは完全に不透明に表示されます。
ゲームで透過オブジェクトの使用は工夫が必要で、昔からグラフィックスプログラミングでよくある落とし穴として、ゲームの実行中に並び順で問題が発生するかもしれません。例えば、重なった 2 つの窓からみた視界がおかしな結果になるケースは、透過の使用の場合に昔から発生する問題です。一般論として、一定の条件下で、透過のあるオブジェクトは別のオブジェクトの前に不自然に描かれるかもしれないことを把握する必要があります。特にオブジェクトが交差していたり、何かを囲っていたり、サイズが大幅に異なるものがある場合、などで発生します。この理由から、透過オブジェクトは必要な時だけ使用し、過剰に使用しないことです。デザイナーとも透過の問題が発生しうることを認識をあわせ、いざという場合にはデザイン変更する準備を整えて、この課題を回避すべきです。
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 スライダーで制御されます。
これに加えて、メインのテクスチャのアルファチャネルは鏡面マップ(時々“Gloss Map”とも呼ばれます)として動作し、オブジェクトのどの領域が他の部分より反射するか定義します。アルファの黒い部分は鏡面反射が 0 となり、白い領域は完全な鏡面反射となります。これはオブジェクトの異なるエリアで鏡面の反射レベルを変更したい場合に便利です。例えば、錆びた金属などは低い鏡面性を使用し、磨かれた金属は高い鏡面性を使用します。口紅は肌よりも鏡面性を高く、肌は綿の服よりも鏡面性を高くします。良くできた鏡面マップはプレイヤーを関心させるのに大きな違いを生みます。
一般に、このシェーダーはレンダリングが高価です。詳細については Unity シェーダーのパフォーマンス を参照してください。