你不知道的JavaScript——VR

原创 2017年09月27日 23:26:37

一切可以用 JavaScript 编写的程序,最终都会使用 JavaScript 编写

——Atwood 2007

 

就在前几天“JavaScript是世界上最好的语言”这句话火了,PHP的地位遭受了前所未有的挑战。JavaScript到底有何神通,能登上世界上最好的语言的宝座?

 

JavaScript是诞生于1995年的一种直译式脚本语言,原名Mocha。JavaScript是一种动态类型、弱类型、基于原型的语言,内置支持类型。JavaScript具备简单灵活和跨平台的优势,会成为解决大部分IT问题的优选方案。著名程序员 Jeff Atwood 在2007年发布了著名的 Atwood's Law:“Any application that can be written in JavaScript, will eventually be written in JavaScript. (一切可以用 JavaScript 编写的程序,最终都会使用 JavaScript 编写)”。就像世界上大多数人都是白种人一样,GitHub上用JavaScript写的代码也占据了大多数,JavaScript的开放性和简洁性功不可没。

 

VR和WebVR

2016年被誉为“中国VR元年”。所谓VR,就是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真,能使用户沉浸到虚拟的环境中。

 

WebVR是一项结合了VR和Web的技术,让人们可以直接利用JavaScript与WebGL构建VR应用。而Chrome与设备位置(转身)和动作信息(眼球跟踪)等传感器的结合就是WebVR迈出的一大步。目前国外常见的用JavaScript编写的3D游戏引擎有Three.js,而FaceBook今年新推出的React VR更是大大降低了JavaScript程序员进军VR的门槛。

 

尽管目前VR领域仍然是Unity-3d的时代,VR程序员都是写C#的,但JavaScript征服VR世界只是一个时间问题。


什么是Egret Engine 3D

上文介绍的几个用JavaScript编写的VR游戏引擎都是舶来品,其实国内也有优秀的游戏引擎支持JavaScript开发者进军VR领域——最著名的当属白鹭时代研发的Egret Engine 3D。

 

Egret Engine 3D包含了白鹭时代研发的遵循HTML5标准的2D引擎及全新打造的3D引擎,不仅妥善解决了HTML5性能问题及碎片化问题,还灵活地满足开发者开发2D、3D乃至VR游戏的需求,更有着极强的跨平台运行能力。目前已经占据了国内70%以上的市场份额。

 

如何用Egret Engine 3D开发WebVR

Egret Engine 3D开发WebVR的官方教程很详尽,而用户自发的教程和demo更丰富多彩,我只谈几条注意事项:

一、前期准备工作:

1、一部装有Chrome浏览器的Android手机


2、Google CardBroad,这个不一定要花一顿午餐的钱去买,擅长DIY的技术宅剪碎一个纸箱折一个就好

3、Egret Wing,理论上WebStorm和Sublime等一切JavaScript IDE都可以,不过我建议用官方推荐的

4、WebVR标准库和Egret3D VRController

二、3D模型和贴图

1、Egret Engine 3D支持一切3D Max支持的模型

2、目前Egret暂停了3D Max插件导入,模型需要用Unity插件导入

3、官方工具暂时不支持3D骨骼,是个小小的遗憾

三、常见bug

1、Egret Engine 3D引擎造VR软件太容易,3D画面的代码把View3D改成VRView3D就成了VR画面,然后加上设备位置和眼球跟踪就是VR游戏。我要在这里支出一个可能出现的bug,View3D改成VRView3D有时会报错,只要把_super.call()方法放在构造函数最下边就可以解决。

2、PC上的浏览器看VRView3D效果帧频刷新明显比View3D要快许多是正常现象,只有在PC上的浏览器上显得刷新快,才能在VR设备正常刷新。

 

Egret还能为你的VR游戏做什么

Egret Open Platform就像UMeng和Bugly一样,提供云服务、Crash分析、数据统计和一站式接入等服务,打通了JavaScript开发者与渠道商之间的桥梁。

 

HTML5开发者服务联盟(以下简称“HDSA”)是由白鹭时代联合小米MIUI等各领域顶尖企业共同创建的服务平台。HDSA致力于为JavaScript开发者提供办公场地、培训教育、媒体、广告等技术之外的生态系统,为JavaScript开发者从开发到上线盈利提供一站式解决方案。

 

