文章目錄
- Horde3D OGRE3D Irrlicht jmonkey Catcake jPCT-AE min3d gamine Alien3D
隨著android在全球的風靡,越來越多的人將自己的目光投向搭載android的行動裝置,但由於手持功能的局限性,怎樣利用有限的資源來達到很好的體驗,是裝置廠商必須要考慮的問題,其中炫目的介面就是可以增加使用者體驗的一種方式。這其中,3D效果無疑是對使用者最具吸引力和說服力的。而3D引擎可以大大節省開發3D的成本,所以做了一次調查,此次調查的引擎必須滿足以下:
開源:便於更改代碼,最佳化效能,且免費。(商業引擎更出色,花錢不是?) 支援OpenGL:DirectX只能用於windows平台 可移植到Android:一定要支援Android平台 效率相對較高:行動裝置的局限性,如電量,CPU,GPU等 目前調查的結果共得到9款引擎,在這分享給大家,節省大家的調查時間(調查過程中發現有更多,不過個人篩選出了9種): Horde3D OGRE3D Irrlicht jmonkey Catcake jPCT-AE min3d gamine Alien3D
針對9種引擎做參數分析: 1、
OGRE
name |
OGRE |
Supported Graphic lib |
OpenGL 、Direct3D |
Develop Language |
C++,builds on gcc 3+ on Linux |
description |
一個強大的即時圖形引擎。目前全球評價最好使用最廣的免費開源引擎,可媲美商業引擎。 |
merit |
支援多種紋理圖片格式,包括:PNG,TGA,DDS,TIF,GIF,JPG;支援骨骼動畫,內建強大的材質管理和指令碼系統,可以不動一行代碼去進行材質維護,並且有可視化的編輯工具。文檔完善。 |
defect |
入門相對較難,渲染效率低。只專註於圖形,不包含聲音、網路等模組,但留有介面,如有需要,可以添加第三方外掛庫,如物理庫、音頻庫等結合開發。 |
2、Irrlicht
name |
Irrlicht |
Supported Graphic lib |
OpenGL 、Direct3D |
Develop Language |
C++ |
description |
著名的“鬼火”引擎 |
merit |
上手很快,易用性強,運行速度快,提供了可以在商業級的3D引擎上具有的動態陰影,粒子系統,角色動畫,室內和室外技術以及碰撞檢測。現在網路上有很多Irrlicht的增強程式,可以拿來使用。 |
defect |
對BSP支援較為貧乏 |
3、jmonkey
name |
jmonkey |
Supported Graphic lib |
OpenGL 、Direct3D |
Develop Language |
Java |
description |
JMonkey 3D 是一款用於java 3D引擎 |
merit |
封裝了OpenGL,提供全效能的工具包,主要有圖片解碼器、檔案解碼器、GUI系統、粒子系統、物理系統、光照系統等,功能很齊全。 |
defect |
JME對於OPENGL封裝得太好, 以至根本找不到GL的痕迹, 很多底層最佳化無法修改。目前只支援opengl es 2.0 |
4、Catcake
name |
Catcake |
Supported Graphic lib |
OpenGL |
Develop Language |
C++,java |
description |
Catcake是一款跨平台的Java 3D圖形引擎,也有C++版本 |
merit |
有專門的android版本,易用性和運行效能上有出色的表現。 支援音頻處理和視頻播放。 |
defect |
文檔不足 |
5、jPCT-AE
name |
jPCT-AE |
Supported Graphic lib |
OpenGL |
Develop Language |
Java |
description |
jPCT-AE是jPCT在Android平台上的移植版本,以java語言為基礎 |
merit |
體積小,專門的Android移植版本,有著驚人的向下相容性,可以運行在JVM1.1環境之中,因為jPCT內部提供的圖形渲染 介面完 全符合所有的Java 1.1規範。 |
defect |
Java編寫,效率有待考量 |
6、Horde3D
name |
Horde3D |
Supported Graphic lib |
OpenGL |
Develop Language |
C++ |
description |
Horde3D is a small open source 3D rendering engine |
merit |
簡單易懂,內建了情境編輯器,整合了簡單的模型編輯,粒子編輯,動作編輯等功能 |
defect |
效率不是很高 |
7、min3D
name |
min3D |
Supported Graphic lib |
OpenGL |
Develop Language |
Java |
description |
lightweight 3d library/framework for Android using Java with OpenGL ES targeting compatibility with Android v1.5/OpenGL ES 1.0 and higher. |
merit |
專門的android 3d UI引擎,非常小巧,只有幾百K。基於opengl es 1.x, 封裝了opengl 的一些基本的繪圖操作以及繪圖管理和渲染操作。提供了一個活動類RenderActivity,上手容易。 |
defect |
功能相對簡單。 |
8、gamine
name |
gamine |
Supported Graphic lib |
OpenGL |
Develop Language |
Java |
description |
一款小型的java 3D引擎 |
merit |
專門為Android開發的引擎,體積小,調研容易 |
defect |
效率稍低 |
9、Alien 3D
name |
Alien 3D |
Supported Graphic lib |
OpenGL |
Develop Language |
Java |
description |
java編寫的OpenGL ES介面的3D遊戲引擎 |
merit |
3DS裝載、2D 粒子、原型外掛程式,tiled地圖、精靈動畫 |
defect |
研究資料太少 |
上述列舉了引擎的介紹,優缺點等,大家可以根據自己的需要和側重點選擇,其中,OGRE和Irrlicht是比較成熟的產品,是開源的3D引擎中使用比較多的,網上有較多的文檔和使用經驗。 另外引擎的選擇,重要的兩點:1、效率,演算法是否足夠優秀;2、效果是否足夠好,能不能達到你想要的絢麗效果,鋸齒是否嚴重,運行時是否清新等。
下面著重列舉兩個引擎做對比。
|
OGRE |
Irrlicht |
開發語言 |
C++ |
C++ |
易用性 |
門檻較高 |
易懂,入門低 |
效率 |
opgl渲染較慢 |
較高 |
美觀 |
渲染的效果很好,清晰, 視覺效果好 |
運動較流暢,視覺效果還可以 |
資料 |
很多,被廣泛研究和移植, 有很多項目和經驗可以借鑒 |
全面,很多成功開源的項目及經驗 |
移植性 |
需要參考資料移植 |
專門的Android版,移植簡單 |
使用率 |
很成熟,免費3D圖形引擎 中評價最高,使用率廣 |
成熟的引擎,使用率較廣 |
紋理格式和情境格式 |
lPNG, JPEG, TGA, BMPl3D Max, Maya, Blender |
l PSD,JPG,PNG,TGA,BMPl3DS,OBJ,MY3D,CSM,DAE,DMF,MS3D, LMTS, MD2 |
歡迎大家借鑒和補充。在這要提醒各位,要注意這些3D引擎的開放協議,以免帶來不便。
附:各引擎的source地址:
•Irrlicht: http://irrlicht.sourceforge.net/
•min3d: http://min3d.googlecode.com/svn/trunk
• OGRE3D: http://code.google.com/p/gamekit/
•Catcake: http://www.oschina.net/p/catcake
•jPCT-AE: http://www.jpct.net/projects.html
•gamine: http://sourceforge.net/projects/gamine/
•jmonkey svn checkout http://jmonkeyengine.googlecode.com/svn/trunk
•Horde3D:http://www.horde3d.org/wiki/index.php5?title=SVN_Source_Instructions
•Alien: http://code.google.com/p/alien3d/source/checkout
原文連結:http://blog.csdn.net/lwuit/article/details/7651999
標籤:<無>補充話題說明»