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