(024)Unity3d Animator问题记录

1.问题一:Animator 事件帧触发不了?

答:因为调用了下面几个 API,导致动画上的事件帧播放不了了。只能通过在编辑器里面,Toggle 下
Animator 才使得事件帧从新生效。

animator.StopPlayback();
animator.StartPlayback();
animator.StopRecording();

其他见 => animator normalizedtime_Unity中Animator做UI动画的一些细节

2.问题二:normalizedTime 和动画事件的 eventTime 以及 animator.update 的参数 deltaTime 的含义?

答:normalizedTime 动画剪辑的标准化时间。将整段动画的播放时长标准化为 [0, 1] 范围内。Animator.Play 的第三个参数 、AnimatorStateInfo.normalizedTime 都是标准化时间。

NormalizedTime 区别于 AnimationEvent.timeAnimator.Update 的参数 deltaTime。假如动画剪辑的整段播放时长有10秒,deltaTime 指的是第几秒的动画时刻。整段动画剪辑的时长,通过 AnimationClip.length 获取。某一帧(curFrame)的动画时间通过公式 curFrame / AnimationClip.frameRate 求得。

3.问题三:animator.Update 和 animator.Play 的区别?

答:假如从零开始,调用这两个API跳转到动画剪辑的一半时刻,同时,在一半时刻之前有个事件帧。那么 animator.update 将会触发该事件帧;animator.Play 不会触发该事件帧。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值