關(guān)于Android 3D引擎的選擇

前一段時(shí)間想把Android 深入了解下,在深入的同時(shí)發(fā)現(xiàn)對(duì)3d產(chǎn)生了很大的興趣.所以想搞下3d,緊接著發(fā)現(xiàn)有很多的3d引擎所以就問(wèn)度娘:我用什么樣的3d引擎較好呢,然后度娘給我了很多答案.但是我發(fā)現(xiàn)度娘里面有很多重復(fù)的也有很多不怎么全面的,在這里我把網(wǎng)上搜索到的總結(jié)下:
這里是轉(zhuǎn)載至:https://www.cnbeta.com/articles/197259.htm的8個(gè)開(kāi)源Android游戲引擎. 這一段其實(shí)我感覺(jué)可以跳過(guò),說(shuō)實(shí)話(huà)我對(duì)7年前甚至8年前的文章本不愿意復(fù)制粘貼,但是實(shí)在是懶得再總結(jié)一下了,大胸弟們可以直接跳過(guò)這一段,看下面的:
1、Angle
Angle是一款專(zhuān)為Android平臺(tái)設(shè)計(jì)的,敏捷且適合快速開(kāi)發(fā)的2D游戲引擎,基于OpenGL ES技術(shù)開(kāi)發(fā)。該引擎全部用Java代碼編寫(xiě),并且可以根據(jù)自己的需要替換里面的實(shí)現(xiàn),缺陷在于文檔不足,而且下載的代碼中僅僅包含有少量的示例教程。
項(xiàng)目地址:http://code.google.com/p/angle/

2、Rokon
rokon是一款A(yù)ndroid 2D游戲引擎,基于OpenGL ES技術(shù)開(kāi)發(fā),物理引擎為Box2D,因此能夠?qū)崿F(xiàn)一些較為復(fù)雜的物理效果,該項(xiàng)目最新版本為 2.0.3 (09/07/10)。總體來(lái)說(shuō),此引擎最大的優(yōu)點(diǎn)在于其開(kāi)發(fā)文檔相當(dāng)之完備,并且項(xiàng)目作者對(duì)反饋Bug的修正非常之神速,所以該框架的使用在目前也最為 廣泛,有人干脆將它稱(chēng)為Cocos2d-iPhone引擎的Android版(業(yè)務(wù)邏輯和編碼風(fēng)格上也確實(shí)很像)。附帶一提,國(guó)內(nèi)某個(gè)需要注冊(cè)會(huì)員才能下 載的Android游戲框架衍生于此框架,所以大家也不要刻板的認(rèn)為收費(fèi)便一定是好的,免費(fèi)就一定不好。

項(xiàng)目地址:http://code.google.com/p/rokon/

3、LGame
LGame是一款國(guó)人開(kāi)發(fā)的Java游戲引擎,有Android及PC(J2SE)兩個(gè)開(kāi)發(fā)版本,目前最高版本同為0.2.6(31/07 /10)。 其底 層繪圖器LGrpaphics封裝有J2SE以及J2ME提供的全部Graphics API(PC版采用Graphics2D封裝,Android版采用Canvas模擬實(shí)現(xiàn)),所以能夠?qū)2SE或J2ME開(kāi)發(fā)經(jīng)驗(yàn)直接套用其中,兩版本 間主要代碼能夠相互移植。Android版內(nèi)置有Admob接口,可以不必配置XML直接硬編碼Admob廣告信息。

該引擎除了基本的音效、圖形、物理、精靈等常用組件以外,也內(nèi)置有Ioc、xml、http等常用Java組件的封裝,代價(jià)是jar體積較為龐 大,PC版 已突破1.2MB,Android版有所簡(jiǎn)化也在500KB左右。此外,該引擎還內(nèi)置有按照1:1實(shí)現(xiàn)的J2ME精靈類(lèi)及相關(guān)組件,可以將絕大多數(shù) J2ME游戲平移到Android或PC版中。唯一遺憾的是,該項(xiàng)目作者是個(gè)極其懶惰的家伙,開(kāi)發(fā)文檔從去年說(shuō)到今年依舊沒(méi)有提供,只有游戲示例可供下 載。
項(xiàng)目地址:http://code.google.com/p/loon-simple/

