前一段时间想把Android 深入了解下,在深入的同时发现对3d产生了很大的兴趣.所以想搞下3d,紧接着发现有很多的3d引擎所以就问度娘:我用什么样的3d引擎较好呢,然后度娘给我了很多答案.但是我发现度娘里面有很多重复的也有很多不怎么全面的,在这里我把网上搜索到的总结下:
这里是转载至:https://www.cnbeta.com/articles/197259.htm的8个开源Android游戏引擎. 这一段其实我感觉可以跳过,说实话我对7年前甚至8年前的文章本不愿意复制粘贴,但是实在是懒得再总结一下了,大胸弟们可以直接跳过这一段,看下面的:
1、Angle
Angle是一款专为Android平台设计的,敏捷且适合快速开发的2D游戏引擎,基于OpenGL ES技术开发。该引擎全部用Java代码编写,并且可以根据自己的需要替换里面的实现,缺陷在于文档不足,而且下载的代码中仅仅包含有少量的示例教程。
项目地址:http://code.google.com/p/angle/
2、Rokon
rokon是一款Android 2D游戏引擎,基于OpenGL ES技术开发,物理引擎为Box2D,因此能够实现一些较为复杂的物理效果,该项目最新版本为 2.0.3 (09/07/10)。总体来说,此引擎最大的优点在于其开发文档相当之完备,并且项目作者对反馈Bug的修正非常之神速,所以该框架的使用在目前也最为 广泛,有人干脆将它称为Cocos2d-iPhone引擎的Android版(业务逻辑和编码风格上也确实很像)。附带一提,国内某个需要注册会员才能下 载的Android游戏框架衍生于此框架,所以大家也不要刻板的认为收费便一定是好的,免费就一定不好。
项目地址:http://code.google.com/p/rokon/
3、LGame
LGame是一款国人开发的Java游戏引擎,有Android及PC(J2SE)两个开发版本,目前最高版本同为0.2.6(31/07 /10)。 其底 层绘图器LGrpaphics封装有J2SE以及J2ME提供的全部Graphics API(PC版采用Graphics2D封装,Android版采用Canvas模拟实现),所以能够将J2SE或J2ME开发经验直接套用其中,两版本 间主要代码能够相互移植。Android版内置有Admob接口,可以不必配置XML直接硬编码Admob广告信息。
该引擎除了基本的音效、图形、物理、精灵等常用组件以外,也内置有Ioc、xml、http等常用Java组件的封装,代价是jar体积较为庞 大,PC版 已突破1.2MB,Android版有所简化也在500KB左右。此外,该引擎还内置有按照1:1实现的J2ME精灵类及相关组件,可以将绝大多数 J2ME游戏平移到Android或PC版中。唯一遗憾的是,该项目作者是个极其懒惰的家伙,开发文档从去年说到今年依旧没有提供,只有游戏示例可供下 载。
项目地址:http://code.google.com/p/loon-simple/
4、AndEngine
andengine同样是一款基于OpenGL ES技术的Android游戏引擎,物理引擎同样为Box2D(标配|||)。该框架性能普通,文档缺乏,但示例较为丰富。
下载地址(未直接提供jar下载,源码可通过svn提取):http://code.google.com/p/andengine/
项目地址:http://code.google.com/p/rokon/
5、libgdx
libgdx是一款基于OpenGL ES技术开发的Android游戏引擎,支持Android平台下的2D游戏开发,物理引擎采用Box2D实现。单就性能角度来说,堪称是一款非常强大的 Android游戏引擎,但缺陷在于精灵类等相关组件在使用上不够简化,而且文档也较为匮乏。
项目地址:http://code.google.com/p/libgdx/
6、jPCT
jPCT是一款基于OpenGL技术开发的3D图形引擎(PC环境为标准OpenGL,Android为OpenGL ES), 以Java语言为基础的,拥有功能强大的Java 3D解决方案。该引擎与LGame(此为2D游戏引擎)相类似,目前拥有PC(J2SE)以及Android两个开发版本。
jPCT的最大优势之一,就在于它惊人的向下兼容性。在PC环境中,jPCT甚至可以运行在JVM1.1环境之中,因为jPCT内部提供的图形渲染 接 口完 全符合所有的Java 1.1规范(就连已经消失的Microsoft VM乃至更古老的Netscape 4 VM也不例外)。
项目地址:http://www.jpct.net/jpct-ae/
7、Alien3d
Alien3d是一款体积非常之小的Android 3D游戏引擎,基于OpenGL ES技术开发。为了压缩体积,它根据不同功能采用多jar方式发布(包括alien3d-engine.jar,alien3d- tiled.jar,alien3d-sprites.jar,alien3d-shapes.jar,alien3d- particles2d.jar,),事实上它的核心文件大约只有40KB,所有相关jar的总和也不足150KB。
项目地址:http://code.google.com/p/alien3d/
8、Catcake
Catcake是一款跨平台的Java 3D图形引擎,目前支持PC(J2SE)及Android环境运行(已有iPhone版规划)。该引擎在易用性和运行性能上皆有出色的表现,支持常见的游戏开发功能,诸如精灵动画,音频处理和视频播放等。
项目地址:http://code.google.com/p/catcake/
上面的有几款是根据OpenGL ES封装的,对于OpenGL ES 不怎么了解的话可以问下度妈妈,
我刚开始使用的也是直接使用的OpenGL ES 这个东西,因为我用Android Studio 这里面可以直接访问OpenGL ES的东西,上面有个东西叫做GLSurfaceView是android.opengl.GLSurfaceView包里面的.但是做过Android开发的大胸弟们应该了解的到,其实也不仅仅是做过Android开发的人,只要是程序猿或者是攻城狮亦或者是码农,都应该很清楚,只要是原生的做起来都很麻烦,只要是别人封装好的通常都是比较简单的.所以对于不想深入了解其根本原理的同学来说,尽量不要直接查看OpenGL ES 的东西,或者是拿一本书深入研究下,因为仅仅通过网络的力量来说是很强大的,但是知识通常比较分散,很难总结起来.我刚开始就是使用的这个OpenGL ES 然后发现以我现在的水平深入使用和了解还是比较困难的,OpenGL ES严格来说是一款游戏引擎,所以只是3d需求而不是游戏需求的话可以看看其他引擎.但是你会发现不做游戏开发的话其他地方用到3d的很有限,所以大胸弟们自己琢磨哈.
除了上面提到的几种在我知识的水坑里面还有一下几个3D引擎:
cocos 3D:
Unity 3D:
UE4(虚幻4引擎):
前几天看到一个同志说如果不考虑游戏开发,只是做3d展示还可以使用UrhoSharp,但是我搜了一下这个东西好像也是个游戏引擎;
就跟除了游戏其他地方都不用3d似的,好像所有的3d引擎都是为游戏开发的,具体介绍就百度吧,以后闲了再更新;
同志们,不喜勿喷.