这半个月的收获太大了,终于可以宣布抛弃其他任何的mesh格式了,因为我完全拥有了自己的mesh格式
主要分为三类
1.普通的mesh
2.室内Portal 场景
3.骨骼动画
这三个类别做了个简单的整合,过两天打算做成max工具面板的形式来导出,我想操作起来会更方便吧
开发体会:
---------------------------------------
这段时间全力在攻克骨骼动画的导出,可真是不容易啊,找了很多资料,可以所是摸着石头过河的
把x格式研究了一遍又一遍,max sdk 快翻烂了,max sdk里面的东西简直就可以“没有天理”来形容
国外的资料也查的快疯掉,好歹摸索出来了
目前的数据导出基本按照x格式的思路来组织,导出数据来计算的,抛弃了3dmax建议的骨骼空间本地顶点的插值计算方式
而采用了对原始蒙皮姿势的mesh顶点直接按骨骼权重的方式进行计算,就蒙皮姿势的数据就让我好找啊
原来还觉得x的格式太繁琐复杂,现在回头看看人家的数据组织的却是非常的合理,导出的不仅仅只是动画
还可以用程序来控制里面的骨骼的变动,和物理引擎的结合就方便了,比如做一个从悬崖上掉下来的人,这可不是动画能解决的啦
目前的结构应该可以完好的和物理引擎进行整合,这将做为以后的研究了
总体上来说我的骨骼插件主要用的是Physique modifer 来支持动画输出的
目前支持能 max原始的bone骨骼,以及bip骨骼
原始的bone骨骼的IK还没能导出,存在一点点误差,不过bip骨骼运用的更多一些,已经完美支持了
所以IK计算的导出暂时也就放放了 (主要是IK的有些太复杂,还没来得及搞懂 -_-! )
Floating 骨骼也暂时放放,要完善的内容其实也还是很多的
有了Physique 修改器的经验,我想做个blend之类的morph动画导出插件应该也没问题了,比如面部表情什么的,以后有需要的时候再继续吧
现在有了完整的一套自己的模型格式,以后要扩展,比如在mesh里加入粒子动画,甚至是逻辑数据都不成问题了,根据需要去扩展起来也相当容易了
明天打算把渲染的部分给搞出来,准备做个固定管线和 GPU 计算的 vertBlend shader 的两个版本出来,这个很easy,预计明天上午就搞出来
还是老规矩,上图