.bvh檔案匯入3dsmax biped模組

最近工作上遇到一個有趣的問題,需要將動作擷取的動作資料轉換到3dsmax的biped模組上,而委託者希望擷取時能同步觀看模型的動作,一開始聽到這樣的需求,腦袋直覺的就是想說利用motionbuilder擷取動作後,將動作資料plot到骨架上,匯出.bvh格式,再到3dsmax的biped模組匯入即可。
問題來了,不管是在motionbuilder內指定biped template還是character都無法順利將.bvh匯入,雖說可以直接使用.fbx格式將模型整個用3dsmax開啟,但就失去biped的編修功能了,骨架命名也改過了,但還是會出現如下圖的問題。



將.bvh打開,發現.bvh的內容跟character那些關系不大,重點在於骨架的階層關系,解決方式是,上網開始尋找各式免費的.bvh格式及修改工具如bvhacker,將下載回來的.bvh一個一個匯入至3dsmax biped模組中,直到找到能正確匯入的為止,比對一下跟原先的骨架,果然差很多。


將可以匯入的.bvh用motionbuilder打開,會出現一組帶有keyframe的骨架,選取骨架並右鍵/ZERO/Rotation,骨架的關節會歸零,然後將骨架上之keyframe砍光後調整骨架如圖中所示之"T Pose",指定一character至環境內,然後將此T pose骨架指定成一character(這邊建議用手動拖拉的方式指定,因為骨架命名格式與標準character格式有所差異)
注意!一定要先將骨架調整成T pose狀態,要不然動作會有問題。




接下來就不是什麼問題了,將動作資料套在骨架上,


匯出成.bvh檔,骨架架構應該如下圖


要注意位移資料要勾選寫入


進3dsmax biped模組匯入.bvh檔案(一開始還會有警告視窗,但可以不用理它)


可以看到biped骨架已經有動作出現,但是骨架變的很怪



直接使用biped模組的存檔功能,將檔案存成.bip檔


reset整個3dsmax,開啟一個新的biped,匯入剛剛存好的.bip檔,可以看到骨架是正常的且套入.bvh的動作資料了








其實這樣的作法只是將骨架轉換成biped模組可用的骨架階層而已,當然也可以土法煉鋼直接用修改的方式將骨架改到對為止,但是這樣的方法很麻煩且必需一直測試。要是動作相當多的話motionbuilder本身是可以將動作的take自動匯出成多個.bvh,最後轉換成.bip的部份也可以用批次的方式處理,這樣的作法可以加快不少設定的流程。

1 意見:

saiunjadin 提到...

Casino Roll
CasinoRoll is a free-to-play 아트그라비아 장주님 site that 스포츠 스코어 allows you 텐벳 to play casino games m2 슬롯 for free or for real money. To play for real money 먹튀검증업체 순위 or practice, try the casino's free