我们有时候会在协程中等待动画播放完毕,再去执行下一步的操作,但是由于不知道动画的播放时长,每次都要去看动画然后默数秒数(PS:作者以前是这样做的)。终于突发奇想我为什么不能直接获取动画的时长呢?文章来源:https://www.toymoban.com/news/detail-703059.html
下面直接上代码文章来源地址https://www.toymoban.com/news/detail-703059.html
/// <summary>
/// 获取animator的时间,注意是Animator!!!!
/// </summary>
/// <param name="animator"></param>
/// <param name="animator_Name">动画的名字</param>
/// <returns></returns>
private float ReturnAnimatorTimer(Animator animator,string animator_Name)
{
float length = 0;
AnimationClip[] clips = animator.runtimeAnimatorController.animationClips;
foreach (AnimationClip clip in clips)
{
if (clip.name.Equals(animator_Name))
{
length = clip.length;
break;
}
}
return length;
}
/// <summary>
/// 获取animation的时间,注意是Animation!!!!
/// </summary>
/// <param name="animation"></param>
/// <param name="animation_Name">动画的名字</param>
/// <returns></returns>
private float ReturnAnimationTimer(Animation animation,string animation_Name)
{
float length = 0;
AnimationClip animationClip = animation.GetClip(animation_Name);
length = animationClip.length;
return length;
}
到了这里,关于Unity获取Animation和Animator的时长的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!