1. 程式人生 > >Unity 4.0 中的新動畫系統——MecAnim

Unity 4.0 中的新動畫系統——MecAnim

alt clas 講解 unit 組件 之一 new src align

  分享一個文檔資料,關於動畫系統的,版本應該很老了,但是有借鑒意義的;  

  Unity 4.0 已於 2012 年 11 月 15 日正式發布,Unity 每一次版本的提升,都給遊戲開發者帶來驚喜,這一次也不例外,該版本最大變化之一就是引入了新動畫系統——MecAnim,通過 MecAnim 新的動畫系統,開發者在 Unity 中可以非常方便地實現角色動畫。所以 Unity 4.0 的啟動畫面都突出了新的動畫系統這一最新功能 。

這裏需要說明的是,在 Unity 4.0 中,開發者還是可以使用原有的動畫系統的,也就是說使用原有的非角色動畫系統, 具體步驟這裏不再詳細敘述 。

在新的 MecAnim 角色動畫系統中,我們需要通過以下步驟實現 Unity 中的角色動畫:

  1. 導入角色動畫

  2. 創建角色動畫 Avatar

  3. 添加角色動畫控制器、設置狀態機、設置混合樹、實現編碼等控制角色動畫

在導入角色動畫過程中,與原有的動畫系統類似,如果角色動畫模型已經包括相關的動畫,則在 Animation 選項卡中,可以自動導入相關的動畫,如圖 2 所示。

                          技術分享圖片       

                              圖 2 動畫設置界面

  在圖 2 中,導入角色動畫時,原有模型所設置的動畫被 Unity 很好地識別,被劃分成許多動畫片段,此時開發者還可以調整每個動畫的起始幀和結束幀。如圖所示的 Idle 動畫片段,是從 0 到 245 幀。

  當然,還可以手動設置動畫片段,這與原有的動畫系統基本一樣,這裏不再重復,如圖

3 所示。

          技術分享圖片

                3 手動設置動畫片段

  實際上,通過角色動畫導入,與原有的 Unity 並沒有什麽不同,只是在 Unity 內部轉換、識別相關的模型和動畫片段而也,這個步驟與原有的動畫系統是完全一樣的。

  在創建角色動畫 Avatar 過程中,該步驟則是新的 Unity 4.0 所必須添加的一個步驟,新的 Unity 4.0 是通過 Avatar 這個代理來實現設置角色動畫中的骨架和蒙皮的。

  在圖 4 中,單擊 Rig 選項卡中的“Configure”按鈕,為當前導入的模型創建一個 Avatar,此時會打開如圖 5 所示的界面。

  技術分享圖片

        圖 4 創建 Avatar

  通過創建 Avatar 中的 Mapping 選項卡,實現角色動畫中的骨架到 Unity 的映射,也就是說,通過該映射,Unity 可以設置角色中的骨架信息,如圖 5 所示。

  通過創建 Avatar 中的 Muscles 選項卡,實現角色動畫中蒙皮到 Unity 的映射,也就是說,通過該映射,Unity 可以設置角色中的蒙皮信息,如圖 6 所示。

  通過創建角色動畫 Avatar,在新的動畫系統 MecAnim 中,Unity 就設置了角色動畫的骨架和蒙皮信息,從而就可以在 Unity 中實現角色動畫了。

  通過上面的 2 個步驟,角色動畫在 Unity 中已經被導入,Unity 已經具有識別角色動畫的骨架和蒙皮功能,下面開發者就可以使用新的相關界面、相關功能來開發角色動畫。

  特別令人興奮的是:在新的 Unity 4.0 新的動畫系統中,開發者可以利用角色動畫的重定向功能,將其他的任意動畫動作綁定到開發者所需要指定的任何角色模型上,使得被綁定的角色也具有指定的動畫功能,實現動畫動作的可重復利用,這樣有可能將美工人員與開發人員的工作徹底分隔開來,極大提高遊戲的開發效率;同時可以預見的是,今後 Unity 中的角色動畫不再神秘,將會有許多動畫動作庫可以供開發者使用;當然這對美工來說,是一個不幸的消息,由於動作庫的可重復利用,美工的任務相對減少,因此美工的競爭在 Unity 領域將會加大。

技術分享圖片 技術分享圖片

圖 5 設置映射獲得骨架信息 圖 6 設置肌肉獲得蒙皮信息

  將創建了 Avater 的角色模型拖放到遊戲場景中,將打開如圖 7 所示的 Animator 組件界面。

  技術分享圖片

    圖 7 Animator 組件

  在圖 7 所示的 Animator 組件界面中,開發者首先需要創建一個 Animator Controller,單擊菜單 Asset——Create,在打開的菜單中選擇 Animator Controller 命令,如圖 8 所示,即可在 Project 窗格中創建一個新的 New Animator Controller。

技術分享圖片

    圖 8 創建 Animator Controller

雙擊這個 New Animator Controller,即可在左邊的窗格中打開 Animator 狀態機設置界面,如圖 9 所示。

技術分享圖片

圖 9 Animator 狀態機設置界面

在圖 10 所示的界面中,找到人物揮手的動畫,將其拖放到 Animator 狀態機中,出現如圖 11 所示的界面。

技術分享圖片

              圖 10 選擇揮手動畫

在圖 11 中,黃色的矩形 Wave 表示人物處於默認狀態。

技術分享圖片

圖 11 拖放揮手動畫到 Animator 窗口中

  在圖 12 中,選擇場景中的機器人,將 New Animator Controller 拖放到機器人的 Controller 變量之中。這樣就將原有的 Dude 動畫的揮手動作,綁定到機器人之中,使得機器人也具有揮手的動作。

  技術分享圖片

                              圖 12 綁定動畫

重復上述步驟,綁定其他的 3 個角色,使得他們也具有揮手的動作。運行遊戲,4 個角色就會全部具有揮手的動作,如圖 13 所示。

技術分享圖片

            圖 13 實現揮手動畫

以上簡單講解了如何利用重定向功能,設置角色動畫的基本過程。

關於新的 Unity 4.0 中的新動畫系統——MecAnim,這裏只是一個簡單介紹,由於文字難於表達這些操作過程,本人將盡快制作一個中文視頻講座,專門介紹 Unity 4.0 中的新動畫系統——MecAnim。

Unity 4.0 中的新動畫系統——MecAnim,中文視頻講座一旦制作完畢,將存放在優酷視頻網上,存放地址如下:http://i.youku.com/Unity3DGAME

Unity 4.0 中的新動畫系統——MecAnim