這半個月的收獲太大了,終于可以宣布拋棄其他任何的mesh格式了,因為我完全擁有了自己的mesh格式
主要分為三類
1.普通的mesh
2.室內(nèi)Portal 場景
3.骨骼動畫
這三個類別做了個簡單的整合,過兩天打算做成max工具面板的形式來導出,我想操作起來會更方便吧
開發(fā)體會:
---------------------------------------
這段時間全力在攻克骨骼動畫的導出,可真是不容易啊,找了很多資料,可以所是摸著石頭過河的
把x格式研究了一遍又一遍,max sdk 快翻爛了,max sdk里面的東西簡直就可以“沒有天理”來形容
國外的資料也查的快瘋掉,好歹摸索出來了
目前的數(shù)據(jù)導出基本按照x格式的思路來組織,導出數(shù)據(jù)來計算的,拋棄了3dmax建議的骨骼空間本地頂點的插值計算方式
而采用了對原始蒙皮姿勢的mesh頂點直接按骨骼權(quán)重的方式進行計算,就蒙皮姿勢的數(shù)據(jù)就讓我好找啊
原來還覺得x的格式太繁瑣復雜,現(xiàn)在回頭看看人家的數(shù)據(jù)組織的卻是非常的合理,導出的不僅僅只是動畫
還可以用程序來控制里面的骨骼的變動,和物理引擎的結(jié)合就方便了,比如做一個從懸崖上掉下來的人,這可不是動畫能解決的啦
目前的結(jié)構(gòu)應該可以完好的和物理引擎進行整合,這將做為以后的研究了
總體上來說我的骨骼插件主要用的是Physique modifer 來支持動畫輸出的
目前支持能 max原始的bone骨骼,以及bip骨骼
原始的bone骨骼的IK還沒能導出,存在一點點誤差,不過bip骨骼運用的更多一些,已經(jīng)完美支持了
所以IK計算的導出暫時也就放放了 (主要是IK的有些太復雜,還沒來得及搞懂 -_-! )
Floating 骨骼也暫時放放,要完善的內(nèi)容其實也還是很多的
有了Physique 修改器的經(jīng)驗,我想做個blend之類的morph動畫導出插件應該也沒問題了,比如面部表情什么的,以后有需要的時候再繼續(xù)吧
現(xiàn)在有了完整的一套自己的模型格式,以后要擴展,比如在mesh里加入粒子動畫,甚至是邏輯數(shù)據(jù)都不成問題了,根據(jù)需要去擴展起來也相當容易了
明天打算把渲染的部分給搞出來,準備做個固定管線和 GPU 計算的 vertBlend shader 的兩個版本出來,這個很easy,預計明天上午就搞出來
還是老規(guī)矩,上圖
