しっぽを追いかけて

ぐるぐるしながら考えています

Unity と猫の話題が中心   掲載内容は個人の私見であり、所属組織の見解ではありません

Unity で Shader Graph を作ってみる

※ これは 2020/05/22 時点の Unity 2019.3.14f1 の情報です

最新版では動作が異なる可能性がありますのでご注意ください

CSS はここまでにして、ちょっと自作アプリで必要になったので以前ちょっとだけ触った Unity の Shader Graph を、とりあえず使えるようにするところまで改めて試したい

unity.com

Shader とはもともとオブジェクトの陰影を描画するために利用されていたらしいが、現状だと GPU を使った大量で並列な単純演算をするような処理を得意とするイメージ

当然グラフィカルな描画処理とか演出エフェクトとかにはもってこいというわけで・・・

Shader Graph はそれまでの ShaderLab によるコーディングとはちがって、ノードをつなぐグラフ構造で記述できるらしい

https://unity.com/sites/default/files/styles/16_9_s_scale_width/public/shader_graph-2-1.jpg?itok=JjCLf_F1

通常のコーディングに比べてコンパクトに記述する情報密度は損なわれるものの、途中の処理経過をグラフィカルに確認できるのでシェーダー初心者にも学習しやすそう

というわけでとりあえずこの機能を使えるようにする!

まずは Unity で新規プロジェクト作成

Render Pipeline プロジェクト作成

Shader Graph を使うには Scriptable Render Pipeline によるビルドが必要なので、作成するプロジェクトは High Definition Render Pipeline か Universal Render Pipeline プロジェクトのどちらかを選択

High Definition RP は PC とかハイエンド向けで、Universal Render Pipeline の方はスマホとかローエンド向け、今回は Universal を選択した

あとで Scriptable Render Pipeline の設定を追加することもできるけど、最初からある程度入ってる方がかんたんなのでこうした方がよい

プロジェクトが開いたら Package Manager のウィンドウを開き、Sahder Graph が最新版でない場合は更新

Package Manager

※ Shader Graph が表示されない場合は左上のコンボボックスから「All packages」を選べば出るはず!

パッケージの更新が終わったらさっそく Shader Graph を作成

Assets/Materialsディレクトリを開き、右クリックメニューで [Create] - [ Shader] - [Unlit Graph] を選択

Shader Graph の新規作成

Unlit Graph 以外にも上記のようにいろいろ Shader Graph はあり、用途によって使い分ける・・・今回はライティングを考慮しないシンプルな Unlit Graph にしてみた

とりあえず Unlit という名前で Shader Graph を作成

ダブルクリックすると下記のような編集ペインが開いた

Shader Graph

入力プロパティが並ぶ領域、プレビューが表示されるウィンドウ、最終出力を行う Unlit Master ノードがあって、これで編集できる状態になったみたい