【Unity】ビルトインのShaderGraphで作成したシェーダーをURPに対応させる

Unity (2021.3.2f1)

はじめに

前回ビルトインのプロジェクトを後からURPに対応するための記事を出しました。

www.m2game.net

その中でShaderGraphだけはうまくコンバートできませんでした。

しかしその後うまくやる方法が分かりましたのでやり方を共有しようと思います。

URPに対応できていないとこうなる

まずはURPに対応していないとこうなるというのを先に示しておきます。

元は左図、URPに移行すると右図のようになります。

同じような現象が起きている人は以降の手順で解消できると思います。

ShaderGraphのターゲットを追加する

まず対象のShaderGraphファイルを開きます。

Graph InsepctorGraph Setting を開く

Active Targetにある+ボタンをクリックし、Universalを選択します。

そうしたら下の方にスクロールすると、Universalという項目が表示されます。

その中にある`MaterialをBuilt-Inと同じにしましょう(初期値がLitになってる)

これで完成なのでSave Assetします。

シーンビューを見てみると・・・

正しく表示されました!

おしまい

あとがき

ShaderGraphにターゲットがあるなんて知らなかった。もしHDRPに移行する時も同様な手順が必要となりそうです。まぁそれはそのときやろう。