ShadeTex(影テクスチャ)について
このページは
3Dカスタム少女で使用されるテクスチャの一種である、ShadeTex(影テクスチャ)についてのページです 
ShadeTex(影テクスチャ)とは
物体の表面が何色であるかを決定するテクスチャ二種の内のひとつです。 
決まった呼び名はありませんが、影テクスチャとかShadeTex(cgfxShaderファイルのShadeTexという項目に書かれているので)などと呼ばれます。 
以降、本ページでは影テクスチャと表記します。 
ポリゴン面の各ピクセルが何色であるかは、次の計算によって決定されます。 
(テクスチャ * ColorBlend * 0.1) * (影テクスチャ * ShadeBlend * 0.1) * ハイライト * HighLightBlend * 0.1 
テクスチャ画像から各ピクセルへの割り当ては、テクスチャの場合UVによって、 
影テクスチャの場合光線ベクトルとポリゴン面の法線ベクトルとの角度によって決まります。 
※ここわけわからんですが、このページの主題ではないので流します 
影テクスチャの仕様
影テクスチャには通常、縦16ピクセル、横256ピクセルの画像ファイルが用いられます。 
しかし実は、このファイルのほんの一部のデータしか、影テクスチャとして使われません。 
画像ファイルのうち、 
•最も左のピクセルが「一番暗い」色として使われます 
•左から193個目のピクセルが「一番明るい」色として使われます 
•左から194個目以降のピクセルは使われません 
•上から8個目のピクセルだけが使われ、他は使われません
これらの仕様を理解することで、意図したものにより近い質感を与えられます。 
影テクスチャと法線ベクトルについて纏めてみました 
※以下の解説ではシェーダ設定を 
string technique = "AllAmb_ShadowOff"※新テク追加technique 
float Ambint = [50] 
に変更したシェーダ設定ファイルを使用しています。 
影テクスチャ 
3Dモデル 
3Dモデルに影テクスチャを貼付ける場合、まず各面の法線ベクトル(面の向き)から、各面の色が決定されます。 
影テクスチャは、光の方向に対して0度〜180度の角度毎に使用される領域が決まっており、上図のテクスチャの場合は 
左端から0度、右端で180度となっています。 
ポリゴンの面(頂点)にはその向きを表す法線ベクトルがあります。 
上図の円柱の各面の法線ベクトルは以下の様になります。 
※各角度は光の方向に対しての角度です 
円柱の各法線ベクトルから、その角度に対応する影テクスチャ上の色がピックアップされ、各面の色(影)が決定されます。
ここで、円柱が接続された面で構成されていた場合は、面と面の間の法線ベクトル(影の色)が補完されます
実際の描画結果はこの様になります。 
※シェーダ設定の「string technique = "AllAmb_ShadowOff"」は、影テクスチャの全域(横)幅をモデル全域(光方向)幅と同じ長さに変更するもの。表示には新テクMOD(toonshader2.tah)が必要となります。 
また「float Ambuent = [50]」に設定する事で影テクスチャ全域を無駄無く適用する事が出来ます。 
※影テクスチャは適用出来る幅が広ければ広い程影の解像度が高くなり、結果的に奇麗なシェーディングを得る事が出来ます。 
グラデーション系の影テクスチャを使用する場合はこの傾向が顕著に現れる様です。
最終更新:2015年05月06日 09:49