はじめに
この記事では、「Shader Weaver」で炎のゆらめきを表現するシェーダを作る方法を紹介していきます
前回のチュートリアル
このチュートリアルで作るモノ
動画

この記事は上記の動画の一部翻訳となります
ノードの準備
Project ビューで「ShaderWeaver/Textures」フォルダを開いて
「flame」テクスチャを ROOT ノードに設定します
UV ノードを追加します
Project ビューで「ShaderWeaver/Textures」フォルダを開いて
「wave」テクスチャを uv1 ノードに設定します
uv1 ノードと ROOT ノードを連結します
以上でノードの準備が完了です
UV ノードの編集
uv1 ノードの「Edit」ボタンを押します
「Move」を選択します
Y の入力欄に「0.25」と入力します
「UV」を選択します
「R」「G」「B」のポッチをドラッグして
このように矢印を設定します
以上で UV ノードの編集が完了です
シェーダの保存
「ShaderWeaver」ウィンドウの「Save」を選択してシェーダを保存します
ファイル名は「tutorial5.shader」にします
Project ビューにこれらのファイルが追加されていればシェーダの作成が完了です
「ShaderWeaver」ウィンドウのプレビューで炎がゆらめいていることが確認できます
表示の調整
プレビューで表示されている炎のゆらめきを見ると、
炎の下部が透明になってしまっていることがわかります
Project ビューで「ShaderWeaver/Textures」フォルダを開いて
「flame」テクスチャを選択して、Inspector で
「Wrap Mode」を「Clamp」に変更して「Apply」ボタンを押すことで直ります
それでもまだ直らない場合は、
uv1 ノードの編集ウィンドウ右下の「+」ボタンを押して
「Blend Op」を「Lerp」に変更すると直ります
これで炎のゆらめきが綺麗に表示されるようになります
作成したシェーダの使用
Unity メニューの「GameObject>3D Object>Quad」を選択します
Hierarchy で作成した「Quad」オブジェクトを選択して
Inspector のマテリアルの設定欄に
Project ビューの「tutorial5」マテリアルをドラッグして設定します
「Quad」オブジェクトの大きさを適当に設定します ( x: 5、y: 5 など )
Unity を実行すると、作成したシェーダが正常に動作することが確認できます
以上が炎のゆらめきを表現するシェーダの作成方法になります