参考http://www.azure.com.cn/article.asp?id=430
我在自己的3dmax exporter中实现了一下
应该是我之前就已经优化过
所以结果并不像azure那样有10倍之多
我的测试数据是平均可以减少1/3
当然是在保证动画质量的前提下得到的数据
这个算是一个比较大的优化
因为3dmax实现了很多controler,例如TCB、Bezier等,而ogre只有简单的linear interpolate
所以在3dmax exporter中我们只能老老实实得按一定频率采样,而这样会导致关键帧数量太多,真的是灰常之多
而减少skeleton的数据,则可以明显提高fps
因此使用一系列手段对该数据进行优先是必须的,而且从exporter层就做好例如mesh的vertex cache之类的优化,对于App层实在是非常舒适的一件事情
另外值得一提的是
之前做avatar时,曾经所有的mesh都有自己使用到的一套骨骼,假如这时的fps差不多是200
后来只导出一副完整的骨架,然后使用sharesSkeletonInstance,之后的fps差不多翻了一倍