支持Android 的幾款開源3D引擎調研


最近由於工作需要,對支持Android的一些開源3D引擎做了調研,結果如下:

 

1.Ogre

十分強大的一款3D引擎,號稱工業級標准的開源項目,不僅可以用於游戲,還可以用於其他和3D相關的軟件。大多數該有的功能都支持。Ogre只專注於做3D引擎,一些3D游戲中的常用功能例如:音效、碰撞/物理系統等都不支持。

優點:學習資料多,性能屌炸天,我試着運行過提供的sample app,效果非常棒,同時還能保持非常高的幀率。

缺點:C++編寫的,想在Android系統上玩起來,自己要做不少封裝的工作(sample提供的方法是用native activity,這個完全沒有普適性),而且在Android項目中調試C++代碼也非常不方便。庫文件比較大也是個問題,雖然采用的是靜態鏈接,但是一個只顯示一張圖片什么都不干的sample需要的so庫就有7m多。另外,android平台的相關資源非常少。

 

2.JPCT-AE

純Java編寫的一款3D引擎,JPCT是PC版,JPCT-AE是專門針對Android平台的版本。

優點:庫很小,核心庫只有幾百kB。純Java編寫,不用自己搞接口封裝了。另外,結合一個叫Bone的插件,可以支持骨骼動畫。

缺點:效率比較成問題,大一點的模型,顯示時幀率會比較低。另外,支持載入dae文件的接口類有bug,有時會解析出錯誤的骨骼或者動畫。

 

3.jMonkey

與其說是3D引擎,jMonkey更像是游戲開發引擎,並且還是跨平台的。只要下載了它的SDK,把需要的插件安裝好,就可以做到一次編寫,多個平台部署了。

優點:做的很成熟,文檔也不少。適合3D游戲開發者。編寫的App可以先在pc上運行調試,再生成android版本,這點很方便。

缺點:對OpenGL封裝的太好了,很難做底層操作。甚至連Android上面開發游戲都有繼承自Activity的類支持,雖然省事,但是有點太自成一體了,自由度相對下降了不少。

 

4.Gameplay3d

用C++編寫,功能很強大,支持多種3d模型格式,更像是一款3d游戲開發引擎

優點:跨平台,java編寫,很適合游戲開發者。

缺點:和jMonkey一樣,封裝的太好了,自由度低了一些,對於不是做游戲的3d開發者,可能不太適合。

 

5.bonzai

java編寫,功能很強大,支持多種3d模型格式,文檔也比較全

優點:非常靈活,既可以作為整體,使用bonzai提供的一些framework,也可以不用framework,把它當作插件一樣使用。

缺點:liciense不是很好。用於開源、免費的項目沒問題。用於商業用途的項目需要和bonzai的開發者聯系,估計是要收取一定費用的。

 

6.其他

除了上面的,其實還有很多款可以在android上使用或者很容易移植到上面的3D引擎,其中:

irrlicht據說很強大,這個我沒有深入調研過。

而下面的這些:

ardor3D

alien3d

catcake

......

由於太小眾、功能太少、資料不全或者處於不再維護狀態,就不介紹了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM