元記事(Ton Roosendaal氏)
Rampシェーダ
Material Rampシェーダ用Colorband
皮膚や金属にみられるように、現実世界の多くのシチュエーションでのディフューズとスペキュラ反射の色は、表面に受けるエネルギーもしくは光の入射角度を元にしたものとは、かすかな違いができます。
このような計算がシェーディングアルゴリズムの核にあるため、現在のBlenderのテクスチャシステムではこれを上手く表現することができません。
このBlenderの新しい"Ramp"オプションにより、Materialの色の範囲が設定可能になり、その範囲がサーフェスをどう変化させるのか、また、「実際の色(通常はMaterialもしくはTexureの出力)」とどうブレンドさせるかを定義できるようになりました。
BlenderのTexture計算はシェーディングの前に行われるため、RampシェーダはTextureもしくはMaterialカラーを完全に置き換えることができます。しかし、オプションとAlpha値の組み合わせにより、BlenderのMaterialに新たなシェーディングレイヤを作ることが可能になります。
ディフューズ
Rampシェーダパネルとディフューズの設定RampパネルはデフォルトではMaterialパネルのタブになっています。ここの上部にある二つのボタンで"Col"(ディフューズ)もしくは"Spec"(スペキュラ)のどちらかを表示することができます。
- "Colorband"ボタンを押すとRampシェーダの使用が可能になります。
- デフォルトでは2つの色が定義されており、一つめはAlpha=0です。ここのAlphaはMaterialの色に"Method"ポップアップにより定義される方法でブレンドされることに注意して下さい。
最下部の二つのポップアップボタンはRampの作用する方法を決めます。
Input
- Shader: この値は基本的なシェーディング方程式(LambertもしくはPhongのような)によって色が決定されます。ライトの光量は色には影響せず、ライトの方向だけが考慮されます。
- Energy: 上記と似ていますが、Lampのエネルギー(色、距離)が計算に入ります。これにより、ライトを多く照らせばMaterialの色が変化するようになります。
- Normal: (カメラに相対的な)サーフェスの法線がRampに使用されます。これはTextureでも同じことができますが、便利になるよう付けられています。
- Result: 上記三つすべてのオプションはLampについて作用しますが、このオプションはすべてのシェーディング計算の最後にのみ行われます。これにより'Toon'形式を含む、シェーディング全体の完全なコントロールが可能です。Materialの最終的なタッチの調整には、ここのAlpha値を使用するのが最も便利です。
"
Method"メニューにはブレンドタイプを表す4つのオプション、"Mix(混合)"、"Add(加算)"、"Mult(乗算)"、"Sub(減算)"があります。
最後のボタン、"
Factor"はRamp作用の全体的な影響度を表します。
色が自身のシェーディング計算を元に変化(lambertのような内積計算) |
色がエネルギーを受けた量により変化(シェーディング+光量) |
色が視野と法線により変化。 |
色がシェーディングの最終結果により変化。 |
スペキュラ
スペキュラRampの設定スペキュラRamp用のボタンとオプションも上記の"Color"Rampのように動作します。
色が自身のシェーディング計算を元に変化(Phongのように) |
色がエネルギーを受けた量により変化(Phong+ライト) |
色が視野と法線により変化。 |
色がすべてのスペキュラシェーディングの最終結果により変化。 |
@ner氏作