最後更新日期:2003/ 08/ 09  
Download IE 5

 

以FBX實現 MAX與MAYA互轉-----完全攻略!!



骨架與動作

關於骨架的轉換,不管是CS的biped,或是bones...轉出後都會變成單純的一根一根的bones,IK會不見,只會保留單純FK的形式,動作都會轉變成每一格每一個關節的旋轉量(再編輯無力),我想這是可以理解的,不過我們仍然可以將這段動作透過MAYA的trex editor或是再轉成BVH進CS作編輯(這裡需要第三方的插件配合)

特別注意一點,CS的骨架輸出後會在跨下產生一根多出來的(姑且稱為老X吧),直通地平面,那是因為Biped的Root其實是投影在地平面上的一個點,就留著不會有什麼影響。


雖然骨架可以順利轉換,但前面也提過了,IK handle之類的連結關係並不會被轉過去,這樣子就麻煩了,因為大部分的時候我們是把keyframe下在各個控制的handle或locater或dummy .....ect上,轉過去當然只有dummy的動作......只有CS沒有這樣的問題

這時候就要先把keyframe bake到骨架上去,就可以解決這一個問題了

關於動作的轉換,大部分狀況都是ok的,位移、旋轉、縮放都可以轉,不過vertex animation就無能為力了(可以透過Morph來想辦法,不過不一定划算)


至於keyframe的轉換,在輸出的時候會有一個取樣值,看是每秒幾格(預設是30格),不過也不一定就會轉出滿滿30個keyframe,程式會試著作判斷~~~~轉不過去才會強制取樣。

這時候如果都是依賴curve來調整動作的話,就有機會產生取樣錯誤,所以我的方法都是多下幾個key點來避免這樣的狀況(in max or maya)

蒙皮的部分,MAX可以轉換官方的Skin與Physique,能保留每一個點的weight(殘念,Bones pro沒辦法呀......),在FBX5.0裡面,甚至可以指定模型輸入時要轉成Skin或Physique。不過在這一點我試的經驗是成功率有待研究,多多少少還是會出現拉扯、錯點....等現象,重新執行Normalize Weights有的時候可以修正一些問題。

目前我的做法還是輸出定位好的模型與骨架到個別軟體去作skin(bind)的動作

此外,Morpher(Blend shape)也在轉換支援之中,不過我並沒有仔細的測試過,主要是做MAX的morph modifier和MAYA的Blend shape之間的轉換,測試過MAX的輸入輸出基本上都是ok的,甚至連keyframe都可以保留,不過似乎不支援MAX的progressive morph(無法對應吧),這點有機會在好好研究啦。


結語

拉拉雜雜的把這段時間整合的經驗分享下來,雖然FBX對於不同軟體之間的轉換已經提供了相對完整的解決方案,但是實際執行起來,仍不免要解決諸多問題。換個角度想,要是那麼容易就搞定了互轉,AW和Discreet也不要玩了,誰不想寡占市場呢?

其實個人也有這樣的感覺,能夠用一套軟體搞定,何苦要花費更多的成本在轉換的整合上呢?這個時候就是衡量了,要如何在效率、效果、人力資源、專案管理……上面取得一個平衡,相信是超出於技術考量的問題了。

ANYWAY,提供給有需要的朋友參考一下吧。


20040329 小聖很久未動筆


FBX簡介
基本模型轉換
材質與燈光
攝影機轉換
動作轉換