输出事件处理程序
VFXOutputEventAbstractHandler 是一个 API Helper 处理程序,它挂接到一个输出事件中,允许您根据事件执行脚本。
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);
}
}
使用输出事件 Helper
为了帮助您创建自己的 VFXOutputEventAbstractHandler,Visual Effect Graph 包提供一组示例脚本,您可以通过包管理器安装这些脚本。有关如何使用这些示例脚本的信息,请参见示例内容。