排名前10的H5、Js 3D游戏引擎和框架
由于很多人都在用JavaScript、HTML5和WebGL技术创建基于浏览器的3D游戏,所有JavaScript 3D游戏引擎是一个人们主题。基于浏览器的游戏最棒的地方是平台独立,它们能在iOS、Android、Windows或其他任何平台上运行。
有很多的JavaScript能够用于创建基于浏览器、使用HTML5和WebGL的3D游戏。然后,选择一个合适的游戏引擎是一个不小的挑战,它有时能帮你完成项目或突破项目瓶颈。
为了让你的选择变的容易,我们已经通过分析大多数JavaScript 3D游戏引擎在今天的市场并列出了十大游戏引擎来帮助您用JavaScript创建非常棒的HTML5,WebGL游戏。
1. Babylon.js
毫无疑问,Babylon.JS是最好的JavaScript3D游戏引擎,它能创建可以出售的专业级游戏。
Babylon.JS是David Catuhe对3D游戏引擎热爱的结果,他在用DirectX, OpenGL, 和Silverlight创建3D游戏引擎方面是经验丰富,并最终自己完成了一个游戏引擎。
Babylon.js的一些核心功能包含了场景图与灯光、摄像机、材料和网格、碰撞引擎、物理引擎、音频引擎和优化引擎。
这是一个Babylon.js试验场,你可以拿你手边的游戏来试试这个游戏引擎。
2.Three.js
Three.js是另一个广泛应用并且功能强大的JavaScript 3D库,从创建简单的3D动画到创建交互的3D游戏, 它都能实现。
Threejs带来的不仅是支持WebGL渲染,也支持SVG、Canvas和CSS3D渲染。然而,从游戏的角度来看,你可以只关注Threejs的WebGL渲染。
获取Three.js 3D引擎的源代码—github
3. Turbulenz
Turbulenz是最好的游戏引擎之一,在2009年,当HTML5和WebGL还在酝酿时,它已经被推出。直到2013年,Turbulenz才基于MIT协议拥抱开源。
Turbulenz包含了很多功能,例如2d物理、3d物理、声音、视频和其他服务,如排行榜、multichat,支付和用户数据。
了解更多:biz.turbulenz.com
获取源代码:turbulenz_engine
4. Famo.us
在HTML5 3D发展的市场中,Famo.us占据了非常重要的地位,并且它是最好的JavaScript 3D开源框架之一。对于famo.us,最好的事情就是包装了3D布局引擎,其完全继承了3D物理驱动的动画引擎。
了解更多—famo.us/docs
获取源代码—famous
5. PlayCanvas.js
PlayCanvas是一个基于WebGL游戏引擎的企业级开源JavaScript框架,它有许多的开发工具能帮你快速创建3D游戏。PlayCanvas.js由一个专业社区创建,最初并不是开源的,但现在你可以在github上fork PlayCanvas.js,然后在你的下一个3D游戏项目中免费使用。
它还提供了能在浏览器中云心的云编辑器,开始使用PalyCanvas和导航到编辑器的URL一样容易。
了解更多—playcanvas.com
获取源代码—playcanvas/engine
6. Goo Engine
来自于GOO技术家族,Goo引擎有一组功能强大的JavaScript API,可通过使用HTML5和WebGL创建任何3D事物。有一个在线的编辑器goocreate,可以运行在Goo引擎上,并封装了一些功能,例如视觉三维编辑器,材质编辑器、脚本和容易发布选项等。
你可以通过支付一些相关的许可费用,在浏览器中使用在线编辑器。
尽管编辑器需要一些费用,但是Goo引擎是绝对免费的,你可以下载它并在你的3D项目中使用。
了解更多—-labs.gooengine.com
获取源代码—code.gooengine.com
7. CooperLicht
对于创建基于浏览器的游戏,CopperLIcht是最出色的3D引擎之一,也是CopperCube 3D游戏编辑器的后端引擎。
CopperCube是一个支持创建3D游戏和动画所需要的所有功能的编辑器,但是,它并不开源,需要一些相关的许可费用。
了解更多—ambiera.com/copperlicht
8. Voxel.JS
Voxel.Js是开源的,基于JavaScript的一个3D游戏引擎,自从它发布以来,社区成长非常快。如果你喜欢模块化方法,Voxel是一个不错的选择。
Voxel-engine是创建3D游戏的核心模块,其它模块可以根据需要插入。到目前为止,已经有超过200个扩展在npm上发布。
了解更多—maxogden/voxel-engine
9. Blend4Web
在2014年,Blend4Web作为开源的3D框架而发布,它高度集成了Triumph的3D内容创建工具“Blender”,并且本地支持Blender的节点材料、粒子系统、bullet物理引擎和其他功能。
获取源代码—blend4web.com/en/downloads
10. Enchant.js
Enchant.js是一个模块化的、面向对象的JavaScript框架,可用HTML5创建简单的APP和游戏。它是基于MIT协议开源的,因此开源免费使用。3D动画和游戏开源使用额外的插件(基于WebGL)创建。
文章来源Web开发者,转载请注明出处
排名前10的H5、Js 3D游戏引擎和框架的更多相关文章
- 转载:[转]如何学好3D游戏引擎编程
[转]如何学好3D游戏引擎编程 Albert 本帖被 gamengines 从 游戏引擎(Game Engine) 此文为转载,但是值得一看. 此篇文章献给那些为了游戏编程不怕困难的热血青年,它的 ...
- 《Unity 3D游戏客户端基础框架》概述
框架概述: 做了那么久的业务开发,也做了一年多的核心战斗开发,最近想着自己倒腾一套游戏框架,当然暂不涉及核心玩法类型和战斗框架,核心战斗的设计要根据具体的游戏类型而定制,这里只是一些通用的基础系统的框 ...
- 【直播预告】7月18日3D游戏引擎免费公开课答疑,參与送C币!
喜讯喜讯! 为了酬谢广大学员.CSDN学院特推出iOS和3D游戏引擎开发免费技术答疑公开课,让您度过一个充实的暑假~ 參与本次公开课,即有机会获得50C币! 答疑公开课时间:7月18日 晚7:30-9 ...
- 【直播预告】7月25日3D游戏引擎免费公开课答疑第三期,有奖问答!
喜讯喜讯! 为了酬谢广大学员.CSDN学院特推出iOS和3D游戏引擎开发免费技术答疑公开课.让您度过一个充实的暑假~ 參与本次公开课,进行有奖问答.即有机会获奖. 答疑公开课时间:7月25日 晚7:3 ...
- 3D游戏引擎设计 实时计算机图形学的应用方法 第2版 pdf 带索引书签目录
3D游戏引擎设计 实时计算机图形学的应用方法 第2版 目录 第1章 概述1.1 图形硬件和游戏发展史1.2 本书版本与软件发展史1.3 章节导读 第2章 图形系统2.1 基础知识2.1.1 坐标系 ...
- Pomelo:网易开源基于 Node.js 的游戏服务端框架
Pomelo:网易开源基于 Node.js 的游戏服务端框架 https://github.com/NetEase/pomelo/wiki/Home-in-Chinese
- 棒!使用.NET Core构建3D游戏引擎
原文地址:https://mellinoe.wordpress.com/2017/01/18/net-core-game-engine/ 作者:ERIC MELLINO 翻译:杨晓东(Savorboa ...
- Java 3D游戏引擎——JME(java Monkey Engine)
转自:http://bbs.gameres.com/forum.php?mod=viewthread&tid=180732 JME(java Monkey Engine),一个非常棒的Java ...
- 3D游戏引擎中常见的三维场景管理方法
对于一个有很多物体的3D场景来说,渲染这个场景最简单的方式就是用一个List将这些物体进行存储,并送入GPU进行渲染.当然,这种做法在效率上来说是相当低下的,因为真正需要渲染的物体应该是视椎体内的物体 ...
随机推荐
- sql语句之字符串匹配like
sql没有正则表达式,只能使用like 语法 match_expression [ NOT ] LIKE pattern [ ESCAPE escape_character ] 参数 match_ex ...
- 改变MyEclipse创建JSP时默认的pageEncoding编码
如何改变MyEclipse创建JSP时默认的pageEncoding编码 有时我们需要改变MyEclipse创建JSP时默认的pageEncoding编码,因为也许它默认的编码不是我们想要的,比如我们 ...
- CodeForces 614C Peter and Snow Blower
简单计算几何,只要算出圆心到多边形上的最短距离和最长距离即可 #include<cstdio> #include<cstring> #include<cmath> ...
- JS基础知识——定时器
1.定时器——setInterval("执行函数名",间隔时间); setInterval(fun,1000);每隔1秒钟执行一次fun函数 setInterval("f ...
- CSS中的浮动清除
先来看一个实验:现在有两个div,div身上没有任何属性.每个div中都有li,这些li都是浮动的. 理想的效果:可实际的效果: 这个地方就涉及到浮动,因为两个父元素div都没有高度(或者小于子元素的 ...
- 项目经验分享——Java常用工具类集合 转
http://blog.csdn.net/xyw591238/article/details/51678525 写在前面 本文涉及的工具类部分是自己编写,另一部分是在项目里收集的.工具类涉及数 ...
- Hibernate---O/R Mapping
1. JDBC数据库繁琐 2. sql语句不是面向对象 3. 可以在对象和关系表之间建立关联简化编程 4. O/R Mapping可以简化编程, 跨越数据库平台 比较流行的O/R Mapping Fr ...
- javascript 中 function bind()
Function bind() and currying <%-- All JavaScript functions have a method called bind that binds t ...
- iOS开发——NSArray中的字符串排序
NSArray *arr = @[@"fjhsf",@"wert",@"fdg",@"asd",@"fs g ...
- Java设计模式遵循的七大原则
最近几年来,人们踊跃的提倡和使用设计模式,其根本原因就是为了实现代码的复用性,增加代码的可维护性.设计模式的实现遵循了一些原则,从而达到代码的复用性及增加可维护性的目的,设计模式对理解面向对象的三大特 ...