Amplify Shader Editor触ってみた
こんにちは〜 かずきです。
去年のブラックフライデーセールで買ったのに使っていなかった...
今回少しだけ触ってみた(というかサンプル見てみた)ので備忘録的なもの書いてみます!
Amplify Shader Editorとは
Surface ShaderをノードベースのGUIエディタで作成する事の出来るUnity向けアセットです。
サンプルシェーダAnimatedFireを見てみた
炎が燃えながら動くシェーダです。
シェーダをノードエディタ画面開いたらこのようになっています。
シェーダの各処理を見てみた
UVスクロール
全体で見た場合、左下の方にある処理です。
UVスクロールとは時間などの変動する値を利用し、テクスチャの描画位置を移動させていくものの事を指します。
ここでは経過時間を20分の1にしたものと、インスペクターから設定したTileSpeedを元にUVスクロールさせています。
なのでTileSpeedの値を上げると炎の動きが速くなり、
0にすると炎は止まります。
テクスチャのアルファ値変化
経過時間を基準値としたSinカーブ(-1 〜 1)の値を加算していったものと、インスペクターから設定したFireIntensityの値を元にアルファ値を変化させています。
FireIntensityの値を上げると炎が強くなり、
低くすると炎が弱くなります。
テクスチャ合成
Multiplyノードでテクスチャの合成をしています。
UVスクロール処理を加えたTileableFireテクスチャと処理を加えてないMaskテクスチャを合成したのちに、
アルファ値だけ変化させている白色テクスチャを合成する事で炎の強弱を変化させています。
なので、FireIntensityを0にすると炎が完全に消え、
TileableFireのテクスチャ画像を真っ白なものにすると動きがなくなります。
まとめ
ノードベースのGUIエディターでシェーダーが組みやすいとはいえシェーダーの基礎知識が無いと、
作りたいシェーダーを作るのは難しいなと思いました。
とりあえず勉強します!