【Unity】 SubGraphを使用してShaderGraphで自作ノード(UVスクロールノード)を作成する

はじめに

使用バージョン Unity 2019.3.0f3

ShaderGraphでよく使うのノードの組み合わせを毎回作成するのが面倒くさいので自作ノードを作成してそれを使いまわせるようにしていきます。 今回はみんな大好きなUVスクロールノードを作成します。

必要なノードを用意する

よくあるUVスクロールに必要なノードを用意します

f:id:Brave345:20200203101153g:plain

入力と出力を設定

次に自作ノードの入力と出力を追加していきます。

入力はUVのスクロールスピードとUVとUVのTilingで、 出力はUVとします。

今回は以下のノードを追加して繋ぎました。

ここでノードを繋いでないと自作ノードを作成しても入力と出力が出ませんので注意です。

f:id:Brave345:20200201205249p:plain

保存

以下のノードを選択して右クリック→Convert To Sub-graphを選択して適当な場所に書き出します。

この時選択してないノードが入力と出力として表示されるようになります。

f:id:Brave345:20200201205301p:plain これで自作ノードを作成できます。

f:id:Brave345:20200201205336p:plain

プロパティ名の変更

保存したら以下のようなノードが出来上がるのでそれをダブルクリックします。

f:id:Brave345:20200201205416p:plain

そうしたらSubGraphが開かれるんで左上にあるプロパティ名を変更して、 Save Assetすれば完成です。

f:id:Brave345:20200201205439p:plain

完成

これでUVスクロールノードが完成です。 ノードをSubGraphでまとめることによって画面が少しスッキリしました。

作成したグラフは検索で名前を打つかSubGraphファイルをドラック&ドロップすれば自作ノードを出せます f:id:Brave345:20200201205510g:plain