バージョン 10 の最新情報
このページには、Visual Effect Graph バージョン 10 に加わった新機能、改善点、そして解決済みの問題についての概要が含まれています。
機能
以下は Unity が Visual Effect Graph バージョン 10 に追加した機能のリストです。各エントリーには、機能のまとめと関連ドキュメントへのリンクが含まれています。
CPU イベントの出力

イベントの出力は、トリガーを受けてグラフから C# へイベントを送信します。これを使って、ライト、サウンド、物理的反応、またはゲームプレイをビジュアルエフェクトに同期化することができます。
この機能に関する詳細は、イベントの出力 を参照してください。
この機能の使用法例は、イベント出力ハンドラー を参照してください。
パーティクルごとの Mesh LOD (実験的)

画面サイズに基づき、LOD を用いてメッシュパーティクルを最適化します。
この機能に関する詳細は、パーティクルメッシュ出力 を参照してください。
Multi-Mesh (実験的)

同じ パーティクルメッシュ出力 内で最大 4 つのメッシュを使い、パーティクルごとの多様性をエフェクトに追加します。これにより、複数の出力を使うことなく、ビジュアルの多様性を個々のメッシュパーティクルに追加できます。
この機能に関する詳細は、パーティクルメッシュの出力 を参照してください。特に、Mesh Count プロパティを参照してください。
静的メッシュサンプリング (実験的)

パーティクルをメッシュから直接スポーンします。これにより、事前に位置を ポイントキャッシュ にベイクすることなく、より複雑な形状のパーティクルを、素早くメッシュから直接スポーンすることができます。
メッシュの頂点は、 Position (Mesh) ブロックおよび Sample Mesh オペレーターでサンプリングできます。
この機能に関する詳細は、メッシュサンプリング を参照してください
オペレーター & ブロック
Visual Effect Graph の本バージョンでは、新たなオペレーターとブロックが登場しました。
- 指数
- ログ
- LoadTexture
- GetTextureDimensions
- WorldToViewportPoint
- ViewportToWorldPoint
- マトリックス構成
- TransformVector4
改善点
以下は、Unity が Visual Effect Graph バージョン 10 で追加した改善点のリストです。各エントリーには、改善点のまとめと、関連する場合はドキュメントへのリンクが含まれています。
ドキュメント

ドキュメントには、Visual Effect Graph の全ノードに関する 参考情報 が含まれるようになりました。さらに、属性、ブロック、コンテキスト、オペレーター、および様々なメニューとオプションが、ツールチップに含まれるようになりました。
UX & ワークフロー

Visual Effect Graph の本バージョンでは、多くのワークフローに改善点が加わりました。以下はそのリストです。
- 現在開いている Visual Effect Graph を保存する、Save ボタンがグラフビューに加わりました。
- Unity はアセットをインポートする際に、 VFX アセットを編集するようになりました。このバージョン以前は、Unity はアセットが保存されたときに、アセットを編集していました。この改善により、バージョン間のシェーダーの互換性問題が解決され、ソースコントロールによる不要な変更の発生を防げるようになりました。
- エッジに複数の改善点が加わりました。
- エッジで右クリックすると、中間ノードを作成するオプションが使えるようになりました。
- ノードの入力から接続を作成する場合、alt を押してクリックをリリースすると、空いているスペースに新たに露出したプロパティを作成できるようになりました。露出するプロパティは、入力を作成したものと、同様の種類になります。
- 繋がったノードを複製すると、コピーも同じエッジ接続が維持されるようになりました。
- Blackboard に複数の改善点が加わりました。
ブロック & ノード
- 方向 & スピードブロックの位置 (形状、シーケンシャル、深さ) と速度に、位置と方向両方に対するコンポジションが含まれるようになりました。以前は、位置に対するコンポジションのみが含まれていました。
- ビルトインオペレーターが、新しいタイムアクセスを提供するようになりました。
コンテキストの更新に、カスタム Inspector が新たに加わりました。ここでは Euler Integration の代わりに Update Position および UpdateRotation が表示されます。

コンテキストのスポーンに、カスタム Inspector が新たに加わり、カスタマイズ可能なスポーン動作を作成する際に、別の深度レイヤーを追加するループおよび遅延設定が含まれるようになりました。

パフォーマンスの最適化
Visual Effect Graph の本バージョンでは、複数のパフォーマンスの最適化が導入されました。
- Unity は compute shaders を用いてパーティクルを除去し、非アクティブ、オフスクリーン、および生きていないパーティクルのレンダリングを、非常に効果的に破棄できるようになりました。この機能に関する詳細は、共有出力設定とプロパティ の Compute Culling プロパティを参照してください。
- Unity は可能な限り、CPU でノイズ評価を処理するようになりました。これまで Unity は、ユースケースによっては、すべてのパーティクルに対して一度実行すればよいところを、パーティクルごとに実行していました。
符号付き距離フィールド

