在此我将叙述从3DS MAX建立模型,到最终利用此模型在OGRE中制作实时动画的全过程。本文只给出各个步骤,对每个步骤的实现细节不予叙述。
首先当然是安装3DS MAX和OGRE SDK,另外特别值得一提的是需要安装OGRE为导出.MAX文件而制作的插件。安装后在3DS MAX的菜单中可以看到(你也可以在MAX中设置OGRE工具栏)。具体安装方法可在网上搜索或在OGRE网站查看。
接着,就是在3DS MAX中建立模型了。第一,需要建立网格模型;第二,建立骨骼,并为网格顶点绑定骨骼。这里一定要细心调整骨骼权值。具体方法可查看MAX的一些教程。
然后,你需要利用前面安装的插件将.max文件导出成.mesh和.skeleton文件,以供OGRE使用。方法是在MAX菜单max script下选择ogre exporter,然后根据弹出的插件对话框适当设置后,将.max文件导出为.mesh.xml和.skeleton.xml文件(注意它们都是. xml文件),由于是.xml文件因此可以很方便的查看文件数据,接下来要利用ogre的命令行工具xmlconverter.exe将. mesh.xml和.skeleton.xml文件转换为.mesh和.skeleton文件(这两个正是ogre要用的文件)。
最后,就是在OGRE中显式加载.mesh文件,而对应的.skeleton文件会被自动加载,接下来你就可以调用OGRE中的函数来实现实时动画了。可以调用函数来调用在max模型中指定的动画(如走路、射击等),方法请参看OGRE教程;还可以调用函数来手动控制骨骼而生成动画 。在实现这些动画时,OGRE都默认的采用了VERTEX BLENDING技术。
以上就是从MAX建模到OGRE实时动画的制作过程了。
Ogre不仅支持许多普通文件格式,而且支持Ogre使用的特有文件格式。支持的普通文件格式:
.bsp Quake bsp文件
.shader Quake 3 shader文件
.ttf True type字体文件
.png,.tga,.jpg,.raw,.gif,.dds以及更多FreeImage支持的图像格式。参见图像文件格式简要总结
.cg Cg shader文件
.asm Assembly shader文件
.zip 压缩资源
.xml XML文件
.xsd XML格式文件,定义Ogre基于XML的特有文件格式
.log 文本输出文件,用于调试记录,内存记录,及内存泄漏报告
Ogre特有文件格式:
.material Ogre手册:材质脚本
.compositor Ogre手册:合成器脚本
.particle Ogre手册:粒子脚本
.overlay Ogre手册:层脚本
.fontdef Ogre手册:字体定义脚本
.skeleton 包含骨骼动画的二进制文件
.mesh 包含单一网格定义的二进制文件
.scene 带有多个网格基于XML的文件。参见DotScene
.cfg 多目的配置文件
.inc 层模板包含文件
.scheme 基于XML的GUI文件
.imageset 基于XML的GUI文件
.layout 基于XML的GUI文件
.font 基于XML的GUI文件
要注意的是,Ogre不会对所有普通文件格式做到毫无遗漏地支持,但是相应替代地为流行的数字内容创建