Output Event Handler
VFXOutputEventAbstractHandler は、Output Event に接続し、イベントに基づいてスクリプトを実行する API ヘルパーです。
Visual Effect Graph には、サンプルとしてスクリプト例が一式含まれています。サンプルのインストール方法については、サンプルスクリプトのインストール を参照してください。
出力イベントハンドラー API
独自の出力イベントハンドラーを作成するには、UnityEngine.VFX.Utility.VFXOutputEventAbstractHandler クラスを拡張するスクリプトを書きます。
このクラスを拡張する MonoBehaviour を書く際には、フックを実行するために必要なコード量が軽減されます。これは、ベースクラスがイベントをフィルタリングし、以下のメソッドを呼び出すためです。
override void OnVFXOutputEvent(VFXEventAttribute eventAttribute)
このメソッドを実装すると、Unity はイベントがトリガーするたびに呼び出し、イベントの属性にパスします。
例
次の例では、ゲームオブジェクトがイベントを受信すると、所定の位置に移動します。
[RequireComponent(typeof(VisualEffect))]
public class VFXOutputEventTeleportObject : VFXOutputEventAbstractHandler
{
public Transform target;
static readonly int kPosition = Shader.PropertyToID("position");
public override void OnVFXOutputEvent(VFXEventAttribute eventAttribute)
{
if(target != null)
target.position = eventAttribute.GetVector3(kPosition);
}
}
出力イベントハンドラーの使用
独自の VFXOutputEventAbstractHandler の作成に活用できるよう、Visual Effect Graph パッケージにはパッケージマネージャーからインストールできるスクリプト例一式が含まれています。これらのスクリプト例の使い方については、サンプルコンテンツ を参照してください。