開源:便於更改代碼,優化性能,且免費。(商業引擎更出色,花錢不是?) 支持OpenGL:DirectX只能用於windows平台 可移植到Android:一定要支持Android平台 效率相對較高:移動設備的局限性,如電量,CPU,GPU等
Horde3D OGRE3D Irrlicht jmonkey Catcake jPCT-AE min3d gamine Alien3D
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 |
name |
Catcake |
Supported Graphic lib |
OpenGL |
Develop Language |
C++,java |
description |
Catcake是一款跨平台的Java 3D圖形引擎,也有C++版本 |
merit |
有專門的android版本,易用性和運行性能上有出色的表現。 支持音頻處理和視頻播放。 |
defect |
文檔不足 |
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編寫,效率有待考量 |
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, BMP
l3D Max, Maya, Blender
|
l PSD,JPG,PNG,TGA,BMP
l3DS,OBJ,MY3D,CSM,DAE,DMF,MS3D, LMTS, MD2
|
歡迎大家借鑒和補充。在這要提醒各位,要注意這些3D引擎的開放協議,以免帶來不便。
附:各引擎的source地址: