[]3D中的Animator如何从指定的某一帧开始播放动画

已邀请:

GhostRain

赞同来自:

解决了,每次播放时去从完整动画里截断一个新的clip,播放这个新的clip
            animator.stop();
var percent:Number = animator.currentFrameTime / animator.getClip("Draw").duration();
//trace("currentFrameTime: " + animator.currentFrameTime + " endTime: " + animator.getClip("Draw").duration());
var totalAnimationClip:AnimationClip = animator.getClip("Shoot");
//动画总时长
var maxTime:Number = totalAnimationClip.duration();
//每帧间隔
var frameInterval:int = 1 / animator.cacheFrameRate;
//总帧数
var endFrame:int = Math.floor(maxTime / frameInterval);
//计算开始帧
var startFrame:int = Math.floor(endFrame * (1 - percent));
animator.addClip(totalAnimationClip,"runShoot",startFrame);
animator.on(Event.STOPPED, this, this.removeClip);
animator.on(Event.COMPLETE, this, this.removeClip);
animator.play("runShoot");

Aar0n

赞同来自:

这个要在unity 里面进行切片,从那一帧开始切,然后用切片的名字播放

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作