Unity 获得Animator下某个动画片段的时长

调用这个方法可以获得动画时长

	/// 
    /// 获得animator下某个动画片段的时长方法
    /// 
    /// Animator组件 
    /// 要获得的动画片段名字
    /// 
public float GetAnimatorLength(Animator animator ,string name)
    {
    	//动画片段时间长度
        float length = 0;

        AnimationClip[] clips = animator.runtimeAnimatorController.animationClips;
        Debug.Log(clips.Length);
        foreach (AnimationClip clip in clips)
        {
            Debug.Log(clip.name);
            if (clip.name.Equals(name))
            {
                length = clip.length;
                break;
            }
        }
        return length;
    }
	//用来接收返回的动画时长
	public float animatorTime;

	//这样就可以获得this的Animator里面名字叫"Take 001"的动画时长
    private void Test()
    {
        animator = GetComponent<Animator>();
        animatorTime = GetLengthByName("Take 001",animator );
    }

你可能感兴趣的:(#,Unity动画)