Playable相关

1.Playable概述
2017新出现的Playable的新概念,这是一种可以自定义的运行时对象。(Runtime-Object)可以通过PlayableGraph来进行整合和链接。从而创建一个复杂的行为。
Playable可用于创建复杂而灵活的数据评估树。通过PlayableExtensions.Connect可以进行链接。树中的每个Playable都可以设置其每个孩子的“Weight”或“Influence”。一旦Playable的树被创建,它可以通过使用它与PlayableDirector组件“播放”。 (PlayableDirector.Play)

一旦Playable与PlayableDirector相关联,播放器将逐个播放Playables。每次遇到树中的Playable时,它都会调用它的PrepareFrame方法。这允许Playable“为自己准备下一次评估”。在PrepareFrame阶段,每个Playable都可以修改其孩子(通过添加新的输入或删除孩子)。这使Playable在运行时能够在Playable树中“生成”新的子分支。这意味着Playable树不是静态结构。他们可以适应和改变随着时间的推移

AnimationPlayables是Playable的一个很好的例子。它们允许现有的AnimationClip通过AnimationPlayableMixers即时连接在一起。这可以用于编程地创建动画行为,如运动混合。一旦创建了一个AnimationPlayables树,它可以通过Animator.Play方法传递给Animator组件。

2.Playable相关概念

(1)PlayableAsset:一个针对资源的基类,可以用于运行时实例化一个Playable。
(2)PlayableBehaviour
PlayableBehaviour是一个基类,可以被每一个自定义的playable脚本所驱动。
PlayableBehaviour可以用于向PlayableGraph增加用户定义的行为。
PlayableBehaviour必须是连接到激活的输出的PlayableGraph的分支的一部分。
关于该Playable的公有方法(都是回调函数):
OnBehaviourPause:当Playable的play state变成PlayState.Paused的时候,这个方法被调用。
OnBehaviourPlay:当Playable的Playstate变成PlayState.Playing的时候,这个方法被调用。
OnGraphStart:这个方法被调用,当拥有这个PlayableBehavior的PlayableGraph开始的时候。
OnGraphStop:这个方法被调用,当拥有这个PlayableBehavior的PlayableGraph停止的时候。
OnPlayableCreate:这个方法被调用,当拥有这个PlayableBehavior的Playable被创建的时候。
OnPlayableDestroy:这个方法被调用,当拥有这个PlayableBehavior的Playable被销毁的时候。
PrepareFrame:这个方法在Playable的PrepareFrame阶段被调用。
ProcessFrame :这个方法在Playable的ProcessFrame 阶段被调用。

这里注意关于PlayableBehaviour的一个使用的问题,如果在2017版本下直接创建,拖入TimeLine下,是会报错的!报错的!如果发现报错,请注意,修改创建的PlayableBehaviour脚本是不是继承自BasicPlayableBehaviour而不是PlayableBehaviour。修改之后,可以修正前面不能拖入TimeLine的错误。

(3)PlayableBinding
保存有关PlayableAsset输出的信息的结构体。
PlayableAssets指定使用PlayableBindings支持的输出类型。

(4)PlayableDirector
实时播放PlayableAsset并控制Playable对象的播放。

你可能感兴趣的:(划重点的Unity)