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