您的位置:首页 > 移动开发 > Unity3D

<划重点的Unity2017>Playable相关

2017-12-13 20:02 225 查看
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