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支持不好。