OgreMax的使用

目前開發的IM遊戲平臺主要用Ogre製作,開發了一段時間,其中3ds max導出插件比較好用就oFusion和OgreMax,但是oFusion因爲免費版的因素,有功能限制幾乎沒法兒用來做真正的開發。因此大部分時間就是用oFusion在3ds max中的即時預覽功能,而OgreMax就用來做真正的導出。經過一段時間的使用及網上的一些資料,總結了一些OgreMax的使用經驗,經常使用的菜單部分的一些介紹:

自定義數據

使用OgreMax很重要的一點就是導出自定義數據。要做到這一點首先需要自己寫一個xml文檔來說明自定義數據的類型,在OgreMax文檔的"Custom User Data Types"頁面中有很詳細的例子,比如下面的一段:

在OgreMax->Object Settings->User Data中載入以後就可以在type中選擇"角色"類型了,並且會按照xml中定義的數據顯示。

導出以後在.scene文件中會有類似如下的xml塊:

上面這一段CDATA可能包含在一個Entity或者Node節點中,具體取決與你在OgreMax中的設置。

物體屬性設置

前面也提到了,在OgreMax->Object Settings中可以對導出物體的屬性進行設置。這裏介紹一下其中比較重要的一些選項。

General

Type 這一項決定了導出物體在.scene文件中的類型。最常用的是Entity/Mesh,這個類型在導出以後會生成一個node以及掛載在該node上面的entity,同時會把3ds
max中的該物體導出爲一個.mesh文件。然後就比較常用的就是Empty,這種類型會導出爲一個沒有掛任何東西的node。比如說我用一個box來代表NPC出現的位置,那麼這個box就可以設置爲Empty類型。
Rendering 在這裏設置物體的可見性、渲染順序、shader參數等等
Node Animation

在這裏設置物體的Node動畫,即位置、旋轉、縮放上的動畫。物體模型本身變化的動畫在Mesh Animation中設置。具體的用法還沒有仔細研究。

User Data

自己遊戲所需要的自定義數據就在這裏設置了。點Configure...按鈕添加上面所說的userdatatypes.xml文件以後,User Data Class中就會出現自定義的數據類型。這樣就可以直接把3ds
max作爲一個關卡編輯器來使用了。雖說還是沒有專門的編輯器那麼方便,不過大多數情況下還是夠用了。

Mesh

Mesh Name和Skeleton Name可以制定輸出的模型和骨骼的文件名,如果不指定的話則會以3ds max中物體的名字命名。

Mesh Animation

這裏用來設置頂點動畫或骨骼動畫。可以把整個場景中物體的任意某一段動畫制定某個名字以供程序調用。點擊Add..會彈出Animation Settings窗口。通常其中的Track類型已經設置好了,骨骼動畫是Physicue,
定點動畫是Morph。只需要制定動作的起始幀號就可以了。要注意的是一個場景中某個物體的骨骼動畫只能導出爲一個skeleton文件,如果你需要把不同的動作導出爲不同的動畫的話,需要把骨骼動畫保存爲不同的max文件然後飛別導出。

自定義文件的讀取

OgreMax提供了從3ds max中導出爲.scene文件的機制,然是我們還是缺一個讀取它的程序。雖然OgreMax中自帶了一個Viewer程序,但是要處理自定義數據顯然還是得自己動手寫一個。這裏可以參考Ogre
Wiki中的一個.scene文件讀取程序的例子,在它的基礎上進行修改:

http://www.ogre3d.org/wiki/index.php/New_DotScene_Loader

但是這個程序在很多地方都只是寫了一個函數名而沒有實現,並且對場景文件的處理和OgreMax導出的格式還是有所區別,需要自己進行大量修改。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章