unity Animator做簡單的人物動畫


做一個簡單的總結。人物動畫的核心是狀態機的設置,配合腳本的參量,來實現各組動畫的轉換。當然,我現在也只會最簡單的動畫。

狀態機的設置有幾個坑需要記一下:

  1. Apply Root Motion:在Animator中最好取消勾選,這個選項的意思是將動畫的角度變換應用到場景中,但這樣子會影響我們腳本的使用;
  2. 狀態機設置添加Make Transition時,要把Has Exit Time取消勾選,不然的話一個動畫沒完它是不會放你想要的動畫的。
  3. 參量設置需要腳本的配合,應用到animator.SetXXX("參量名", 腳本參量名)這個函數。

到現在,人物動畫最常用的有兩個參量:speedangle。下面是配合設置的腳本。

Vector3 velocity = (m_transform.position - last_position) / Time.deltaTime;
localVelocity = m_transform.InverseTransformDirection(velocity);
localVelocity.y = 0;
speed = localVelocity.magnitude;
//angle = (HorizontalAngle(localVelocity) + 360.0f) % 360.0f;

last_position = m_transform.position;
m_animator.SetFloat("Speed", speed);
//m_animator.SetFloat("Angle", angle);

//Debug.Log("speed: " + speed);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM