Ogre命令行工具包使用說(shuō)明
本文檔由 自由騎士篤志 翻譯整理,版權(quán)屬于OgreTeam。轉(zhuǎn)載請(qǐng)包含本行信息。
這個(gè)工具包包含了一些對(duì)Ogre資源文件進(jìn)行操作的預(yù)處理命令行工具。
它包括OgreXMLConveter, OgreMeshUpgrade, OgreMaterialUpgrade和MeshMagick。
您可以在這里獲得其WindowsV1.4.7版本的下載,或者在這里獲取其MacOSXV1.4.0版本的下載。以上兩個(gè)版本均是2008年3月6日的版本,即譯者進(jìn)行翻譯的版本,若需要更多信息和更新的版本,可以訪問(wèn)Ogre官方。
.[OgreXMLConveter]
OgreXML轉(zhuǎn)換器能夠?qū)?/span> .mesh 模型網(wǎng)格文件 和 .skeleton 骨骼文件 由XML格式轉(zhuǎn)換為二進(jìn)制格式,同時(shí)可以將其二進(jìn)制格式轉(zhuǎn)換回XML格式。它同時(shí)也允許你在將XML格式轉(zhuǎn)換為二進(jìn)制格式時(shí)設(shè)置LOD層級(jí)信息。
如果你的Ogre腳本資源中原本使用的就是XML格式文件的話,那么本工具則是Ogre運(yùn)行時(shí)必須的。所以你能夠在OgreSource包的Tools/XMLConverter中找到它。
使用方法:
OgreXMLConverter 操作選項(xiàng) 源文件路徑 目標(biāo)文件路徑
有用的操作選項(xiàng)包括:
-i = 控制與命令行。
-l nLODNum = 指定總LOD層級(jí) ( 該項(xiàng)僅在XML格式轉(zhuǎn)換為Mesh格式時(shí)有效 )
-d nLODDis = 指定LOD層級(jí)間的距離增幅 ( 該項(xiàng)僅在XML格式轉(zhuǎn)換為Mesh格式時(shí)有效 )
-p nLODPer = 指定每?jī)杉?jí)LOD層之間三角面減少百分比 ( 該項(xiàng)僅在XML格式轉(zhuǎn)換為Mesh格式時(shí)有效 )
-f nLODNum = 指定兩級(jí)LOD層之間的固定頂點(diǎn)減少量 ( 該項(xiàng)僅在XML格式轉(zhuǎn)換為Mesh格式時(shí)有效 )
-e = 關(guān)閉模版陰影的edge表 ( 當(dāng)使用模版陰影時(shí)該項(xiàng)才有效 )
-r = 關(guān)閉Ogre推薦的頂點(diǎn)緩沖區(qū)格式。
-t = 為法線貼圖生成切線信息 ( 當(dāng)使用法線貼圖時(shí)該項(xiàng)才有效 )
-o = 關(guān)閉冗余關(guān)鍵楨和運(yùn)動(dòng)軌跡的剔除
-d3d = 優(yōu)先使用D3D進(jìn)行顏色格式的填充 ( 在Windows平臺(tái)中默認(rèn)該項(xiàng)開(kāi)啟 )
-gl = 優(yōu)先使用GL進(jìn)行顏色格式的填充 ( 在非Windows平臺(tái)中默認(rèn)該項(xiàng)開(kāi)啟 )
-E endian = 設(shè)置endian模式,可以選擇big, little 或 native ( 默認(rèn)為native )
-q = 輕量模式,減少輸出。
-log filename = Log文件名稱。(默認(rèn)為OgreXMLConverter.log)
.[OgreMeshUpgrade]
這個(gè)工具能夠?qū)⒛愕娜魏卫习姹镜?/span> .mesh 文件更新到當(dāng)前版本的 .mesh 文件。
你可以在Ogre.log文件中得到.mesh文件的版本信息。一般來(lái)說(shuō),Ogre可以運(yùn)行老版本的.mesh文件,但是性能上會(huì)有一些差別。如果你更新了Ogre的其他部分,你盡量應(yīng)當(dāng)將.mesh文件更新為同樣的版本。
使用方法:
OgreMeshUpgrate 操作選項(xiàng) 源文件路徑 目標(biāo)文件路徑
有用的操作選項(xiàng)包括:
-i = 控制與命令行。
-l nLODNum = 指定總LOD層級(jí) ( 該項(xiàng)僅在XML格式轉(zhuǎn)換為Mesh格式時(shí)有效 )
-d nLODDis = 指定LOD層級(jí)間的距離增幅 ( 該項(xiàng)僅在XML格式轉(zhuǎn)換為Mesh格式時(shí)有效 )
-p nLODPer = 指定每?jī)杉?jí)LOD層之間三角面減少百分比 ( 該項(xiàng)僅在XML格式轉(zhuǎn)換為Mesh格式時(shí)有效 )
-f nLODNum = 指定兩級(jí)LOD層之間的固定頂點(diǎn)減少量 ( 該項(xiàng)僅在XML格式轉(zhuǎn)換為Mesh格式時(shí)有效 )
-e = 關(guān)閉模版陰影的edge表
-r = 關(guān)閉Ogre推薦的頂點(diǎn)緩沖區(qū)格式。
-t = 為法線貼圖生成切線信息
-d3d = 轉(zhuǎn)換為D3D顏色格式
-gl = 轉(zhuǎn)換為GL顏色格式
-srcd3d = 老版本的mesh文件為D3D顏色格式
-srcgl = 老版本的mesh文件為GL顏色格式
-E endian = 設(shè)置endian模式,可以選擇big, little 或 native ( 默認(rèn)為native )
注意:
這個(gè)工具現(xiàn)在允許你自定義重組你的mesh網(wǎng)格文件的頂點(diǎn)格式。
如果你想更新0.15.0之前的任意一個(gè)版本的mesh,那么在該程序運(yùn)行時(shí)會(huì)問(wèn)你是否希望進(jìn)行頂點(diǎn)格式的重組,你輸入’y’就可以了。在0.15.0版本之后的mesh在更新時(shí)會(huì)允許你對(duì)該mesh做更多的操作:例如,你可以對(duì)每個(gè)獨(dú)立模型節(jié)點(diǎn)的頂點(diǎn)指定不同的頂點(diǎn)結(jié)構(gòu),你既可以自定義頂點(diǎn)結(jié)構(gòu),也可以使用’automatic’自動(dòng)模式。
.[OgreMaterialUpgrade]
這個(gè)工具能夠?qū)⒛愕娜魏卫习姹镜?/span> .material 材質(zhì)文件更新到當(dāng)前版本的 .material 材質(zhì)文件。
值得注意的是這個(gè)自動(dòng)更新是不會(huì)加入一些新的腳本語(yǔ)法功能的,這么說(shuō)你可能不好理解。(例子: “scene_blend add”這句可能會(huì)被更新為”scene_blend one one”,因?yàn)?/span>”add”的底層實(shí)際上就是”scene_blend one one”,自動(dòng)更新會(huì)將一些高級(jí)語(yǔ)法更新為比較直接底層的語(yǔ)法)
另外,這個(gè)工具僅對(duì)0.13.0版本以下的材質(zhì)腳本更新有效,對(duì)0.13.0版本以后的材質(zhì)腳本是沒(méi)有必要進(jìn)行更新的。
使用方法:
OgreMaterialUpgrade 源文件路徑 目標(biāo)文件路徑
.[MeshMagick]
Copyright 2007 by Daniel Wickert
這個(gè)工具是對(duì)mesh文件和skeleton文件進(jìn)行一些處理的工具。
大致包括以下功能:
Info = 輸出mesh的信息。
Meshmerge = 將多個(gè)mesh合并為一個(gè)mesh文件
rename = 重命名mesh和skeleton的不同元件
transform = 旋轉(zhuǎn),縮放一個(gè)mesh
使用方式:
MeshMagick –help=工具名 可以獲得更多相關(guān)信息。
.[譯者篤志補(bǔ)充說(shuō)明]
1:除MeshMagick該工具外,其他三種工具,使用方式都可以是:將源資源文件拖拽到工具的exe圖標(biāo)上。因?yàn)楦鲁绦驎?huì)將源文件覆蓋,所以推薦做下備份后再更新。
2:您可以寫(xiě)批處理文件對(duì)其進(jìn)行使用。格式即為上面的使用方式。
舉例:新建一個(gè)文本文件test.txt
編輯內(nèi)容為 OgreMeshUpgrate –d3d –l 4 –d 500 –p 30 E:\Ogre\Media\TestSrc.xml F:\Temp\TestDest.mesh
修改文本后綴名為test.bat
將該批處理文件與OgreMeshUpgrate.exe放置同一目錄下,運(yùn)行
則會(huì)自動(dòng)將E:\Ogre\Media\TestSrc.xml文件轉(zhuǎn)換為F:\Temp\TestDest.mesh文件,同時(shí)開(kāi)啟了4層Lod,Lod間距為500象素,每一級(jí)間面數(shù)差距為30%
3:OgreMeshUpgrate工具推薦使用automatic自動(dòng)模式頂點(diǎn)格式,效率會(huì)比較高,并且省去不少麻煩。
4:MeshMagick工具不推薦使用。本身功能有限,而且長(zhǎng)期無(wú)人維護(hù),對(duì)新的mesh支持不好。