现在我的3d角色有两个动画Idle(待机),Move(移动)。角色的移动速度是不定的,想根据角色的移动速度动态改变动画Move的播放速度。找了半天没找到方法。
如果是用unity的Animator做,可以很轻松地地做出。
如下图,unity的动画控制器能动态设置动画的播放速度,creator3d编辑器没这个功能
unity的Animatior还可以通过代码改变动画播放速度。
animator.speed = 2; // 速度加倍播放
creator3d 的 Animation 没有speed 这个属性,也找不到其它的方法改变播放速度。
唯一发现有播放速度设置的是AnimationClip 对象,有个speed属性,但是设置了发现没什么用。
animation.clips[1].speed = 2; // clips数组第二个对象是移动动画剪辑,尝试修改播放速度为原来的2倍。
animation.play(“Move”); // 再执行播放移动动画
结果,没什么效果,动画播放速度不变。
引擎组大佬,creator3d的Animation到底能不能改动画播放速度啊,求答案。
animationComponent.stop();
animationComponent.play('walk');
let state: AnimationState = animationComponent.getState('walk');
state.speed = 2;