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