当前位置:   article > 正文

Unity 获取当前动画播放的帧_unity获取当前动画播放到第几帧

unity获取当前动画播放到第几帧

在Unity动画控制中,如何获得当前动画已经播放到的帧呢?
其实可以通过 clip.frameRateclip.length,及normalizedTime来计算出具体的帧。

  1. //当前动画机播放时长
  2. currentTime = anim.GetCurrentAnimatorStateInfo(0).normalizedTime;
  3. //动画片段长度
  4. float length = anim.GetCurrentAnimatorClipInfo(0)[0].clip.length;
  5. //获取动画片段帧频
  6. float frameRate = anim.GetCurrentAnimatorClipInfo(0)[0].clip.frameRate;
  7. //计算动画片段总帧数
  8. float totalFrame = length / (1 / frameRate);
  9. //计算当前播放的动画片段运行至哪一帧
  10. int currentFrame = (int)(Mathf.Floor(totalFrame * clipTime) % totalFrame);
  11. Debug.Log(" Frame: " + currentFrame +/+ totalFrame);

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/48296
推荐阅读
相关标签
  

闽ICP备14008679号