1.確認要做的表情,在MMD中做出表情動畫,並儲存為VMD檔
2.再製作一個空的表情,依樣儲存為VMD
*注意!空的表情不是不鎖任何影格,而是要鎖原先的表情影格
(例如若原先表情為閉眼的表情0還是要鎖閉眼0這個影格資訊)
3.匯入至Unity,並使用插件轉換為FBX
3-1.轉完後在VMD檔案的位置會出現同名的.anim檔,這很重要!後面會用到!
4.建立AnimatorController動畫控制器,並將剛剛轉成FBX的動畫丟進去
5.將MMD模組轉成的FBX丟到場景上,並賦予它剛剛建立的動畫控制器
6.點選MMD4Mecanim Model的Anim,並進行設定
這邊的設定就需要用到剛剛VMD額外生成出來的.anim檔案
6-1.將需要做表情的動畫額外生成出來的.anim檔案拖曳至Add Animation
6-2.設定Animator State Name為該動畫在Animator中State的名稱
命名格式為Base Layer.動畫State名稱
7.設定動畫轉換關係,就著就能預覽了~
Q1:為什麼要設定空的動畫?
A:因為若只有單一動畫(在LOOP的情況下),MMD4Mecanim內部程式無法做重複表情的撥放,一定要透過轉換到某動畫後才能驅使程式做表情更新
Q2:若將表情動畫設定在Base Layer以外的層可以嗎?
A:可以!但是要修改MMD4Mecanim的某段程式碼,原因在MMD4Mecanim的程式碼只讀Base Layer,解決方法如下
尋找MMD4MecanimAnim.cs這支程式碼,尋找以下片段
橘色部分是我加上去的,主要是讀取當前Animator的所有層
而設定Animator State Name的命名格式就為層名稱.動畫State名稱