本日はUnityShader枠です。
Unityではスクリプタブルレンダーパイプラインを導入したプロジェクトでShaderをノードベースに構築できる[ShaderGraph]と呼ばれる機能が使用できます。
従来ではShaderを構築するためにはUnityのC#とは別にCg/HLSL言語やそれを使用するUnityのShader言語、ShaderLabの知識が必要とされていました。
このShaderGraphの登場によってUnity開発者はShaderの専門的な知識が無くても基礎的な知識で視覚的にShaderを作成することが可能になりました。
今回ShaderGraphのバージョン11からShaderGraphの見た目など変更点が加わりよりShaderらしく構築できるようになったため勉強もかねて見ていきます。
〇ShaderGraphの使い方
[PackageManager/b>]から[ShaderGraph]を探しインストールします。
[Project]ウィンドウから右クリック、[Create]→[Shader]→[Universal Render Pipeline]からShaderGraphを選択し作成します。
作成したShaderGraphを選択することでShaderGraphの編集が可能です。
今回から[Vertex][Fragment]の二つのマスターノードが表示されるようになりました。
これはそれぞれ[VertexShader]、[FragmentShader]に対応しています。
以前はShaderの区分がわからず、出力の一つのマスターノードで再現されていました。
〇ドキュメント
バージョンアップに際しドキュメントの文献が充実するようになっています。
初めての Shader Graph | Shader Graph | 10.0.0-preview.27
と思ったのですがところどころページが用意されておらず、開発過渡期であるShaderGraphの現状をうかがえます。
https://docs.unity3d.com/ja/Packages/com.unity.shadergraph@10.0/manual/Master-Stack
便利ですがバージョンごとの変更点が大きすぎるので実務アプリなどでの使用は慎重になるべきなのかもしれません。