Unity功能點---動畫控制CrossFade方法的使用和簡單說明

溫故而知新。

記錄一下CrossFade的方法使用,主要用作跳轉到指定動畫的一個方法

先添加一個動畫控制器,把需要的動畫添加進去,不需要添加任何邏輯關係:

官方一個案例附帶的動畫,下面是控制代碼:

using UnityEngine;

public class Test : MonoBehaviour
{

    public AnimationClip[] clips;
    public Animator anim;
    public int Index;
    private void Update()
    {
        AnimationChange();    
    }

    public void AnimationChange()
    {
        if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            if (Index > 0)
            {
                Index -= 1;
            }
            else
            {
                Index = clips.Length - 1;
            }
            Debug.Log(string.Format("CurrentClip:{0}", clips[Index].name));
        }
        if (Input.GetKeyDown(KeyCode.DownArrow))
        {

            if (Index < clips.Length - 1)
            {
                Index += 1;
            }
            else
            {
                Index = 0;
            }
            Debug.Log(string.Format("CurrentClip:{0}", clips[Index].name));
        }
        if (Input.GetKeyDown(KeyCode.Space))
        {
            ResetState();
            anim.CrossFade(clips[Index].name, 0, 0, 0);
        }
    }

    protected void ResetState()
    {
        transform.position = Vector3.zero;
        transform.rotation = Quaternion.identity;
    }
}

我把腳本掛在人物上,把動畫控制器和對應的動畫手動賦值,運行效果如下:

可以看到用這個方法可以達到直接跳轉到指定動畫,我這裏設置的參數是跳轉動畫從頭開始播放,具體大家可以嘗試一下。

歡迎加羣:4364930討論。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章