1. 程式人生 > >混合樹實現三種動畫融合

混合樹實現三種動畫融合

1.匯入角色
2.加入Animation中的Controller;雙擊Controler目標欄
3.出來Animator設定視窗
4.拖入的動畫,設定預設動畫,右鍵點選空白處設定Blend Tree,雙擊點入,加入動畫。
這裡寫圖片描述
這裡寫圖片描述

新增bool Run,點選箭頭確定動畫的執行
這裡寫圖片描述

點選返回箭頭,把true改為false;
在角色身上新增指令碼
//宣告
private Animator anim;
private float vertical;
private float horizontal;
public float speed;//速度
public float rotateSpeed;//旋轉速度
// Use this for initialization
void Start () {
anim = GetComponent();
}

// Update is called once per frame
void Update () {
    horizontal = Input.GetAxis("Horizontal");
    vertical = Input.GetAxis("Vertical");
    if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.UpArrow))
    {    //是否動畫
        anim.SetBool("Run",true);
        transform.Translate(Vector3.forward * speed * Time.deltaTime, Space.Self);
    //如果向前跑,vertical!=0;就可以向左右跑
        if (vertical != 0)
        {   //確定parameter,
            anim.SetFloat("RunValue", horizontal);
            transform.Translate(Vector3.forward * speed  * Time.deltaTime, Space.Self);
            transform.Rotate(Vector3.up * rotateSpeed * Time.deltaTime * horizontal);
        }
    }
    if (Input.GetKeyUp(KeyCode.W) || Input.GetKeyUp(KeyCode.UpArrow))
    {
        anim.SetBool("Run", false);
    }
}