Top10 HTML5, JavaScript 3D 游戏引擎框架

21,328 阅读7分钟

文章时间:2019年9月15日

       对使用 JavaScript、HTML5 和 WebGL 技术开发 3D 游戏的开发者来说,JavaScript 3D 游戏引擎是当下的一个热门话题。基于浏览器的游戏的最大优势是跨平台,可以运行在 iOS,Android,Windows 或者其它系统平台上。

       行业内使用 HTML5 和 WebGL 开发 3D 游戏的引擎框架有很多,但是,选择一个对的引擎框架常常是个有挑战的事情,而选择正确与否,会决定你的项目成败。

       为了让你选择更容易些,我们分析了至今业界大部分的引擎框架,并选择了其中 Top10,以帮助你使用 JavaScript 创建更好的 HTML5,WebGL 游戏。

1. Babylon.js

       截止目前为止,用于创建可以出售的专业级游戏里面,Babylon.JS 无疑是目前最好的 JavaScript 3D 游戏引擎

       Babylon.JS 是 David Catuhe 热爱3D游戏引擎的产物。他具有 DirectX,OpenGL 和 Silverlight 这些 3D 游戏引擎的开发经验,并最终在 JavaScript 中创建了这个。

       Babylon.JS 的核心里面包含了一些关键特性:环境光、相机、材料、网格、碰撞引擎、物理引擎、声音引擎 和 优化引擎。

       这里 链接 有一些案例可以去体验下。

       这里 链接 可以获取到代码。

2. Three.js

       Three.js是另一个全面而强大的JavaScript 3D库,可用于处理所有3D,从创建简单的3D动画到创建交互式3D游戏。

       Threejs库不仅提供支持WebGL渲染器的功能,还提供SVG,Canvas和CSS3D渲染器。但是,从游戏角度看,您可能只想关注three.js库的WebGL渲染器。

       Three.JS是由Doob和Altered Qualia创建和维护的,可在MIT许可下作为开源使用。您可以下载缩小版本或通过CDN使用它。

       您可以在 GitHub 上获取three.js 3D引擎的源代码。

       您可能还会喜欢 HTML5动画工具

3. Turbulenz

       Turbulenz是最古老的游戏引擎之一,其历史可以追溯到2009年,当时HTML5和WebGL仍在制作中。 Turbulenz直到2013年才作为开放源代码提供,2013年,根据MIT许可,Turbulenz首次作为开放源代码免费提供给公众。

       Turbulenz作为开放源代码发布后,已经看到了巨大的需求。

       Turbulenz包含大量功能,例如2D物理,3D物理,声音,视频以及其他服务,例如排行榜,多聊天,付款和用户数据。

       有关Turbulenz的更多信息,请访问 – biz.turbulenz.com

       在 – turbulenz_engine 上获取源代码。

4. Famo.us

       Famo.us是HTML5 3D开发市场中的另一大参与者,并且是免费使用JavaScript 3D框架的最佳开源之一。关于famo.us的最好的事情是,它带有3D布局引擎,该引擎与3D物理驱动的动画引擎完全集成在一起。

       Famo.us入门非常简单,为famo.us大学的开发人员提供免费教室。社区是一个伟大而支持的社区,您可以轻松找到大量资源和工作示例。

       有关Famo.us的更多信息,请访问 – famo.us/docs

       在 GitHub 上可以找到源代码。

5. PlayCanvas.js

       PlayCanvas是基于企业级开源JavaScript的WebGL游戏引擎,它拥有大量开发人员工具,可帮助您立即构建3D游戏。 PlayCanvas.js由专业社区构建,最初不是开源的,但是现在您可以将其存储在GitHub上,并开始免费用于下一个3D游戏项目。

       它还具有在您的浏览器中运行的基于云的编辑器,因此PlayCanvas入门就像导航到编辑器URL一样容易。 Editor支持团队之间的协作,这实际上意味着许多人可以并行处理同一项目。

       PlayCanvas.js得到了 Mozilla,Activision 和 ARM 等巨头的支持。

       有关更多有关PlayCanvas的信息,请访问 – playcanvas.com

       在 – playcanvas / engine 上可以获取源代码。

