【Unity】シェーダーのCgプログラミングの関数について

  • |
【Unity】シェーダーのCgプログラミングの関数について
   

最近手に入れた「Unityでわかる!ゲーム数学」の簡単なレンダリング(4章)を読んでみました。ShaderForgeを使ってシェーダーを作ったことがあるのですが、計算の意味が説明されていましたので参考になる部分が多かったと感じました。

小数点以下を取り出す frac()


UVは0 ~ 1.0の値ということでなので、上記のコードを書くと次の画像のようになります。
ちょうど0.5(真ん中)の時に小数点が0になります。

NewImage

動かす

_Timeを使えばUVスクロールができます。

Time


絶対値を取り出す abs()


取り出した小数点を2倍して1.0を引いた値の絶対値を取り出すことで滑らかなグラフィックを実現することができます。

Time2


平方根 : sqrt()


平方根を使って円の情報を取り出します。

circle.2018.png

画像を見てわかるように中心点が右上になっています。
UVの位置を調整すると次のように表示されます。


circle2.2018

距離 : distance()

先程は平方根を使いましたが、中心点がわかればdistance()で同じようなことができます。


Related Posts Plugin for WordPress, Blogger...