你不知道的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》

作用域作用域初级解读作用域是一套规则,用以规定变量的存储和查找方式。 在实际应用的时候,经常会发生作用域的嵌套,当JS引擎在当前作用域无法找到需要的变量时,就会顺着作用域链继续查找,直到找到变量或者...

this和对象——源自《你所不知道的JavaScript》

this关于this的错误观点: 1、this指向函数自身。 但其实,this并不指向函数自身。有一种传统的但是现在已经被弃用和批判的用法,是使用 arguments. callee 来引用当前...

【HTML+CSS+JavaScript】网页实战开发笔记之一——HTML的头部信息里你不知道的事

HTML中我们一般把head部分称为网页的头部。头部部分的内容虽然不会在页面中显示,但它能影响到搜索引擎对网页的收录和排序,以及网页的各种全局设置,可以说是至关重要。 ▲知识...

【HTML+CSS+JavaScript】网页实战开发笔记之一——HTML的头部信息里你不知道的事

HTML中我们一般把head部分称为网页的头部。头部部分的内容虽然不会在页面中显示,但它能影响到搜索引擎对网页的收录和排序,以及网页的各种全局设置,可以说是至关重要。 ▲知识...

AR/VR和AI 再不知道就out了

接下来我们来看看“VR/AR/AI”到底是个啥?或许有些人对这些概念一知半解,但是如果你真的从来没听说过这些词,那真的是SO OUT 了。

你不知道的JavaScript--Item30 数组进阶全掌握

在程序语言中数组的重要性不言而喻,JavaScript中数组也是最常使用的对象之一,数组是值的有序集合,由于弱类型的原因,JavaScript中数组十分灵活、强大,不像是Java等强类型高级语言数组只...

你不知道的JavaScript

  • 2017-10-15 21:25
  • 16.34MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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