SbstanceDesigner 正多角形などのフラットシェーディングモデルから近似的なスムース法線を取得する方法。
SbstanceDesigner の関数を書きたい人向け
Position から Normal を作る
各頂点の原点からの距離が同じ、また距離の差が近いと判断し、
頂点のポジションから法線を作ってしまいます。
(応用を考えないのであれば、PositionMap を NormalNormalize に差し込むだけで可能です。)
3Dモデルの頂点座標をベイクする。
Sample用の入力にはモデルをベイクしたPositionMapをInputする
RGBだけ計算したいのでFloat3にする。
計算の原点を(0.5,0.5,0.5)と考えることで-方向の法線を計算可能にする
法線をノーマライズして長さを1にする
RGBが-1~1の値になっているはずなので、0~1の値に直す。
Float4に戻してSet as Output Nodeする。
コンベックスが保証されていて、球に近い法線方向で良い場合この方法が可能になる。
以上。
この記事が気に入ったらサポートをしてみませんか?