6. Goo Engine

       从Goo Technologies公司开始,Goo Engine是一组功能强大的JavaScript API,可用于在HTML5和WebGL中创建任何3D内容。有一个在线编辑器goocreate可以在此引擎上运行,并具有许多功能,如可视化3D编辑器,材质编辑器,脚本和易于发布的选项等。

       您可以通过支付一些相关的许可费用来使用在线浏览器编辑器。

       尽管编辑器需要一些相关费用,但是基于JavaScript的goo引擎绝对是免费的,可以下载以用于自己的3D项目。您还可以直接在代码中添加以下行,并立即开始使用goo引擎。

       <script src="http://code.gooengine.com/0.13.6/lib/goo.js"></script>

       在 – labs.gooengine.com 上了解有关Goo Engine的更多信息。

       在 – code.gooengine.com 上获取源代码。

7. CooperLicht

       库珀·里希特 Ambiera是创建它的公司,将其用于内部生产多年,并最终以开源形式提供。

       CopperLIcht是用于创建基于浏览器的游戏的最佳3D引擎之一。它是3D游戏编辑器CopperCube的后端引擎。

       CopperCube是支持构建3d游戏和动画所需的所有功能的编辑器。但是,编辑器需要支付一定的许可费,并且不能作为开源使用。

       了解有关CopperLIcht的更多信息,并在 – ambiera.com/copperlicht 下载。

8. Voxel.JS

       Voxel.Js 是由@maxogden和@substack编写的基于开源JavaScript的3D游戏引擎。自发布以来,社区发展迅速。如果您是喜欢模块化方法的人,那么Voxel是一个不错的选择。

       Voxel 引擎是用于构建3D游戏的核心模块,可以根据需要插入其他模块。截至目前,npm上发布了大约200多个插件。

       有大量的资源,教程和模块可用于Voxel入门。您可以使用此引擎轻松构建体素风格的游戏。

       在 – maxogden / voxel-engine 可了解Voxel引擎。

9. Blend4Web

       Blend4Web于2014年由一家名为Triumph的俄罗斯公司作为开源3D框架发布。它与Triumph的3D内容创作工具“ Blender”紧密集成,并且对Blender的节点材料,粒子系统,子弹物理学和其他功能具有本地支持。

       Blend4Web正在积极开发中,并且会在短期内进行大量增强,看起来有望在不久的将来与像Babylon.js和three.js这样的大型竞争对手竞争。

       在 – blend4web.com/en/download… 上获取Blend4Web源代码。

10. Enchant.js

       Enchant.js是一个模块化的,面向对象的JavaScript框架,用于在HTML5中创建简单的应用和游戏。它可以在MIT许可下作为开放源代码获得,因此可以免费使用。可以使用其他插件创建3D动画和游戏,这些插件使WebGL拥有enchant.js的功能。

       Enchant.js通过新功能和插件变得功能强大,并由UEI的秋叶原研究中心积极维护和开发。

       在 – wise9 / enchant.js 上获取源代码。

最后

       HTM5 3D游戏市场发展非常迅速,并且已经暂停以在移动游戏领域占据很大的份额。我们还将看到将JavaScript编译为本机代码的工具的巨大增长,这使您的决定甚至比本机代码更容易为下一个3D游戏项目选择基于JavaScript的框架。

       然而,选择正确的3D游戏引擎对于任何项目都是至关重要的,从长远来看,预先进行彻底的评估肯定会有所回报。

       为了简化选择过程,我们对开源和商业级3D游戏引擎进行了评估,并跻身最佳10引擎之列。请通过注释告知我们您计划将哪一款用于您的下一款基于HTML5的3D游戏。编码愉快!爱JavaScript!

参考

翻译来源 - 链接