天天看點

Unity中Animation與Animator元件的使用

    在unity的老版本中我們隻有Animation元件,在4.6版本以後則增添了Animator元件,如果隻是控制一個動畫的播放我們則用Animaton元件,如果是很多動畫之間互相轉換則使用Animator元件,它們兩者的差別就是Animator有一個動畫控制器,使用它來進行動畫切換是非常友善的,但缺點是占用記憶體比Animaton元件大。

    我們這裡先介紹Animaton元件:

       Animation.Play()播放;

Animation.CrossFade()動畫淡入淡出

Animation.Sample()采樣

Animation.Stop ()停止

這裡我就不詳細介紹了,我發一個連結裡面很詳細的介紹了Animaton元件

http://blog.csdn.net/bean244/article/details/20544367

好了,下面我介紹Animator元件

AnimatorStateInfo stateInfo = m_ani.GetCurrentAnimatorStateInfo(0);//擷取到目前Animator的狀态資訊,0表示Base Layer層

m_ani.IsInTransition(0);//是否處于轉換狀态

if(stateInfo.fullPathHash==Animator.StringToHash("Base Layer.idle")&&!m_ani.IsInTransition(0))

        {

            m_ani.SetBool("idle",false);

        }

        if(stateInfo.fullPathHash==Animator.StringToHash("Base Layer.run")&&!m_ani.IsInTransition(0))

        {

            m_ani.SetBool("run",false);

        }

        if(stateInfo.fullPathHash==Animator.StringToHash("Base Layer.attack")&&!m_ani.IsInTransition(0))

        {

            m_ani.SetBool("attack",false);

        }

        if (stateInfo.fullPathHash == Animator.StringToHash("Base Layer.death") && !m_ani.IsInTransition(0))

        {

               // Destroy(this.gameObject);

        }

繼續閱讀