在現在APP當道,維護資料的精簡變得非常重要(因為APP要小而美,且部份平台-Andorid對於資料量的大小有嚴格的限制),能否把這件事做自動化處理呢?筆者開發了一個佈署工具來完成這件事。
這個佈署工具其實就是一個執行command line(system(...))的程式,那為何不用批次檔直接來處理呢?主要的原因是因為目前3D引擎是用Ogre,需要Run過Ogre的一些函式庫及Manager才會知道相關的Reference檔案,所以還是得程式化才行。
開發流程大致如下:
- 規劃檔案清單:這是佈署資料的起始點,這部份還是得人工來維護,其他的就可以了…
比方:
[Scene]
NewScene
[Actor]
Ninja.xml
Agent.xml - 透過檔案Reference檔案的方式,來得知道要輸出那些檔案:
比這Ninja.xml裡用到了什麼Mesh檔,再透過Mesh檔得知使用到什麼材質,再從材質檔得知使用到什麼Texture之類的。 - 由批次程式來Call這個佈署工具,並帶入清單資料檔的參數,來輸出所需的資料(比方佈署到一個Bin Folder之類的。
- 再來就是就Copy這個Bin Folder到Asset Folder(通常是APP包Package的路徑),就完成了。
不太懂"要特別注的事,把Load處理的部份都要資料化(最忌諱的就是寫死在程式裡…)"這裡的意思,請問是否用範例解釋一下呢?謝謝
回覆刪除比方在程式裡寫了一個叫做CCharaacter* pMainCharacter = CreateCharacter("Ninjia.xml"),用來處理建立一個主角來操作使用,這樣的寫法就是寫死在程式裡。
回覆刪除