版本: Unity 6 (6000.0)
语言英语
  • C#

Playable

UnityEngine.Playables 中的结构体

/

实现于:UnityEngine.CoreModule


实现接口:IPlayable

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们确实阅读了用户提出的每个建议更改,并在适用情况下进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

Playables 是可定制的运行时对象,可以连接在一起,并包含在 PlayableGraph 中以创建复杂的行为。

Playables 可用于创建复杂且灵活的数据评估树。Playables 是可以连接在一起的节点,之后每个 Playable 可以设置其每个子项的“权重”或“影响力”。

同一图表的 Playables 包含在 PlayableGraph 中。PlayableGraph 可以有多个输出,也称为“播放器”,它们实现 IPlayableOutput。PlayableOutput 获取其源 Playable 的结果,并将其应用于场景中的对象。例如,AnimationPlayableOutput 与图表中的 Playable 节点(“源 Playable”)以及场景中的 Animator 相连。播放图表时,Animator 会应用图表评估产生的动画姿态。PlayableOutputs 的数量与不同的 Playable 类型一样多:AnimationPlayableOutputAudioPlayableOutputTexturePlayableOutputScriptPlayableOutput 等。

ScriptPlayable<T> 是一种特殊的 Playable。其主要作用是作为“自定义”Playable。它是一个模板结构体,其中 T 必须从 PlayableBehaviour 派生。这些自定义 PlayableBehaviours 允许在图表评估的特定时刻编写行为(请参见 PlayableBehaviour.PrepareFramePlayableBehaviour.ProcessFrame)。TimelinePlayable 是 ScriptPlayable 的一个很好的例子,它控制着 Timeline 图表。它创建并链接在一起负责轨道和剪辑的 Playables。

播放 PlayableGraph 时,将遍历每个 PlayableOutput。在此遍历过程中,它将调用每个 Playable 上的 PrepareFrame 方法。这使 Playable 可以“为下一次评估做好准备”。在 PrepareFrame 阶段,每个 Playable 都可以修改其子项(通过添加新的输入或删除其中一些输入)。这使 Playable 能够在运行时“生成” Playable 树中新的子项分支。这意味着 Playable 树不是静态结构。它们可以适应和随时间变化。

准备就绪后,PlayableOutputs 负责处理结果,因此它们也称为“播放器”。在 AnimationPlayableOutput 的情况下,Animator 负责处理图表。在 ScriptPlayableOutput 的情况下,将在每个 ScriptPlayable 上调用 PlayableBehaviour.ProcessFrame

注意:您可以对实现 IPlayable 的任何结构体使用 PlayableExtensions 方法。

注意:手册中提供了有关 Playables API 的详细文档。

静态属性

Null返回无效的 Playable。