Visual Effect GraphをインストールするとPreferencesにVisual Effects
という項目が並びます。
その中で何を設定しておかなければならないかについて紹介していきます。
各設定項目の設定可否について
表にまとめました。
項目 | 設定の可否 |
---|---|
Experimental Operators/Blocks | 必ず設定するべき |
Show Additional Debug info | 必ず設定するべき |
Verbose Mode for compilation | 普段はOFF |
Experimental shader externalization | 分からない |
Force Compilation in Edition Mode | 普段はOFF |
以下各項目の説明に移ります。UnityEditor上で表示されるツールチップ (各項目をマウスオーバーした時に表示されるテキスト) もセットで記載しています。
Experimental Operators/Blocks
When enabled, operators and blocks which are still in an experimental state become available to use within the Visual Effect Graph.
有効にすると、実験的な状態にある演算子やブロックがビジュアルエフェクトグラフ内で使用できるようになります。僕自身何が実験的なブロックなのか把握していませんが設定しておくべき理由の1つとしては、カスタムアトリビュートを使いためです。
カスタムアトリビュートについては以下の動画の13:38辺りで説明されています。
2つ目の理由はVisual Effect GraphでShaderGraphを使うためです。
設定しないと上のようにOutput Particleコンテキストの中でShaderGraphが設定できなくなります。
ShaderGraphを使うことで表現力を上げることが出来るため現状ではExperimental Operators/Blocks
は設定しておく一択だと思います。
Show Additional Debug info
When enabled, additional information becomes available in the inspector when selecting blocks, such as the attributes they use and their shader code.
ブロックを選択する際に、使用している属性やシェーダコードなどの追加情報がインスペクタで利用できるようになるという説明なのですが、このブロックはどんな処理をしているのか疑問に思った時に役立ちます。
例えばCaluculate Mass from Volumeブロック
のDensity
がどういう計算をしているのか調べたくなったとします。
Show Additional Debug info
にチェックが入っていないとインスペクタ上では何も情報は表示されません。
Show Additional Debug infoにチェックを入れると
このようにComputed Source Codeに処理内容が表示されるようになります。これで完全に理解することは難しい場面も多々あると思いますが、考えるきっかけにはなると思っているため、Show Additional Debug infoにはチェックを入れておくべきと考えています。
Verbose Mode for compilation
When enabled, additional information about the data, expressions, and generated shaders is displayed in the console whenever a graph is compiled.
グラフがコンパイルされるたびに、データ、式、および生成されたシェーダに関する追加情報がコンソールに表示されます。どのようなコンピュートシェーダがジェネレートされるのかを調べる際に役に立つと思います。
僕自身はまだ役に立った場面はありません。今後学習を重ねていく上で必要になる気はしています。ということで普段はOFFで良いという判断です。
Experimental shader externalization
When enabled, the generated shaders are stored alongside the Visual Effect asset, enabling their c direct modification.
生成されたシェーダーは Visual Effect アセットと一緒に保存され、直接変更できるようになると説明がありますが、挙動を把握できていないため「分からない」という判断です。
Enable Externalizing Shaders (for Debugging purposes) in the Visual Effect Graph Asset Inspector
公式マニュアルでも上記のように説明がありますが、、、よく分からなかったです。
Force Compilation in Edition Mode
When enabled, the unoptimized edit version of the Visual Effect is compiled even when the effect is not being edited. Otherwise, an optimized runtime version is compiled.
以下公式マニュアルから引用
Disables Graph Optimization when Saving Assets (for Debug Purposes Only)
上記のように説明がありますが、要するに最適化を無効にしたコードが生成されるということです。挙動的に何かおかしくて生成コードを確認する上で調査のきっかけになるものかなと思っていて、普段はOFFで良いかと思っています。
まとめ
- Experimental Operators/Blocks
- Show Additional Debug info
この2つにチェックを入れておけばよいという結論です。
環境
- Unity2020.1.6f1
- Visual Effect Graph v8.2.0