Home > 圖像編程 | 遊戲編程 > 希望在家繼續做遊戲,首先還是做 COLLADA 吧

希望在家繼續做遊戲,首先還是做 COLLADA 吧

說點近況。自從四月回港參加好友的婚禮,帶了台 Xbox360 回上海後,便花了許多時間「研究」遊戲,包括我公司的幾個作品,之後也「研究」Wii 的各種遊戲。家人回港後獨自一人,還看了蠻多的動畫和最近的奧運。之前在家中做的項目便擱置了將近半年……雖然也不是完全沉醉於「研究遊戲」和其他娛樂上,書和文獻也有看一些,但還是覺得生活應該得更充實一點。這幾天又再想繼續之前的項目。

第一件發現的是,我的記憶能力真的很有限。過了五個月,幾乎完全忘記了之前的想法、進度等等。全靠閱讀這個 Blog 才知道五個月前的 Milo 在想甚麼。「外置記憶體」真是很重要,而且可以用來認識過去的自己。不知道還能否找到十年前在網上發表的日記,看看當時頗年少氣盛的自己。

讓 COLLADA 作為新起點

之前的項目主要做了非常基楚的混合語言、跨平台圖像及工具的嘗試。本來想繼續做一點輸入及物理,以完成整個遊戲循環,做到一點互動的機制。但是,對比較喜歡電腦圖像編程的我來說,始終敵不過引誘,想載入一些比較好看的3D模型,並且做一些實驗。因此,暫時想先做載入3D模型的部份。

要載入3D模型,COLLADA 似乎是最好的選擇。COLLADA 是一個公開的三維數據 XML 交換格式。目前許多三維圖像軟件(如 3D Studio Max、Maya、SoftImage 等等)都有滙入滙出 COLLADA 的功能 (原生支持或透過插件),可以省下自行編寫插件的時間。

要在程式中支持讀寫 COLLADA 格式,最簡單的方法是使用 COLLADA 的程式庫。流行的程式庫有兩個: Feeling Software 的 FCollada 和Sony Entertainment 的 Collada DOM。兩個皆為 C++ 開源項目,並且皆使用 Document Object Model (DOM) 的方式存取 COLLADA 資料。

FCollada 的優點在於 API 比較簡單、可同時讀寫不同版本的 COLLADA 格式。而且,現時流行的 ColladaMax 和 ColladaMaya 插件都是 Feeling Software 採用 FCollada 編寫的,兼容性可能比較好。可是,一個壞消息是,Feeling Software 已於本年3月停止 FCollada 的更新,現在由一個開源隊伍維持該項目

Collada DOM 是 Sony Entertainment 的產物 (事實上 COLLADA 也是由 Sony 發起的標準)。Collada DOM 的一個特別之處是,DOM 的 API 是由 COLLADA 的 Schema 用程式生成的。這樣的好處是,COLLADA 格式的版本更新只需要運行程式就能得到新的 API。不過這是雙面刃,Collada DOM 的缺點之一就是不能同時讀寫不同版本的 COLLADA 檔案。

經過一番比較後,現時選擇了 Collada DOM。它的一些吸引之處包括:

  1. 可選擇 XML 解析器
  2. 直接支持 Windows、Linux、OSX 和 PS3
  3. 包含一個 Collada RT 的開源項目,內有一個基於 OpenGL 的 COLLADA 檔案檢視器

最後一點最吸引我。這個檢視器除了支持基本的 geometry ,還支持 Skin、Skeleton、Animation、Collada FX 等等。這是一個很有參考價值的例子,我可以跟據這個例子去使用 Collada DOM。相對地,FCollada 並沒有這樣全面的開源例子。

昨晚編譯了 Collada DOM ,也測試了 Collada RT 檢視器和看了一些文檔。但是,要轉換 Collada 格式去引擎內部格式的話,目前的引擎尚欠一個層階式的物件系統。因此,還是要先設計遊戲物件的系統。

P.S. 曾經想過,半年都沒寫到甚麼出來,而科技一日千里,一個人在家裡做這樣的事情有意義嗎?時間雖然是一個問題,但我公司的一個引擎也有七、八年的歷史。如果可以做一個健全的架構,是應該可以與時並進的。一個不能敏捷地修改及更新的項目,很快就會結束它的生命。作為一個學習和分享經驗的平台,這就更沒所謂了。

P.P.S. 我中秋節便會回港陪產,黃金周後才回上海。屆時心理和生活也許又會作出很大的改變。

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://miloyip.seezone.net/wp-trackback.php?p=66
Listed below are links to weblogs that reference
希望在家繼續做遊戲,首先還是做 COLLADA 吧 from Milo的遊戲開發

Home > 圖像編程 | 遊戲編程 > 希望在家繼續做遊戲,首先還是做 COLLADA 吧

Search
Feeds
Meta

Return to page top