隨着android在全球的風靡,愈來愈多的人將本身的目光投向搭載android的移動設備,但因爲手持設備的侷限性,怎樣利用有限的資源來達到很好的體驗,是設備廠商必需要考慮的問題,其中炫目的界面就是能夠增長用戶體驗的一種方式。這其中,3D效果無疑是對用戶最具吸引力和說服力的。而3D引擎能夠大大節省開發3D的成本,因此作了一次調查,這次調查的引擎必須知足如下:php
namehtml |
OGREjava |
Supported Graphic libandroid |
OpenGL 、Direct3D算法 |
Develop Languagewindows |
C++,builds on gcc 3+ on Linux網絡 |
description編輯器 |
一個強大的實時圖形引擎。目前全球評價最好使用最廣的免費開源引擎,可媲美商業引擎。svn |
merit工具 |
支持多種紋理圖片格式,包括:PNG,TGA,DDS,TIF,GIF,JPG;支持骨骼動畫,內置強大的材質管理和腳本系統,能夠不動一行代碼去進行材質維護,而且有可視化的編輯工具。文檔完善。 |
defect |
入門相對較難,渲染效率低。只專一於圖形,不包含聲音、網絡等模塊,但留有接口,若有須要,能夠添加第三方外掛庫,如物理庫、音頻庫等結合開發。 |
name |
Irrlicht |
Supported Graphic lib |
OpenGL 、Direct3D |
Develop Language |
C++ |
description |
著名的「鬼火」引擎 |
merit |
上手很快,易用性強,運行速度快,提供了能夠在商業級的3D引擎上具備的動態的陰影,粒子系統,角色動畫,室內和室外技術以及碰撞檢測。如今網絡上有不少Irrlicht的加強程序,能夠拿來使用。 |
defect |
對BSP支持較爲貧乏 |
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 |
效率不是很高 |
七、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 |
功能相對簡單。 |
八、gamine
name |
gamine |
Supported Graphic lib |
OpenGL |
Develop Language |
Java |
description |
一款小型的java 3D引擎 |
merit |
專門爲Android開發的引擎,體積小,調研容易 |
defect |
效率稍低 |
九、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引擎中使用比較多的,網上有較多的文檔和使用經驗。 另外引擎的選擇,重要的兩點:一、效率,算法是否足夠優秀;二、效果是否足夠好,能不能達到你想要的絢麗效果,鋸齒是否嚴重,運行時是否清新等。
下面着重列舉兩個引擎作對比。
|
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地址: