以往若提起「使用Mixamo動作」,多數的流程會是:
「把角色Model上載到Mixamo,完成rigging,挑選動作,再下載成fbx用到3D project裡」
簡單快速就能取得一個連動作的骨架
在有些情況,以上步驟就已經夠用,甚至都不用修改
如果你嘗試把Mixamo動作,用在比較複雜的Project,會發現這個做法是很受限制的。
例如,你有一個已經rig好並且完成PaintWeight的人物,但卻不可以用到Mixamo的動作
因為動作文件有對應的骨架,你無法直接把一套動作用到不同的骨架上
經過一個「Animation Retarget」(動作轉移)的步驟
就可以跨越不同骨架之間的障礙,把動作用到任意的人物骨架上
Mixamo是一個動作素材庫,只要登入adobe帳號就能免費使用。
裡面有不少動作,一直是遊戲製作者的動作寶庫,我們做動畫也能受益不少。
在這篇文章,我會把左邊的Mixamo動作,應用到右邊的Minahoshi Chan
動作Data的根本,就是紀錄:某一根骨頭,在某個時間點,在某個移動軸,的變化幅度
例如以下的簡單動作,就記錄了:
「名為Head的骨頭,在第24frame到48frame之間,Rotation X軸線性增加30度」
當我們直接把這份動作,應用到其他骨架時…
可以看到,名稱同樣為「Head」的骨頭就有在相同的時機,一起在X軸增加了30度
而其他名稱的骨頭,則沒有反應,相當於是沒有任何Keyframe
從上面的測試,我們可以知道…
然而,大部分的情況是:不同骨架之間,總是會有不同的名字,甚至是不同的骨架結構
導致動作無法直接套用
上圖可以看到,Mixamo的骨架與Minahoshi Chan的骨架大不相同
此時,就需要修改動作檔
例如把左邊的頭骨名稱「mixamorig:Head」改成右邊人物的「Head」
把左邊人物的肩膀骨名稱「mixamorig:LeftShoulder」改成右邊人物的「Shoulder.L」
…
這個過程就是「Animation Retarget」(動作轉移)
此次的Retarget功能,需要用到Rokoko Studio的Blender插件
可以在官網免費下載
裝完之後,會在側邊欄找到Rokoko的plugin面板
第一次開啟Rokoko插件,需要登入Rokoko的帳號,登入一次以後就能離線使用
同樣,帳號也是在官網可以免費註冊
我們需要用到的,只有retarget這欄,其他功能可以收合起來
Retarget面板裡面,你需要選兩幅骨架
分別是Source,動作的來源,對應已經有動畫的Mixamo骨架
和Target,動作轉移的目標,對應我們的主角,可愛的Minahoshi chan
指定完成後,就可以按下面的「Build Bone List」,進入第三步
當按下Build Bone List以後,插件會自動分析兩幅骨架
嘗試幫你找出兩幅骨架中,各自對應的骨頭
例如左邊的mixamo骨架中「mixamorig:Neck」就是對應我們人物的「Neck」骨頭
然後「mixamorig:Head」就是對應「Head」,以此類推
可以看到,其實插件已經幫我們做了很多,一些主要的骨頭都有對應到
而且是單純名字格式的區別,不容易出錯
我們需要注意的就是一些「比較有機會出錯的地方」
有些情況比較複雜
除了名稱格式以外,對於骨頭的命名方式也有差異,例如下圖
同一個部位,有些骨架是「ForeArm」,有些則是「LowerArm」
這次我們運氣比較好,Rokoko插件都有順利對應到
基本確認沒有大問題後,就可以按下「Retarget Animation」按鈕
等待幾秒時間,Rokoko插件會按照Bone List,生成一個新的Retarget版本動作
並自動套用到Target的Minahoshi Chan
Minahoshi Chan就能順利動起來了!
最後再根據情況做些微調,例如這次,會長覺得甩頭的動作太大,不太適合角色的比例
於是把甩頭的幅度調小了
還有就是一些常見的穿模,同樣可以透過調整動作曲線,或者調整PaintWeight來解決
Retarget就完成啦!
最後幫Minahoshi Chan設置了表情變化
(超好的,人物附帶超多做好的Shape Key表情)
再次感謝かめ山/kameyama願意借出「Minahoshi Chan」,作為這次演示的主角