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