Shader Graph でのノイズ

Shader Graphで Perlin Noise 的なものを使って、テレビのノイズみたいなものを作りたかった。ノイズを作るのには Gradient Noise を使用。Gradient Noise の方で時間的なパラメータがあってそれを高速に進めればできるのかなと思ったらそうではないっぽい。検索してみると、Rotate ノードを使って高速に回すとそれっぽくなったよ的なものを見つけたのでそれと同じようにやってみた。

Rotate じゃなくて、Combine と Tiling And Offset でもそれっぽくできた。こっちの方が単調かもしれないけど軽い(?)

参考) StackExchange | Game Development | Old tv effect in shader graph

Shaderでコントラスト

まずはStandardのShaderをコピーして、surfaceシェーダー内にパラメーターで設定を増やした_Contrastを掛けるだけバージョン。

fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
c.rgb *= _Contrast; // 足した

次はRGBからYCbCr色空間に変換して輝度を調整。

Continue…

Shaderで波紋


uGUIのImageに、マウスの位置に波紋を表示してみる。
まず、波紋の式はこちら。

単位の波紋に対してスケール用の式を掛け合わせる。(半球をかぶせる感じ)


(なぜか角っこがジャギる…)
Continue…