What
不像一般的Asset Player 节点,它不会再内部自动Advance time 更新Pose。而是根据输入的time来evaluate这个time的pose。
Why
How
每次Update 时更新自己InternalTimeAccumulator,可以是指定的StartPosition,也可以是ExplicitTime。
Evaluate时根据InternalTimeAccumulator得到Pose。
How to use
-
可以用来得到一帧的动画,作为Idle pose使用。
-
目前遇到一个特殊用法:右键进入ADS时,会通过状态机进入AimIn的过渡状态。这个状态里会播放AimIn的Sequence(这里没用Montage去做)。目前是用Sequence Evaluator做的。需求是可以控制它的播放速度。由于Sequence Evaluator一次只能评估一个时间的Pose,现在要变速播放完整的Sequence,可以通过控制StartPostion或者Explicit Time来实现。将这些变量绑定到函数,函数里通过程序变量比如一个0到1的比例。这个比例乘以Sequence的PlayLength得到具体的time。而程序需要控制这个比例从0到1的快慢即可。
比较绕,如果要控制速度Asset Player的PlayRate也可以暴露出来,感觉更简单。但这样做有一个好处,那就是当打断时,可以通过倒播的方式还原。如果一个是从AimIn 切换到AimOut时,通过记录的比例,可以方便的控制播放位置。