本日は Unity の小ネタ枠です。
Shader Graph を使ってシェーダを作成する手順を記事にします。
Shader Graph
Shader Graph はシェーダーを視覚的に構築するためのツールです。Unity 2018.1 以降の Unity で使用できます。
URP(ユニバーサルレンダーパイプライン)やHDRP(HDレンダーパイプライン)などのスクリプタブルレンダーパイプラインをインストールすると、自動的にプロジェクトにインストールされます。
docs.unity3d.com
Unityプロジェクトの作成
Shader Graph は URP または HDRP 環境のプロジェクトで利用できます。
今回は[3D Sample Scene]をサンプルシーンに選択して Unity プロジェクトを新規作成しました。
ShaderGraphの作成
新規に Shader Graph でシェーダを作成する場合は、Asset フォルダで右クリックから[Create -> Shader -> Blank Shader Graph]を選択します。
ファイルが生成されるのでダブルクリックで選択すると Shader Graph の編集画面が開きます。
初めにターゲットのレンダーパイプラインを指定します。
[Graph Inspector]の[Graph Settings -> Active Targets]の[+]ボタンから[Universal]を選択します。
デフォルトの Lit Shader Graph が生成されます。
編集画面右上の[Save Asset]で Shader Graph の変更内容を保存します。
Materialへの設定とシーンへの反映
作成したシェーダを元にマテリアルを作成し、シーンに反映してみます。
Asset フォルダで右クリックから[Create -> Material]を選択します。
作成したマテリアルを選択して[Shader]項目から作成した Shader Graph のシェーダを選択します。
これでシェーダを利用したマテリアルが作成できました。
[Scene]画面を開き、マテリアルを反映したいオブジェクトに直接ドロップすることでマテリアルをシーンに反映できます。
ShaderGraphの編集
この状態で Shader Graph を編集してシーンへの変化を確認してみます。
再び Shader Graph の編集画面を開きます。[スペースキー]または右クリックから[Create Node]を選択して Node を追加します。
今回はシェーダのベースカラーを変更してみます。
[Color]ノードを選択して追加します。
追加された[Color]ノードの[Out]スロットから接続ラインをドラッグして[Fragment]ノードの[Base Color]に接続します。
[Color]ノードのカラーバーをクリックして、カラーピッカーからベースカラーとしたい色を選択します。
変更内容を保存します。編集画面右上の[Save Asset]をクリックします。
シーンを確認すると、設定したマテリアルの見た目が変化しています。