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