Unity ShaderGraphでToon影をつける

昨日作ったシェーダーグラフから抜粋してToon影のシェーダーを作った

dotprocuctとsmoothstepが重要っぽい。

 

f:id:tamom:20200825131811p:plain

 

・dot productはdirection lightの情報と、法線(normal vector)の情報を計算して影を付けてくれるっぽい

 

・smooth step

ドキュメントにはこう書かれていた

入力Inの値が入力Edge1とEdge2の値の間にある場合、0と1の間のスムーズなエルミート補間の結果を返します。 入力Inの値が入力Step1の値より小さい場合は0を返し、入力Step2の値より大きい場合は1を返します。

入力値を0か1にしてくれるようだ 白黒分離用に使うとよさそう

 

 

 

マテリアル反映結果

f:id:tamom:20200825131824p:plain

ベースカラーと影のサイズ、影のぼかしを変更できる