おーみんブログ

C#, ASP.NET Core, Unityが大好きです。

【Unity】シェーダグラフで渦巻を作ってみた!

f:id:bookreadkun:20190407215645p:plain

おはようございます。おーみんです。

 

 

シェーダグラフで渦巻を作ってみた!

 

以前シェーダグラフを用いて流水を表現しました。

【Unity】シェーダグラフで流水を表現! - おーみんだよ。

 

今回はその応用として渦巻を作ってみた内容を書いていきます。

 

 

シェーダグラフの解説

シェーダグラフの中身はこんな感じです。

f:id:bookreadkun:20190407220342p:plain

 

まず水のNormal mapを2種類用意しましょう(1種類でも特に問題はありません)。Googleで「Water normal map」と画像検索すれば多数出てきます。

 

黄色の枠の部分はTwirlノードを用いており、渦巻の形を作っています。

僕は二つのnormal mapの渦の回転方向を逆に設定しました。これは偶然だったのですが、回転方向を逆にすると綺麗に出来ちゃったんですよね(笑)

こちらはご自身で適切に調整してみてください。使用するNormal mapによってはまた変わってくるかもしれません。

 

赤枠の部分はInverse Lerpノードを用いてNormal Blendした値AとBの間のTの時の補間値を算出しています。少し数学的な話になってしまうので今回は省略します。

 

青枠の部分はなくても良いですが、そのままだと少し暗い色だったので明るくするためにMultiplyノードを掛けています。

 

最後に

ということで、今回はシェーダグラフを用いて渦巻を表現しました。

 

シェーダグラフを作成した後は輝度や水の色をご自身で好きなように調節してみてください。