混合樹實現三種動畫融合
阿新 • • 發佈:2019-02-14
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); } }