Mocap骨架解算教學
(Motion Builder)
撰稿:多媒92級 王盛錄
校訂:多媒90級 許小聖
重要:使用軟體Motion Builder 6PRO(或Mocap5.0版),才有具備Optical模組。
光球(Optical)資料的輸入:
1、 開啟MB軟體,主選單> import 光球(*.trc)輸入由EvaRT抓下來的TRC檔,動作必須包含正確T-Pose,選取creat optical segments, 選取create Unused optical segments。
2、 在Asset Browser>Templates>characters點開後,將其中的 Actor圖示拖到viewer視窗中,場景中會產生一個專門進行Mocap對應的虛擬演員(Actor)。
3、 將viewer中的Actor移到和光球相對應的位置,並調整Actor的比例大小去配合光球(選取模型或骨架用空白鍵)
4、 Navigator視窗選Actor,展開Actor Settings,按下Marker set鈕>create,Actor選單上會出現標記點
5、 將Navigator視窗>opticals中的光球拖曳到Actor Setting中的相關對應位置,不一定每一個光球都要有對應Actor位置,也可以一個光球對應多個位置,也可增減對應來調整動作
(註:oriented 不要打勾,這是配合電磁感應系統的)
6、 勾Active,啟動Actor Mapping,虛擬演員將隨光球動作。
修整Optical Data:
1、 Animation>opticals 出現opticals模組視窗,點Rigid Body標籤,選要做Rigid Body的 opticals 按Add,Rigid Body第一個作用是類似EvaRT裡面的Joint Virtual,可以推算出被遮蔽等狀況的不良資料(重要!先不要勾done)
2、 開始修正Optical Swapping,比對Actor動作正確性,將每個光點的每一段Segment修正到正確的命名,如果有顯著的雜訊也可順手切掉這一小段Segment,全部完成後,勾選done。
3、 選取全部的Optical,開啟Animation>FCurve面板,出現所有光點XYZ的曲線,全選(Select All Key),開啟Filter面板,可套用Peak Remove過濾器,濾除突波雜訊,也可適度使用Smooth平順動作。
4、 回到Optical模組的Rigid Body面板,勾選Create Rigid Animation,產生Rigid Body 穩定解算後的動作效果(可以穩定如肩膀、腰臀部分光點因運動所產生的偏移)。
解算骨架:
1、 輸入已經Characterlize(角色化)的骨架檔案(見Maya骨架的輸入及輸出一節),在Character/Actor Control面板選取Actor Input,Actor Source選擇剛剛作好對應的Actor,啟動虛擬演員輸入。
2、 Character(角色)將跟隨Actor(虛擬演員)的動作,選擇Edit>Plot ,將動作"種植"到骨架下,轉為每一個關節的旋轉量(或是轉為IK Effector的T/R以便修整動作)
3、 點選骨架Hip的位置,並將下面所有的骨架都選取起來,Export成需要的格式(BVH、HTR、FBX….等)
輸入其他Mocap資料:
1、 Import *.trc(有動作的)勾選 merge的方式(否則會是一組新的光球進來)
2、 MB會將新輸入的資料建立一個新的Take,每個Take的Optical動作互不影響。但會應用相同的Actor Mapping,在存FBX的時候可以選擇要個別儲存的Take。
Maya骨架的輸入及輸出:
1、 將 Maya的skeleton export成*.fbx檔
2、 如果連model也要一起進去,則在Maya中model & Skeleton Bind 好後,export成*.fbx檔
(只要Bind好,則不管有沒有選model一起exportt出去,用open會連model 一起進來,import只有skeleton進來)
3、 open這個Maya存出的 *.fbx檔
4、 Asset Browser>characters>character 將圖示拖到viewer 視窗中,Navigator 中的characters會增加一個character
5、 在character Definition 面板中,將scene 中,適當的骨架拖曳到適當的model位置(至少Base(required)的部分要有對應的)
6、 完成後勾選characterize ,選Biped(二足)
7、 用open方式,勾選Merge,把Actor已設好動作的.fbx檔讀進來
8、 在Character control 勾Actor Input,Edit>Input 勾Actor Input ,勾Actor,這樣應該character就會跟著光球動
9、 將Navigator 中scene中的關節全部選起來(右鍵>Select Branches),全部的關節都變成綠色
10、 Animation>Plot Selected 解算關節 勾 plot on frame
11、 Export *.fbx
12、 進Maya ,開啟原先骨架及model已經bind好的場景
13、 import這個*.fbx,選Merge方式,選取所需的Animation Take
14、 這個時候模型關節應該就可以跟著當初擷取的方式來動了
3DS Max骨架的輸入及輸出:
1、 如果是使用Bones架骨架,方法同Maya
2、 使用CS可輸出成FBX,將轉為Bones
3、 要將資料輸入回CS,必須使用BVH格式,CS BVH有專屬的命名格式,必須使用MB圓場所提供的專用BVH Character做轉換。
註:xsi測試的結果可import skeleton 到 MoCap,但export解算過後的.fbx回xsi 有問題,但同樣的檔案到Maya可順利開啟
註:Motion Builder應用於Mocap系統上的特點
1. Kaydara這家公司已於2004年底被Alias收購,MotionBuilder系列成為Alias旗下的一大產品線 http://www.alias.com/eng/products-services/motionbuilder/index.shtml
MotionBuilder專門用於MotionCaptureStudio的版本為Alias Mocap,具有Motion Builder所有的功能,並加上Mocap設備的支援 (MotionBuilder 6 Pro 只有加入Optical模組,能進行marker對應到骨架的動作,但無設備支援) http://www.alias.com/eng/products-services/mocap/index.shtml
2. 使用MotionBuilder的優勢在於能快速將擷取下來的光點資料即時對應到各種3D角色上,不需像Si要經過繁瑣的骨架設定,能夠在一套軟體中進行整個Mocap的流程。
另外,MotionBuilder本身即為相當強大的角色動畫專用軟體,具有先進的IK與角色設定功能。
3. MotionBuilder專用的FBX格式,能夠對應主流的3D軟體,包括MAYA、MAX、XSI、LW......等,透過FBX可以進行包括模型、骨架、燈光、攝影機....等的轉換,而且Plugin是免費的,可以增加整個Mocap流程的相容性與後續應用。MotionAnalysis的htr格式則需要專用的外掛,並且需要License,不利於交換。
7 則留言:
你好!
想請問目前的XSI6.0和Motionbuilder以及Mocap的連結依然會有問題嗎?在回輸.fbx到XSI裡面仍然會有錯誤產生嗎?
sorry,我沒有用過XSI,MAX和MAYA都是沒有問題的
目前MAYA和MB的相容度應該是最好的。
非常感謝你的回答!^^!謝謝!
Maya和MB的相容度好,這不知道是福還是禍!> <!我總覺得因為相容度好,所以看起來Maya在角色動畫方面會非常倚賴MB,我猜想未來Autodesk為了考慮商業價值,怕產品功能重疊,Maya在未來可能也不會在角色動畫方面再作重大的更新了!
目前小弟在匯入trc的檔案到Motionbuilder時,它都會顯示The follow file cloudn not be read,不知道發生什麼問題了?不知道小聖大大有沒有遇過?
最後我只好在EVaRT裡轉為c3d的檔案再匯入MB裡,沒想到在MB裡面一播放,竟然是和在MotionAnalysis所擷取的動作是左右相反的,真是奇怪,不知道有沒有辦法修正呢?
剛剛發現可以把Trc的動作匯入了!^^!終於成功了!
但匯入c3d的動作會變成左右對稱,卻還未解決!不過這樣也好!以後若有人要做左右對稱的資料,轉c3d之後給他就是了!^^!
我沒有用過C3D,都是用TRC檔轉到MB中修正,對了下面小弟作Mocap研究的社群,歡迎指教http://groups.google.com/group/ntua-mocap-team
3ds max骨架bone匯到Motionbuilder裡面會有個小問題,就是只支援整個Character骨架的解算,但不支援各別的Chain IK。
張貼留言