Visual Effect Graph の本バージョンでは、符号付き距離フィールド (SDFs) に関する改善が加わりました。SDF をサンプリングする新たなオペレーターが加わったと同時に、SDF に応じてパーティクルの位置を設定する新たなブロックが加わりました。
これにより、例えばパーティクルが SDF と衝突したかどうかを検知するというような、特殊な動作を作成することができます。
サンプル SDF オペレーターに関する詳細は、サンプル符号付き距離フィールド を参照してください。
新しい位置ブロックに関する詳細は、 位置 (Signed Distance Field) を参照してください。
歪み出力

Visual Effect Graph の本バージョンでは、歪み出力に八角形と三角形のサポートが導入されました。また、パーティクルストリップに対して新しく、Output Distortion Quad Context も導入されました。
歪み出力に関する詳細は、 歪みの出力 を参照してください。
パーティクルストリップ

Visual Effect Graph の本バージョンでは、パーティクルストリップに複数のパフォーマンスの改善点が加わりました。
- クアッドストリップテクスチャマッピングに、新たにオプションが加わりました。UV またはカスタムマッピングを使用できます。
- ストリップ出力に対する、カスタム z-軸オプション。これにより、ストリップにカスタムフォワード方向を設定し、特定の方向へ向きを変えられるようになりました。これは例えば、壁と反対方向を向いたバナーを壁に作成したい場合などに、便利です。
- パーティクルストリップの新しい属性、particleCountInStrip は、ストリップ内のパーティクル数を保存します。
- コンテキストの初期化におけるパーティクルストリップの新しい属性、spawnIndexInStrip は、spawnIndex に対しパーティクルストリップと同様に作動します。
オペレーター & ブロック
Visual Effect Graph の本バージョンでは、オペレーターとブロックにパフォーマンスの改善点が複数加わりました。
- 比較 オペレーターが、ints および uints をインプットとして受諾するようになりました。
- スポーンコンテキスト内の属性の読み込みができるようになりました。
サンプル

以下は、Unity がバージョン 10 で作成または改善した、Visual Effect Graph パッケージサンプルのリストです。各エントリーには、変更のまとめと、関連する場合は、ドキュメントへのリンクが含まれています。
Visual Effect Graph Addition
Visual Effect Graph の本バージョンでは、Visual Effect Graph Additions サンプルに、新たなユーティリティーオペレーターが導入されました。
- Get Strip Progress: ストリップ内のパーティクルの進捗を、0 -1 の範囲で計算する、サブグラフです。進捗に応じてストリップを修正するために、カーブおよび勾配をサンプルする際に便利です。
- Encompass (Point): AABox の境界線を拡大してポイントを含めるサブグラフです。
- Degrees to Radians および Radians to Degrees: グラフ内のラジアンと度の変換に役立つサブグラフです。
OutputEvent ヘルパー
Visual Effect Graph の本バージョンでは、OutputEvent Helpers サンプルに新たなヘルパースクリプトが導入され、OutputEvents の様々なユースケースが設定できるようになりました。
Cinemachine Camera Shake: 出力イベントハンドラーのスクリプトで、一定の出力イベントが発生すると、Cinemachine Impulse Source を介してカメラの揺れをトリガーします。
Play audio: 一定の出力イベントが発生すると、単一の AudioSource を再生する、出力イベントハンドラーのスクリプトです。
Spawn a Prefab: 一定の出力イベントが発生すると、Prefabs (プールから管理される) をスポーンする、出力イベントハンドラーのスクリプトです。位置、角度、スケール、およびライフタイムを使って Prefab を配置し、遅延があると無効にします。その他の値を同期化する際は、Prefab 内のその他のスクリプトを使えます。
- Change Prefab Light: ライトをエフェクトに同期化する方法を示す一例です。
- Change Prefab RigidBody Velocity: RigidBody の変化する速度をエフェクトに同期化する方法を示す一例です。
RigidBody: 一定のイベントが発生すると、RigidBody に力または速度変化を適用する、出力イベントハンドラーのスクリプトです。
Unity Event: 一定のイベントが発生すると、UnityEvent を発生させる、出力イベントハンドラーです。
解決済み問題
Visual Effect Graph バージョン 10 で解決された問題については、changelog を参照してください。