Erget布道师徐聪,不但能帮开发者解决技术问题,也能协助开发者把VR游戏投放到公众号和小程序等微信产品上,还经常向有创意的开发者送礼物,他一个人就是整个Egret生态系统的一个重要组成部分。

版权声明:本文为博主原创文章,转载请以超链接形式标明文章原始出处和作者

你不知道的JavaScript(上卷)pdf

下载地址:网盘下载 内容简介  · · · · · · JavaScript语言有很多复杂的概念,但却用简单的方式体现出来(比如回调函数),因此,Jav...
  • cf406061841
  • cf406061841
  • 2017年07月31日 09:56
  • 822

JavaScript中的this(你不知道的JavaScript)

JavaScript中的this,刚接触JavaScript时大家都在大肆渲染说其多么多么的灵巧重要,然而自己并不关心;随着自己对JavaScript一步步深入了解,突然恍然大悟,原来它真的很重要!所...
  • ligang2585116
  • ligang2585116
  • 2015年07月25日 19:44
  • 5998

你不知道的JavaScript(上卷)笔记

你不知道的JavaScript(上卷)笔记1.块作用域块作用域是一个用来对之前的最小授权(函数)进行扩展的工具,将代码从函数中隐藏信息扩展为在块中隐藏信息。有以下四种方式创建块作用域。1.1 with...
  • qq_27582155
  • qq_27582155
  • 2017年01月11日 09:31
  • 310

【图书】你不知道的Javascript(下卷)

前言这本书,相信大家应该等了有一两年了,因为上中都出了就等下卷了。错过了《CSS世界》,这本书可以给添置到2018的书单中了。最近好几本都可以列为书单啦~~你不知道的Javascript下卷译者:@单...
  • wGL3k77y9fR1k61T1aS
  • wGL3k77y9fR1k61T1aS
  • 2018年01月05日 00:00
  • 208

JavaScript中的this(你不知道的JavaScript)

JavaScript中的this,刚接触JavaScript时大家都在大肆渲染说其多么多么的灵巧重要,然而自己并不关心;随着自己对JavaScript一步步深入了解,突然恍然大悟,原来它真的很重要!所...
  • u013063153
  • u013063153
  • 2016年09月03日 17:07
  • 829

《你不知道的JavaScript 中卷》

慢慢的,敢说自己懂 JS 了,坐等下卷变量是没有类型的,只有值才有JavaScript 中的变量是没有类型的,只有值才有,在对变量执行 typeof 操作时,得到的结果并不是该变量的类型,而是该变量持...
  • wozaixiaoximen
  • wozaixiaoximen
  • 2017年01月15日 21:50
  • 969

你不知道的JavaScript--Item31 值得你挑战的JavaScript面试题(45题)

你不知道的JavaScript系列,已经有这么多篇博文了,见天找了一些题目,我觉得,下面这些是你“不可能全部会做 ” 的javascript题目,不信你可以试试,答案在后面的博客给出,也许你是jser...
  • i10630226
  • i10630226
  • 2015年11月10日 22:03
  • 12676

【腾讯Bugly干货分享】WebVR如此近-three.js的WebVR示例解析

最近VR的发展十分吸引人们的眼球,很多同学应该也心痒痒的想体验VR设备,然而现在的专业硬件价格还比较高,入手一个估计就要吃土了。但是,对于我们前端开发者来说,我们不仅可以简单地在手机上进行视觉上的VR...
  • Tencent_Bugly
  • Tencent_Bugly
  • 2016年09月02日 14:58
  • 16155

你不知道的JavaScript (上)

一、编译的原理主要分为三个步骤: 1、分词/词法分析:这个步骤主要是将字符串分解成有意义的代码。 2、解析/语法分析:数组嵌套形成结构树。 3、代码生成:将结构树转化为代码的过程。 二、作用域...
  • qq_36192099
  • qq_36192099
  • 2017年06月20日 16:08
  • 40

javascript你不知道的This

《你不知道的javascript》这本书读了有好几遍了,似乎每一次读都有新发现,有些内容并不是一下子可以弄懂的,每次读似乎都能明白一些概念。 再重读一下this关键字。这个概念非常灵活,也非常难掌握...
  • python233
  • python233
  • 2017年06月23日 12:33
  • 203
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:你不知道的JavaScript——VR
举报原因:
原因补充:

(最多只允许输入30个字)