3ds max 导出插件——md5Exporter中篇

来源:互联网 发布:linux vi e45 编辑:程序博客网 时间:2024/05/16 06:06

插件都写好有段时间了,一直想整理哈思路记录下的。

先说哈anim插件,这个写的就比较快了,以前写过其他的动画导出的。

md5anim中有个地方比较好的是,只需要与初始姿势不同的骨骼矩阵,这在按不同动画分文件导出的时候能减少很大一部分文件体积。计算需要导出的骨骼矩阵的时候,我原本是用的IGame的IGameControl和IGameKeyTab来计算误差值判断的,但是结果不好。不是很准确后来还是改成了老方法用TimeValue来按帧更新节点的世界状态EvalWorldState,来计算误差值。在导出动画矩阵的时候也是这样计算的。

在导出包围体的时候,要按帧更新每个mesh,再计算aabb。更新方式还是老方法。但后来发现其实这个数据在Away3D中没啥子用,还花那么多力气,哎。

另外要注意的是四元素的正反,要注意骨头矩阵的旋转轴,反了的要翻转。

在Away3D4.1中,根节点有偏移的时候,在播放时仍然以根节点为原点,而不是以重心点为原点。为了解决这个问题我在导出骨头层级和初始的时候加了一个原点骨骼,位置在原点,对mesh导出都有修改。

其实anim导出相对mesh来说不是很复杂。

最后再附上开源地址,在github上的https://github.com/qiutaoleo/md5Exporter,有3dsmax2012的32位和64位编译好的插件。

原创粉丝点击