docs.unity3d.com
    目次を表示する/隠す

    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 パッケージにはパッケージマネージャーからインストールできるスクリプト例一式が含まれています。これらのスクリプト例の使い方については、サンプルコンテンツ を参照してください。

    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)