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