MotionBuilder綁定C3D動作到模型身上
【一、動作文件的導入】
打開MotionBuilder以後,選擇 File 菜單,然後選擇 Motion File Import。MotionBuilder支持導入(rù).fbx .bvh .htr .trc .asf .amc .c3d等多種格式的運動文件,不過需(xū)要注意的是,運動文件所在路徑不能含(hán)有中文名,如果含有中文名程序直接崩潰退(tuì)出,不過有意思的是,MotionBuilder的打開和保(bǎo)存功能並沒有這個問題。
選擇文件(jiàn)後會出現如下的對話框,motion.c3d即為導入的文件。
由於C3D文件的頭(tóu)部記錄了第一(yī)幀的序號,所以這裏實際的第一(yī)幀的序號為126,雖然在MotionBuilder或其他軟件中做動畫並不會出(chū)現問題,但是(shì)如果編寫程序調(diào)用該動作時可(kě)能會有些問題,建議雙擊開始(shǐ)時間修改為(wéi)0,修改完開始時間結(jié)束時間(jiān)會自動修改。當然,如果現在不修改的話,也可以(yǐ)導入後在 Navigator 裏找到 Takes,然後再找到(dào)剛(gāng)才添加的這個Take,然後修改 Local start 也(yě)可。
點擊 Import 後,在MotionBuilder中(zhōng)即會出現導入的動作捕捉點。
【二、界麵控製】
在界麵(miàn)的左(zuǒ)上角可以在 View 菜單中控製與顯示有關的設置,比如:
- 選擇(zé) Viewer Layout 可以設置同(tóng)時顯示幾個顯示麵板。
- 選擇 Perspective -> Producer Perspective 可以使用透(tòu)視相機。
- 選擇 Orthographic -> Producer Front / Back / Right / Left / Top / Bottom 可以(yǐ)使用不同的正(zhèng)交相機,快捷(jié)鍵分別是切換到(dào)前後(hòu)為Ctrl+F,右左為Ctrl+R,上下為Ctrl+T。
- 選擇 Default Camera View 或按快捷鍵(jiàn)Alt+Home可以複位為該攝像機的默認設置。
在界麵(miàn)上方的五個(gè)按鈕(niǔ)是用來調整攝像機的,都是將鼠標按在指定按鈕上然(rán)後用鼠標(biāo)拖動(dòng)實現(xiàn)調整(zhěng)的。
-
Orbit (L) | Pan / Tilt (R)
- 鼠標左鍵 左(zuǒ)右拖動為沿水平軌道調整攝像機位置(zhì),上下拖動為沿垂直軌道調整攝像機位置。
- 鼠標右鍵 左右拖動為調(diào)整攝像機轉動角度(Pan),上下拖動為調整攝(shè)像機傾(qīng)斜角度(Tilt)。
- 除此之外 按住Shift+Ctrl鍵拖動鼠標(biāo)也可實(shí)現同樣功能。
-
Travelling with Interest (L) | Travelling (R)
- 鼠(shǔ)標左鍵 上(shàng)下左右四個方向拖(tuō)動即為調整攝像機(jī)的位置。
- 除此之外 按住Shift鍵拖動鼠標也可實現(xiàn)同(tóng)樣功能。
-
Dolly (L) | Dolly with Interest (R)
- 鼠標(biāo)左鍵 上下(或左右)拖動為(wéi)推拉攝像機。
- 除此之外 按住Ctrl鍵拖動鼠標或使用鼠標滾輪也可實現(xiàn)同樣功能。
-
Zoom (L)
- 鼠標左鍵 上下(或左(zuǒ)右)拖動為調(diào)整攝像機(jī)視野(Field Of View)角度。
-
Rool (L) | Roll +15 deg (R)
- 鼠標左鍵(jiàn) 左右拖動為左右轉動攝(shè)像機(Roll)。
- 鼠標右(yòu)鍵 左右(yòu)拖動為每次左右(yòu)轉動攝像機(Roll)15度(dù)。
除此之外,還可以在 Navigator 中選擇 Cameras,然後選擇 Producer Perspective,同樣可以進行攝像機的相關設(shè)置(zhì)。
【三、綁定動(dòng)作(zuò)到Actor】
要實現(xiàn)動作與模型的綁定,首先需要將動作綁定到 Actor 上,首先在界(jiè)麵右(yòu)側的 Character Controls 麵板中選擇 Create 裏的 Actor。
然後界麵中將會出現一個人物模(mó)型,如下圖所示,由於(yú)動作捕捉點與 Actor 不對齊,首先需要將使用(yòng)平移、旋轉和縮放工具將其對齊。
其中如果要調整所有運動捕捉點的話,可以點擊上圖中人腳下(xià)的白色球體,選中後會變為綠色,然後分別按T鍵、R鍵和S鍵可以分別實現平移、旋轉和縮放。其中按(àn)R鍵後會出現如下圖所示的界麵。
其中紅色、綠色、藍色(sè)和褐色的圓圈為按不同方向進(jìn)行調整,也可使用灰(huī)色的圓圈為(wéi)任意方向。選中(zhōng)要調整的圓圈,其會變成(chéng)白色,然後使用鼠標拖動即可。
同樣的,按T後會出現如下所示的界麵,同樣也是紅、綠、藍三個,分別點擊移(yí)動鼠標調整即可(kě)。
當動作捕捉點整體與 Actor 在同一位置後,可以再調整身體上的部位,使得身體上的部(bù)位與捕捉點對應即可。為了便於(yú)調整也可以(yǐ)點擊 Display 菜(cài)單,選擇 X-Ray 模式,顯示出 Actor 的骨骼來,然後點擊骨骼也可以進行調整,方(fāng)法與調整整體一(yī)樣,隻不過調整起來(lái)更複雜些罷了。
然(rán)後點擊 Navigator 麵板下(xià)的 Actors,選擇 Actor,然後在右側的 MarkerSet,然後點擊 Create 即可,如下圖所示。
然後在 Navigator 中將會出現 MarkerSet 一(yī)項,同時在 Actor Settings 的(de) Actor 中出現一係(xì)列表示關(guān)節的圓圈,表示這個部位綁定的捕(bǔ)捉點數量。
其中各部位的名稱如下,由於左右對稱,所以隻標注了一邊:
接下(xià)來隻需要選擇捕捉點然後拖動到指定的圓圈中即(jí)可。選擇的(de)方法有兩種:
- 在視圖中選中捕捉點顯示的方塊,可以按住空格鍵多選,然後(hòu)按Alt鍵將其拖動到指定關節所表示的圓圈(quān)。
- 在 Navigator 中選擇(zé) Opticals,然後在其中找到導入的動作,比如這裏叫(jiào) C3D:optical,然後選中指定名稱的捕捉(zhuō)點,可以按住Ctrl鍵多選,然後直接拖(tuō)動到指定關節所表(biǎo)示的圓圈即可。
其中我這裏使用的捕捉點與骨骼的對應關係(xì)如下(xià),當然有時候因為數據(jù)也需要靈活調整,或者有些部位不綁定:
Actor 部位 | C3D 捕捉點 |
Head(頭部) | LFHD(左太陽穴)、RFHD(右太陽穴)、LBH(左(zuǒ)後腦)、RBHD(右後腦) |
Chest(胸部) | C7(頸椎根部,脊椎第七節(jiē))、T10(背部中(zhōng)點,胸椎第十(shí)節)、CLAV(胸骨上端)、STRN(胸骨劍突位)、RBAC(右後背心(xīn)) |
Hips(臀部) | LFWT(髖骨左前方)、RFWT(髖(kuān)骨右前方)、LBWT(左髂後(hòu)上(shàng)棘)、RBWT(右髂後上(shàng)棘) |
Left shoulder(左肩) | LSHO(左肩肩骨末端(duān)突出處) |
Right shoulder(右肩(jiān)) | RSHO(右肩肩骨末端(duān)突出處) |
Left elbow(左(zuǒ)手肘) | LELB(左手肘關節外(wài)圍突出處(鷹(yīng)嘴突)) |
Right elbow(右手肘) | RELB(右手肘(zhǒu)關(guān)節外圍突出(chū)處(鷹嘴突)) |
Left wrist(左手腕) | LWRA(左手手腕靠拇指端)、LWRB(左手手腕靠小指端) |
Right wrist(右手腕) | RWRA(右手手腕靠拇指端)、RWRB(右手手腕靠小指端) |
Left hand(左手) | LFIN(左手中指關節下方) |
Right hand(右手) | RFIN(右手中指關(guān)節下(xià)方) |
Left knee(左膝(xī)) | LKNE(左腳膝蓋關(guān)節(jiē)外緣) |
Right knee(右膝) | RKNE(右腳膝蓋(gài)關節外緣) |
Left ankle(左腳踝) | LANK(左踝關節外緣突出處) |
Right ankle(右腳(jiǎo)踝(huái)) | RANK(右(yòu)踝關節外緣突出處) |
Left foot(左腳掌) | 忽略 |
Right foot(右腳掌) | 忽略 |
Left toe(左(zuǒ)腳趾) | 忽略 |
Right toe(右腳趾) | 忽略(luè) |
在綁定所有捕捉點後(hòu)可以點擊 Actor Settings 中的(de) Snap 按鈕,此時 Snap 按鈕左側的選項將(jiāng)會勾(gōu)上,即可(kě)完成綁定,現在(zài)點(diǎn)擊播放按鈕,Actor 就會隨著捕捉點進行運動了,然後保存為fbx文件即可。
如果播放後發現綁定(dìng)的效果不好(hǎo),可以取(qǔ)消勾選 Snap 按鈕左側的選項,然後(hòu)編輯後重新(xīn)綁定,此時會出現(xiàn)如下的(de)對(duì)話框,選擇TR(Translate / Rotate)即可。
若要綁定到模型,首先需要把模型角色化,如果模型已經角色化過,可以(yǐ)跳過這節。首先打開一個模型,出現如下圖所示:
在 Character Controls 麵板中點擊 Defination,如果出現(xiàn)的如下圖所(suǒ)示則表示(shì)沒有(yǒu)角色化,如果(guǒ)模型已經角色化,則(zé)下圖(tú)中左(zuǒ)數第二個鎖定圖標應為鎖定狀態並且顯示為灰色的骨骼應該顯示為(wéi)綠色。
綁定骨骼時隻需要雙擊指定骨骼,然後除了該骨骼外的其他骨骼將會變暗(àn),表示現在正在綁定該骨骼,然後在視圖中點擊對應的骨骼即可。比較智能的是,默認時(shí)左邊(biān)數第三個圖標(biāo) Mirror Matching 是選中的,所以如果綁定了一邊的骨骼,另一邊會自動綁定,當然也可以手動將其去除。除此之外,點擊手邊和胸部的(de)下三角還可以綁定更多骨骼,胳膊與腿旁邊也有一些骨骼可以綁定,但這些骨骼不綁定也(yě)不會影響(xiǎng)角色化。
在身體上的(de)所有骨骼均綁定(dìng)成功後,右上(shàng)角驗證狀態(Validation status)的圓圈會變為綠色。
然後選擇左數第二個 Lock Character,然後會出現如下圖的對話框,選擇Biped(兩足動物)即可完成綁定(dìng)。
在模型角色(sè)化以後就可以(yǐ)與之前綁定好動作的Actor進行綁定了,在MotionBuilder打(dǎ)開角色化後的模型後(hòu),選擇 File -> Merge,然後打(dǎ)開剛才保存的動作fbx文件,與打開的對話框稍有不(bú)同,直(zhí)接(jiē)點擊 Merge 即可。
此時在視圖中發現(xiàn)之前綁定好的 Actor 與當前模型在一起顯示了:
然後選擇 Character Controls 麵板中的 Source,然後選擇 Actor 即可(kě)(如果沒有角色化,則選擇 Actor 時會提示錯誤(wù)):
然後模型(xíng)就會與之前(qián)綁定(dìng)好動作的 Actor 一起動了,此時可以點擊播放查看效果。
後(hòu),點擊 Character Controls 麵板左側的菜單,選擇 Bake (Plot) -> Bake (plot) To Skeleton 然後保存文件即可。
- 上一篇:Unity3D引用dll打包發布的問題及解決 2018/9/12
- 下一篇:motionbuilder錄製(zhì)動捕數據流(liú)程 2018/9/6