开始用的时候还以为可以像unity的Animator的动画切换一样,可以从一个动画状态平滑过渡到另一个状态,结果用了发现全是瞬间切换,跟直接animation.play(“动画”)没区别。比如站立到蹲下两个动画状态,如果是unity做切换的话会有站立慢慢变换到蹲下这个过程,而creator3.0是上一帧是站立,下一帧是蹲下,表现很突兀,crossFade的第二个时间变化参数无论怎么设置都没效果。
最后还有一点,我要拿到当前正在播放那个动画,找不到方法,唯一一个拿动画状态的是animation.getState(“动画”);但是这个是拿指定的动画,并不知道当前是播放哪一个。
unity的Animator获取当前播放动画有这样一个函数可以得到
AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo();
creator引擎方是否能提供类似一个这样的方法方便开发者获取当前播放的动画状态呢。
还有提供类似unity的stateInfo.normalizedTime;(值在0-1之间) 这个属性让开发者知到当前动画的播放进度,大于等于1即为播放结束,Mathf.Floor(stateInfo.normalizedTime)代表已经播放了多少次。