MMD模組透過MMD4mecanim插件進到Unity後,許多MMD功能都滿完善的
但MMD的表情幾乎都不是由骨架控制
因此角色模組底下絕對找不到控制表情的關節
這種情況下如何控制表情?MMD4mecanim提供了2種方式
1.由模組本身的MMD4MecanimModel程式中的Morph選項控制
這種控制方式十分簡單,直接用程式碼去抓表情名稱後再設定權重就可以了
甚至插件內作者還自帶表情控制的程式碼
詳細可以參考
這篇作者的教學文,但表情的循環控制是使用playmaker
以上是第一種控制方式~~~不是這篇要講的重點
重點在此
2.使用VMD動畫轉入Unity成獨立的Anim(動畫)檔
MMD4mecanim插件本身就具有將PMX模組與VMD動作檔轉成FBX的功能
簡單來講就是把VMD轉成了Unity可以使用的Anim檔了!!!!
而到此都沒甚麼問題....但問題來了
Unity的動畫是紀錄物件與子物件的變化,到此可以先回想一下之前說的(請往上滾
)
MMD的表情幾乎都不是由骨架控制,因此角色模組底下絕對找不到控制表情的關節
而且Unity的動畫也無法紀錄Editor的參數
因此想用上面方法1調整權重的方式去讓動畫紀錄也不可行
這種情況下轉出來的Anim檔只能讀取骨架變化,無法紀錄表情
然而,當然有其他種方式可以讓Anim檔能正確做出表情
是要透過MMD4MecanimModel中的Anim選項
注意!上圖中的Anim File是VMD轉成FBX時,會額外產生的與動畫同名的檔案,並非動畫檔本身
內部的程式概述是這樣
在執行時不段檢查,Animator正在撥放的動畫(Animator State Name)是否等於Anim File
如果等於就依照Anim File內的數值更新角色模組(這裡就是在做更新表情影響的頂點!)
只要這塊設定無誤,就能讓動畫去撥放表情
這也就代表,可以使用Animator去控制表情!!可以用圖像化去管理表情了!!