【題外話】html
實驗室人手不足,雖然本身連MotionBuilder一點都沒有用過,可是老闆叫本身幹也只能硬着頭皮上了。本文詳細介紹了MotionBuilder 2013中的攝像機操做以及在MotionBuilder中導入C3D動做文件,並最終與指定人物模型綁定。app
【文章索引】工具
打開MotionBuilder之後,選擇 File 菜單,而後選擇 Motion File Import。MotionBuilder支持導入.fbx .bvh .htr .trc .asf .amc .c3d等多種格式的運動文件,不過須要注意的是,運動文件所在路徑不能含有中文名,若是含有中文名程序直接崩潰退出,不過有意思的是,MotionBuilder的打開和保存功能並無這個問題。ui
選擇文件後會出現以下的對話框,motion.c3d即爲導入的文件。spa
因爲C3D文件的頭部記錄了第一幀的序號,因此這裏實際的第一幀的序號爲126,雖然在MotionBuilder或其餘軟件中作動畫並不會出現問題,可是若是編寫程序調用該動做時可能會有些問題,建議雙擊開始時間修改成0,修改完開始時間結束時間會自動修改。固然,若是如今不修改的話,也能夠導入後在 Navigator 裏找到 Takes,而後再找到剛纔添加的這個Take,而後修改 Local start 也可。3d
點擊 Import 後,在MotionBuilder中即會出現導入的動做捕捉點。rest
在界面的左上角能夠在 View 菜單中控制與顯示有關的設置,好比:blog
在界面上方的五個按鈕是用來調整攝像機的,都是將鼠標按在指定按鈕上而後用鼠標拖動實現調整的。
除此以外,還能夠在 Navigator 中選擇 Cameras,而後選擇 Producer Perspective,一樣能夠進行攝像機的相關設置。
要實現動做與模型的綁定,首先須要將動做綁定到 Actor 上,首先在界面右側的 Character Controls 面板中選擇 Create 裏的 Actor。
而後界面中將會出現一我的物模型,以下圖所示,因爲動做捕捉點與 Actor 不對齊,首先須要將使用平移、旋轉和縮放工具將其對齊。
其中若是要調整全部運動捕捉點的話,能夠點擊上圖中人腳下的白色球體,選中後會變爲綠色,而後分別按T鍵、R鍵和S鍵能夠分別實現平移、旋轉和縮放。其中按R鍵後會出現以下圖所示的界面。
其中紅色、綠色、藍色和褐色的圓圈爲按不一樣方向進行調整,也可以使用灰色的圓圈爲任意方向。選中要調整的圓圈,其會變成白色,而後使用鼠標拖動便可,例如以下所示。
一樣的,按T後會出現以下所示的界面,一樣也是紅、綠、藍三個,分別點擊移動鼠標調整便可。
當動做捕捉點總體與 Actor 在同一位置後,能夠再調整身體上的部位,使得身體上的部位與捕捉點對應便可。爲了便於調整也能夠點擊 Display 菜單,選擇 X-Ray 模式,顯示出 Actor 的骨骼來,而後點擊骨骼也能夠進行調整,方法與調整總體同樣,只不過調整起來更復雜些罷了。
所有調整完後相似以下的效果:
而後點擊 Navigator 面板下的 Actors,選擇 Actor,而後在右側的 MarkerSet,而後點擊 Create 便可,以下圖所示。
而後在 Navigator 中將會出現 MarkerSet 一項,同時在 Actor Settings 的 Actor 中出現一系列表示關節的圓圈,表示這個部位綁定的捕捉點數量,以下圖。
其中各部位的名稱以下,因爲左右對稱,因此只標註了一邊:
接下來只須要選擇捕捉點而後拖動到指定的圓圈中便可。選擇的方法有兩種:
其中我這裏使用的捕捉點與骨骼的對應關係以下,參考了VICON的說明。其實對應關係能夠有不一樣的方式(相關連接3、相關連接4、相關連接5),固然有時候由於數據也須要靈活調整,或者有些部位不綁定:
Actor 部位 | C3D 捕捉點 |
Head(頭部) | LFHD(左太陽穴)、RFHD(右太陽穴)、LBH(左後腦)、RBHD(右後腦) |
Chest(胸部) | C7(頸椎根部,脊椎第七節)、T10(背部中點,胸椎第十節)、CLAV(胸骨上端)、STRN(胸骨劍突位)、RBAC(右後背心) |
Hips(臀部) | LFWT(髖骨左前方)、RFWT(髖骨右前方)、LBWT(左髂後上棘)、RBWT(右髂後上棘) |
Left shoulder(左肩) | LSHO(左肩肩骨末端突出處) |
Right shoulder(右肩) | RSHO(右肩肩骨末端突出處) |
Left elbow(左手肘) | LELB(左手肘關節外圍突出處(鷹嘴突)) |
Right elbow(右手肘) | RELB(右手肘關節外圍突出處(鷹嘴突)) |
Left wrist(左手腕) | LWRA(左手手腕靠拇指端)、LWRB(左手手腕靠小指端) |
Right wrist(右手腕) | RWRA(右手手腕靠拇指端)、RWRB(右手手腕靠小指端) |
Left hand(左手) | LFIN(左手中指關節下方) |
Right hand(右手) | RFIN(右手中指關節下方) |
Left knee(左膝) | LKNE(左腳膝蓋關節外緣) |
Right knee(右膝) | RKNE(右腳膝蓋關節外緣) |
Left ankle(左腳踝) | LANK(左踝關節外緣突出處) |
Right ankle(右腳踝) | RANK(右踝關節外緣突出處) |
Left foot(左腳掌) | 忽略 |
Right foot(右腳掌) | 忽略 |
Left toe(左腳趾) | 忽略 |
Right toe(右腳趾) | 忽略 |
在綁定全部捕捉點後能夠點擊 Actor Settings 中的 Snap 按鈕,此時 Snap 按鈕左側的選項將會勾上,便可完成綁定,如今點擊播放按鈕,Actor 就會隨着捕捉點進行運動了,而後保存爲fbx文件便可。
若是播放後發現綁定的效果很差,能夠取消勾選 Snap 按鈕左側的選項,而後編輯後從新綁定,此時會出現以下的對話框,選擇TR(Translate / Rotate)便可。
若要綁定到模型,首先須要把模型角色化,若是模型已經角色化過,能夠跳過這節。首先打開一個模型,出現以下圖所示:
在 Character Controls 面板中點擊 Defination,若是出現的以下圖所示則表示沒有角色化,若是模型已經角色化,則下圖中左數第二個鎖定圖標應爲鎖定狀態而且顯示爲灰色的骨骼應該顯示爲綠色。
綁定骨骼時只須要雙擊指定骨骼,而後除了該骨骼外的其餘骨骼將會變暗,表示如今正在綁定該骨骼,而後在視圖中點擊對應的骨骼便可。比較智能的是,默認時左邊數第三個圖標 Mirror Matching 是選中的,因此若是綁定了一邊的骨骼,另外一邊會自動綁定,固然也能夠手動將其去除。除此以外,點擊手邊和胸部的下三角還能夠綁定更多骨骼,胳膊與腿旁邊也有一些骨骼能夠綁定,但這些骨骼不綁定也不會影響角色化。
在身體上的全部骨骼均綁定成功後,右上角驗證狀態(Validation status)的圓圈會變爲綠色。
而後選擇左數第二個 Lock Character,而後會出現以下圖的對話框,選擇Biped(兩足動物)便可完成綁定。
在模型角色化之後就能夠與以前綁定好動做的Actor進行綁定了,在MotionBuilder打開角色化後的模型後,選擇 File -> Merge,而後打開剛纔保存的動做fbx文件,與打開的對話框稍有不一樣,直接點擊 Merge 便可。
此時在視圖中發現以前綁定好的 Actor 與當前模型在一塊兒顯示了,以下圖:
而後選擇 Character Controls 面板中的 Source,而後選擇 Actor 便可(若是沒有角色化,則選擇 Actor 時會提示錯誤),以下圖:
而後模型就會與以前綁定好動做的 Actor 一塊兒動了,此時能夠點擊播放查看效果。
最後,點擊 Character Controls 面板左側的菜單,選擇 Bake (Plot) -> Bake (plot) To Skeleton 而後保存文件便可。
【相關連接】