Ogre命令行工具包使用说明
本文档由 自由骑士笃志 翻译整理,版权属于OgreTeam。转载请包含本行信息。
这个工具包包含了一些对Ogre资源文件进行操作的预处理命令行工具。
它包括OgreXMLConveter, OgreMeshUpgrade, OgreMaterialUpgrade和MeshMagick。
您可以在这里获得其WindowsV1.4.7版本的下载,或者在这里获取其MacOSXV1.4.0版本的下载。以上两个版本均是2008年3月6日的版本,即译者进行翻译的版本,若需要更多信息和更新的版本,可以访问Ogre官方。
.[OgreXMLConveter]
OgreXML转换器能够将 .mesh 模型网格文件 和 .skeleton 骨骼文件 由XML格式转换为二进制格式,同时可以将其二进制格式转换回XML格式。它同时也允许你在将XML格式转换为二进制格式时设置LOD层级信息。
如果你的Ogre脚本资源中原本使用的就是XML格式文件的话,那么本工具则是Ogre运行时必须的。所以你能够在OgreSource包的Tools/XMLConverter中找到它。
使用方法:
OgreXMLConverter 操作选项 源文件路径 目标文件路径
有用的操作选项包括:
-i = 控制与命令行。
-l nLODNum = 指定总LOD层级 ( 该项仅在XML格式转换为Mesh格式时有效 )
-d nLODDis = 指定LOD层级间的距离增幅 ( 该项仅在XML格式转换为Mesh格式时有效 )
-p nLODPer = 指定每两级LOD层之间三角面减少百分比 ( 该项仅在XML格式转换为Mesh格式时有效 )
-f nLODNum = 指定两级LOD层之间的固定顶点减少量 ( 该项仅在XML格式转换为Mesh格式时有效 )
-e = 关闭模版阴影的edge表 ( 当使用模版阴影时该项才有效 )
-r = 关闭Ogre推荐的顶点缓冲区格式。
-t = 为法线贴图生成切线信息 ( 当使用法线贴图时该项才有效 )
-o = 关闭冗余关键桢和运动轨迹的剔除
-d3d = 优先使用D3D进行颜色格式的填充 ( 在Windows平台中默认该项开启 )
-gl = 优先使用GL进行颜色格式的填充 ( 在非Windows平台中默认该项开启 )
-E endian = 设置endian模式,可以选择big, little 或 native ( 默认为native )
-q = 轻量模式,减少输出。
-log filename = Log文件名称。(默认为OgreXMLConverter.log)
.[OgreMeshUpgrade]
这个工具能够将你的任何老版本的 .mesh 文件更新到当前版本的 .mesh 文件。
你可以在Ogre.log文件中得到.mesh文件的版本信息。一般来说,Ogre可以运行老版本的.mesh文件,但是性能上会有一些差别。如果你更新了Ogre的其他部分,你尽量应当将.mesh文件更新为同样的版本。
使用方法:
OgreMeshUpgrate 操作选项 源文件路径 目标文件路径
有用的操作选项包括:
-i = 控制与命令行。
-l nLODNum = 指定总LOD层级 ( 该项仅在XML格式转换为Mesh格式时有效 )
-d nLODDis = 指定LOD层级间的距离增幅 ( 该项仅在XML格式转换为Mesh格式时有效 )
-p nLODPer = 指定每两级LOD层之间三角面减少百分比 ( 该项仅在XML格式转换为Mesh格式时有效 )
-f nLODNum = 指定两级LOD层之间的固定顶点减少量 ( 该项仅在XML格式转换为Mesh格式时有效 )
-e = 关闭模版阴影的edge表
-r = 关闭Ogre推荐的顶点缓冲区格式。
-t = 为法线贴图生成切线信息
-d3d = 转换为D3D颜色格式
-gl = 转换为GL颜色格式
-srcd3d = 老版本的mesh文件为D3D颜色格式
-srcgl = 老版本的mesh文件为GL颜色格式
-E endian = 设置endian模式,可以选择big, little 或 native ( 默认为native )
注意:
这个工具现在允许你自定义重组你的mesh网格文件的顶点格式。
如果你想更新0.15.0之前的任意一个版本的mesh,那么在该程序运行时会问你是否希望进行顶点格式的重组,你输入’y’就可以了。在0.15.0版本之后的mesh在更新时会允许你对该mesh做更多的操作:例如,你可以对每个独立模型节点的顶点指定不同的顶点结构,你既可以自定义顶点结构,也可以使用’automatic’自动模式。
.[OgreMaterialUpgrade]
这个工具能够将你的任何老版本的 .material 材质文件更新到当前版本的 .material 材质文件。
值得注意的是这个自动更新是不会加入一些新的脚本语法功能的,这么说你可能不好理解。(例子: “scene_blend add”这句可能会被更新为”scene_blend one one”,因为”add”的底层实际上就是”scene_blend one one”,自动更新会将一些高级语法更新为比较直接底层的语法)
另外,这个工具仅对0.13.0版本以下的材质脚本更新有效,对0.13.0版本以后的材质脚本是没有必要进行更新的。
使用方法:
OgreMaterialUpgrade 源文件路径 目标文件路径
.[MeshMagick]
Copyright 2007 by Daniel Wickert
这个工具是对mesh文件和skeleton文件进行一些处理的工具。
大致包括以下功能:
Info = 输出mesh的信息。
Meshmerge = 将多个mesh合并为一个mesh文件
rename = 重命名mesh和skeleton的不同元件
transform = 旋转,缩放一个mesh
使用方式:
MeshMagick –help=工具名 可以获得更多相关信息。
.[译者笃志补充说明]
1:除MeshMagick该工具外,其他三种工具,使用方式都可以是:将源资源文件拖拽到工具的exe图标上。因为更新程序会将源文件覆盖,所以推荐做下备份后再更新。
2:您可以写批处理文件对其进行使用。格式即为上面的使用方式。
举例:新建一个文本文件test.txt
编辑内容为 OgreMeshUpgrate –d3d –l 4 –d 500 –p 30 E:\Ogre\Media\TestSrc.xml F:\Temp\TestDest.mesh
修改文本后缀名为test.bat
将该批处理文件与OgreMeshUpgrate.exe放置同一目录下,运行
则会自动将E:\Ogre\Media\TestSrc.xml文件转换为F:\Temp\TestDest.mesh文件,同时开启了4层Lod,Lod间距为500象素,每一级间面数差距为30%
3:OgreMeshUpgrate工具推荐使用automatic自动模式顶点格式,效率会比较高,并且省去不少麻烦。
4:MeshMagick工具不推荐使用。本身功能有限,而且长期无人维护,对新的mesh支持不好。