自己発光法線マップ拡散
自己発光視差拡散

自己発光法線マップ鏡面

注意: Unity 5 ではこのシェーダーは スタンダードシェーダー へと置き換わりました。

Self-Illuminated プロパティー

注意: Unity 5 ではこのシェーダーは スタンダードシェーダー へと置き換わりました。

このシェーダーはオブジェクトの明るい部分と暗い部分を定義することができます。二次的なテクスチャのアルファチャネルによりオブジェクトが、光で照らされていないときも、自ら“発光”する光を定義します。アルファチャネルにおいて、黒は光が 0 で、白は光が最大にオブジェクトから発光されてます。シーンにあるどのライトもシェーダーの照明にさらに照らされます。もしオブジェクト自身が光を発光しないとしても、シーンのライトにより照らされます。

法線マッププロパティー

Diffuse (拡散)シェーダーと同様のシンプル( Lambertian )ライティングを使用します。表面と光がなす角度が小さくなるほどライティングが弱くなります。ライティングは角度のみに依存し、カメラの移動や回転による変更の影響は受けません。

Normal mapping (法線マップ)は細かい表面のディテールを、ポリゴンの量を増やして詳細を削り出すのではなく、テクスチャにより表現します。オブジェクトの形状は変更しないが、Normal Map (法線マップ)と呼ばれる特殊なテクスチャを使用してこのエフェクトを得ます。法線マップでは、各ピクセルのカラー値は表面法線の角度を表します。次にこの値を形状の代りに使用してライティングを行います。オブジェクトのライティングを計算するにあたり、効果的に法線マップによってメッシュの形状の影響をオーバーライドします。

法線マップの作成

Unity 外で作成した法線マップをインポートすることができます。また、通常のグレイスケール画像をインポートし、Unity 内で法線マップに変換することができます。(ここでは、スタンダードシェーダーに取って代わられた旧シェーダーを説明します。詳細は、法線マップ)を参照してください。

技術的な詳細

法線マップは接線空間( Tangent Space )を用いた法線マップです。接線空間とはモデル形状の“表面に沿った”空間です。この空間において、Z 軸は必ず表面から離れる方向を指します。接線空間による法線マップは他の“オブジェクト空間”を用いた法線マップと比較すると効果ですが、いくつかの長所があります。

  1. モデルの変形に使用できます。つまり変形している平面において、バンプは維持され、正しく機能します。
  2. モデルの異なる部分に法線マップのパーツを再利用することができます、あるいは別のモデルに使用できます。

Specular (鏡面)プロパティー

Specular (鏡面)は Diffuse (拡散)と同様のシンプル( Lambertian )ライティングを使用するのに加えてビューア依存の鏡面ハイライトを計算します。Blinn-Phong ライティングモデルと呼ばれます。鏡面のハイライトは、表面の角度、ライトの角度、およびビューアングル、に依存します。ハイライトは実際にはリアルタイム表現向きの、光源からブラーのかかった反射のシミュレーションです。ハイライトのブラーの度合いは InspectorShininess スライダーで制御されます。

これに加えて、メインのテクスチャのアルファチャネルは鏡面マップ(時々“Gloss Map”とも呼ばれます)として動作し、オブジェクトのどの領域が他の部分より反射するか定義します。アルファの黒い部分は鏡面反射が 0 となり、白い領域は完全な鏡面反射となります。これはオブジェクトの異なるエリアで鏡面の反射レベルを変更したい場合に便利です。例えば、錆びた金属などは低い鏡面性を使用し、磨かれた金属は高い鏡面性を使用します。口紅は肌よりも鏡面性を高く、肌は綿の服よりも鏡面性を高くします。良くできた鏡面マップはプレイヤーを関心させるのに大きな違いを生みます。

パフォーマンス

一般的に、このシェーダーはレンダリングがやや高価です。詳細については Unity シェーダーのパフォーマンス を参照してください。

自己発光法線マップ拡散
自己発光視差拡散