Visual Effect Graph 示例内容

示例内容

Visual Effect Graph 附带一组示例,可帮助您入门使用。
示例是一组资源,您可以将示例导入到项目中,并以此为基础来构建项目或学习如何使用某个功能。Visual Effect Graph 还提供一些有用的节点
要找到这些示例,请先安装 Visual Effect Graph,然后:
1.转至 Windows > Package Manager
2.从 Package list 视图 中,选择 Visual Effect Graph。如果其中没有这一项:
3.1.从 Packages 下拉菜单,选择 Unity RegistryIn Project。 2.转至 Edit > Project Settings > Package Manager 3.在 Advanced Settings 下拉菜单中,启用 Show Dependencies。Visual Effect Graph 现在应该出现在 Packages list 视图中。
4.在显示包详细信息的主窗口中,找到 Samples 部分。
5.要将某个示例导入项目中,请单击 Import。这会在项目中创建一个 Samples 文件夹,并将您选择的示例导入其中。这也是 Unity 未来将所有示例导入到的位置。

输出事件处理程序

此示例包含 MonoBehaviour 辅助脚本,您可以将其附加到具有 VisualEffect 组件的游戏对象。这些脚本侦听给定名称的输出事件并通过执行各种操作做出反应。有些脚本支持编辑器中的预览,有些则不支持。对于支持此功能的脚本,检查器中包含一个 Execute in Editor 切换功能。否则,请进入 Play Mode 以查看行为。
此示例包含的辅助脚本包括:

  • VFXOutputEventCMCameraShake:当它接收到具有您指定名称的输出事件时,此辅助脚本通过 Cinemachine Impulse Sources 系统触发一次摄像机抖动。
  • VFXOutputEventPlayAudio:当它接收到具有您指定名称的输出事件时,此辅助脚本会播放来自 AudioSource 的声音
  • VFXOutputEventPrefabSpawn:当它接收到具有您指定名称的输出事件时,此辅助脚本会从预制件池中生成一个不可见的预制件。它在给定的位置以给定的旋转角度生成它们。它还根据事件的 lifetime 属性管理预制件的生存期。当预制件生成时,您可以使用 VFXOutputEventPrefabAttributeHandler 脚本来配置预制件的子元素。有关更多信息,请参阅 使用 VFXOutputEventPrefabSpawn
  • VFXOutputEventRigidBody:当它接收到具有您指定名称的输出事件时,此辅助脚本会向 RigidBody 施加一个力。
  • VFXOutputEventRigidBody:当它接收到具有您指定名称的输出事件时,此辅助脚本会触发一个 UnityEvent

    使用 VFXOutputEventPrefabSpawn

    VFXOutputEventPrefabSpawn MonoBehaviour 组件从池中生成预制件。当它实例化这些预制件时,会将它们设置为不可见。当您启用该组件时,该组件将禁用每个预制件 (SetActive(false))。最后,当您禁用该组件时,该组件会销毁每个 Prefab 实例。当您销毁该组件附加到的游戏对象时,也会发生这种情况。
    当此组件收到一个具有您指定名称的输出事件时,它会寻找一个空闲的(禁用的)预制件,如果有的话:
    1.它启用该预制件。 2.如果您启用 Use Position,它会使用 position 属性设置该预制件的位置。 3.如果您启用 Use Rotation,它会从 angle 属性设置该预制件的旋转。 4.如果您启用 Use Scale,它会从 scale 属性设置该预制件的缩放。 5.如果您启用 Use Lifetime,它会基于 lifetime 属性启动一个包含延迟的协同程序,该程序在该延迟之后禁用(释放)该预制件。这使得它可以在未来的 OutputEvent 期间生成。 6.它在 Prefab 实例中搜索任何“VFXOutputEventPrefabAttributeHandler”脚本,并调用每个脚本来执行属性绑定。
    “VFXOutputEventPrefabAttributeHandler”脚本根据生成 Prefab 的事件配置 Prefab 的各个部分。此示例包含两个示例“VFXOutputEventPrefabAttributeHandler”脚本:

  • VFXOutputEventPrefabAttributeHandler_Light:当 Prefab 生成时,此脚本根据 OutputEvent 的 color 属性,以及该脚本的 Brightness Scale 属性,分别设置附加 Light 分量的颜色和亮度。

  • VFXOutputEventPrefabAttributeHandler_RigidBodyVelocity:当 Prefab 生成时,此脚本根据 OutputEvent 的 velocity 属性,设置附加 RigidBody 的速度。

    Visual Effect Graph 附加资源

    此示例包含可帮助您开始使用 Visual Effect Graph 的资源和示例图形。例如,此示例中包含:

  • 一组翻页纹理。

  • 展示各种节点的示例图形。
  • 您可以在项目中使用的着色器和子图。
  • 可用于项目中的视觉效果的纹理集(在 CC0 下获得许可)。

此示例使用这些资源和示例来重现许多内置粒子系统行为。例如,它提供了一个辅助程序来复制软粒子,还有一个辅助程序用于对包含线性切割或运动矢量的翻页进行采样。