2016年2月11日木曜日

sht_hair シェーダーを使ってみる

可愛いれいむをfaceRig用に作り直しているのですが
sht_hairという名前からして髪の毛用らしいシェーダーがありましたので使ってみました

要素は以下四つ
diffuse("d")
normal("b")
specular("s")
anbient occlusion("ao")

diffuse及びnormalは通常通りでしたので省略
specular("s")用のテクスチャーを作ります

Red channel
さて公式マニュアルにはこの一文があります
-The red channel of the specular texture is not used, it should be set at 255 default value.
「スペキュラテクスチャのR channelは使わないから255にしとけ」

では比較
私はもうこの駄マニュアルは参考程度にしか信じません

Green channel
-used to set values for different materials,from 0 for hair and cloth,to 255 for other material types(metal,plastic,etc).
0は髪や服、255はその他

比較
違いがわかりませんので0にしておきました

Bule channel
-used to specify areas of object that remains unaffected by lighting resulting in a light emitting effect when placed in the shadow (glow in the dark effect), 0 for non emissive and 255 for full emissivity.

とりあえず0にしてみると
禿げる

嫌味か貴様ッッ

禿げるというかカメラから遠い谷になっている部分が透けるようなよくわからない挙動です
25%でも所々禿げ散らかし、50%だと何も無し
一部変形もおこっていますので何か別の用途でしょう
とりあえずemissiveじゃありません

よくわからないので禿げ散らかさないように適当に
Alpha channel
-gives information about the Specular Power 0 for no specular 255 full specular.

テストしてみると
影の部分では変化が無いのでスペキュラーの強さではなく光の影響を制御するようです
明確に境目が出てますので何かしら変わるんでしょうけど正直違いがわかりません

よくわかりませんが境目がでるように適当に濃淡をつけました

結果
faceRigは光が物凄く強い背景がありますので抑えめにしました


次にanbient occlusion("ao")を
通常の3Dだと嘘影用に使われる皆大好きなアレです
駄マニュアルにはこうあります
-The ambient occlusion textur is interpreted like this:
Red channel: Not used, 255 default value.
Green channel: Direct light Attenuation 0 means no direct light (only ambient and radiosity) 255 full direct light intensity.
Blue channel: Not used, 255 default
Alpha channel: Base PPAO

デフォルトのaoテクスチャーは全て255です
Red channel
変化無し。255で良し

Green channel
説明通りdirect lightの影響度の制御のようです
0だと光が当たっても明るくなりません

Bule channel
変化無し。255で良し

Alpha channel
一応影はつくようですが、100%と0%ですらうっすらとした差しか出ません

これGreen channnelだけでいいんじゃねえのとか思いつつ
specular用に作ったグレースケール画像をGreenとAlphaに張り付け
光が当たった時に髪の筋が少し出る程度にしました

ao用テクスチャの説明に限っては間違いは無いようです
最初に説明文読んだ時にウッソくせえ('A`)とか思ってスマンHoltech!

でも疑われないようなちゃんとしたマニュアル作ってくださいやがれHoltech!!

0 件のコメント:

コメントを投稿