4、AndEngine
andengine同樣是一款基于OpenGL ES技術(shù)的Android游戲引擎,物理引擎同樣為Box2D(標(biāo)配|||)。該框架性能普通,文檔缺乏,但示例較為豐富。
下載地址(未直接提供jar下載,源碼可通過(guò)svn提?。?a target="_blank">http://code.google.com/p/andengine/
項(xiàng)目地址:http://code.google.com/p/rokon/

5、libgdx

libgdx是一款基于OpenGL ES技術(shù)開(kāi)發(fā)的Android游戲引擎,支持Android平臺(tái)下的2D游戲開(kāi)發(fā),物理引擎采用Box2D實(shí)現(xiàn)。單就性能角度來(lái)說(shuō),堪稱(chēng)是一款非常強(qiáng)大的 Android游戲引擎,但缺陷在于精靈類(lèi)等相關(guān)組件在使用上不夠簡(jiǎn)化,而且文檔也較為匱乏。
項(xiàng)目地址:http://code.google.com/p/libgdx/

6、jPCT
jPCT是一款基于OpenGL技術(shù)開(kāi)發(fā)的3D圖形引擎(PC環(huán)境為標(biāo)準(zhǔn)OpenGL,Android為OpenGL ES), 以Java語(yǔ)言為基礎(chǔ)的,擁有功能強(qiáng)大的Java 3D解決方案。該引擎與LGame(此為2D游戲引擎)相類(lèi)似,目前擁有PC(J2SE)以及Android兩個(gè)開(kāi)發(fā)版本。
jPCT的最大優(yōu)勢(shì)之一,就在于它驚人的向下兼容性。在PC環(huán)境中,jPCT甚至可以運(yùn)行在JVM1.1環(huán)境之中,因?yàn)閖PCT內(nèi)部提供的圖形渲染 接 口完 全符合所有的Java 1.1規(guī)范(就連已經(jīng)消失的Microsoft VM乃至更古老的Netscape 4 VM也不例外)。
項(xiàng)目地址:http://www.jpct.net/jpct-ae/

7、Alien3d
Alien3d是一款體積非常之小的Android 3D游戲引擎,基于OpenGL ES技術(shù)開(kāi)發(fā)。為了壓縮體積,它根據(jù)不同功能采用多jar方式發(fā)布(包括alien3d-engine.jar,alien3d- tiled.jar,alien3d-sprites.jar,alien3d-shapes.jar,alien3d- particles2d.jar,),事實(shí)上它的核心文件大約只有40KB,所有相關(guān)jar的總和也不足150KB。
項(xiàng)目地址:http://code.google.com/p/alien3d/

8、Catcake
Catcake是一款跨平臺(tái)的Java 3D圖形引擎,目前支持PC(J2SE)及Android環(huán)境運(yùn)行(已有iPhone版規(guī)劃)。該引擎在易用性和運(yùn)行性能上皆有出色的表現(xiàn),支持常見(jiàn)的游戲開(kāi)發(fā)功能,諸如精靈動(dòng)畫(huà),音頻處理和視頻播放等。
項(xiàng)目地址:http://code.google.com/p/catcake/

上面的有幾款是根據(jù)OpenGL ES封裝的,對(duì)于OpenGL ES 不怎么了解的話(huà)可以問(wèn)下度媽媽,
我剛開(kāi)始使用的也是直接使用的OpenGL ES 這個(gè)東西,因?yàn)槲矣肁ndroid Studio 這里面可以直接訪問(wèn)OpenGL ES的東西,上面有個(gè)東西叫做GLSurfaceView是android.opengl.GLSurfaceView包里面的.但是做過(guò)Android開(kāi)發(fā)的大胸弟們應(yīng)該了解的到,其實(shí)也不僅僅是做過(guò)Android開(kāi)發(fā)的人,只要是程序猿或者是攻城獅亦或者是碼農(nóng),都應(yīng)該很清楚,只要是原生的做起來(lái)都很麻煩,只要是別人封裝好的通常都是比較簡(jiǎn)單的.所以對(duì)于不想深入了解其根本原理的同學(xué)來(lái)說(shuō),盡量不要直接查看OpenGL ES 的東西,或者是拿一本書(shū)深入研究下,因?yàn)閮H僅通過(guò)網(wǎng)絡(luò)的力量來(lái)說(shuō)是很強(qiáng)大的,但是知識(shí)通常比較分散,很難總結(jié)起來(lái).我剛開(kāi)始就是使用的這個(gè)OpenGL ES 然后發(fā)現(xiàn)以我現(xiàn)在的水平深入使用和了解還是比較困難的,OpenGL ES嚴(yán)格來(lái)說(shuō)是一款游戲引擎,所以只是3d需求而不是游戲需求的話(huà)可以看看其他引擎.但是你會(huì)發(fā)現(xiàn)不做游戲開(kāi)發(fā)的話(huà)其他地方用到3d的很有限,所以大胸弟們自己琢磨哈.

除了上面提到的幾種在我知識(shí)的水坑里面還有一下幾個(gè)3D引擎:
cocos 3D:
Unity 3D:
UE4(虛幻4引擎):
前幾天看到一個(gè)同志說(shuō)如果不考慮游戲開(kāi)發(fā),只是做3d展示還可以使用UrhoSharp,但是我搜了一下這個(gè)東西好像也是個(gè)游戲引擎;
就跟除了游戲其他地方都不用3d似的,好像所有的3d引擎都是為游戲開(kāi)發(fā)的,具體介紹就百度吧,以后閑了再更新;
同志們,不喜勿噴.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。