谷歌ARCore技术特性简介
谷歌美国时间2017.8.29号刚发布了ARCore预览版,这是一个类似于苹果ARKit的增强现实SDK,在此之前,谷歌虽然已投资AR平台Tango,但由于需要特定的硬件和传感器,因此并未广泛普及。这次不同的是,ARCore将支持更多的现有Android设备以及将来的新设备。可以说ARCore是谷歌从高冷探戈向广场舞的一个延伸尝试。
比苹果更进一步的是,谷歌深切明白现有数千万网站的重要性,因此还计划发布一个实验版本的Chrome浏览器原型,这样将在Web端也能支持AR,这对于想在网页上添加AR体验的开发者而言是非常令人兴奋的事情。
ARCore支持Java/OpenGL, Unity和Unreal,支持6DOF,主要提供如下3个方面的功能:
运动跟踪(Motion tracking): 当手机移动时,ARCore使用手机的摄像头观察房间特征点和IMU传感器数据来确定位置和方向(姿势),这样确保虚拟物体被精确放置。
环境理解(Environment Understanding):AR物体通常被放置在桌面或地面上,ARCore使用和运动跟踪相同的技术来检测水平面。
光线估计(Light estimation):Arcore观察环境光,使得开发者可以给虚拟物体添加光照效果来匹配其环境,使其看起来更加真实。
而ARCore对网页的支持,谷歌计划针对ARCore发布实验版本Chrome浏览器原型,另外显然网站需要支持https,这样网页可以使用用户摄像头(Camera),然后通过摄像头来拍摄用户周边环境并利用ARCore提供的上述功能来像机器人一样“理解”环境,并把3D场景添加到真实环境的合适位置,比如把一个虚拟棋盘放到桌面上,把一个3D熊猫放到竹林中。
谷歌同时提供一些方便的工具来帮助用户来制作AR内容,如 Blocks 和 Tilt Brush。
ARCore是开源项目,其代码库位于:http://github.com/google-ar
有一些基础的演示实例:http://experiments.withgoogle.com/ar
在Web上支持ARCore的项目位于:WebAROnARCore(使用Chromium "WebView Flavor" 的一个Fork版本)
另外一个有价值的资源是基于Three.js的AR扩展:https://github.com/google-ar/three.ar.js


最新评论
- 相关文章
微信公众号在线生成二维码带参数怎么搞?
带参数二维码是微信公众号渠道二维码的一种实现
微信的带参数二维码有两种,一种是临时二维码,一种是永久二维码,但是永久二维码的生成是有个数限制的,微...OpenGL/WebGL顶点坐标变换过程简介
世界坐标是按照笛卡尔坐标系定义出来的绝对坐标系,下面的各种坐标系都建立在世界坐标的基础上。对象坐标系对象被应用于任何...
CentOS6 Apache2.2用域名配置多虚拟机
在CentOS下使用域名配置多虚拟机的步骤如下:
1. 使用A-Frame WebVR(网页虚拟现实)快速开发入门教程
WebVR和WebGL应用程序接口使得我们已经可以在浏览器上创建虚拟现实(VR)体验,但从工程化的角度而言,开发社区还需要更多方便强大的开发库来简化编程,Mozilla的
WebGL、Asm.js和WebAssembly概念简介
随着HTML技术的发展,网页要解决的问题已经远不止是简单的文本信息,而包括了更多的高性能图像处理和3D渲染方面。这正是要引入WebGL、Asm.js和WebAssembly这些技...
CSS3弹性布局内容对齐(justify-content)属性使用详解
内容对齐(justify-content)属性应用在弹性容器上,把弹性项沿着弹性容器的主轴线(main axis)对齐。该操作发生在弹性长度以及自动边距被确定后。 它用来在存...
深入理解JS和CSS3动画性能问题和技术选择
本文对比了JS及其框架和CSS3的动画性能,并深入剖析了其内在原因。技术结论大致如下:1. jQuery出于设计原因,在动画性能上表现最差2. CSS3由于把动画逻辑推给了...
通过实例深入理解HTML5/CSS3/SVG/WebGL的技术本质
纹理基础知识和过滤模式详解
1、 为什么在纹理采样时需要texture filter(纹理过滤)。
我们的纹理是要贴到三维图形表面的,而三维图形上的pixel中心和纹理上的texel中心并不一至(pixe...S3TC(S3 Texture Compression)纹理压缩格式详解
使用S3TC格式存储的压缩纹理是以4X4的纹理单元块(texel blocks)为基本单位存储的,每纹理单元块(texel blocks)有64bit或者128bit的纹理单元数据(texel data)。这...
浏览器控制台报JS脚本执行错误:Module is not defined
现在JS分成了两个分支,一部分在服务器端发展如NodeJS,一部分是传统的浏览器运行环境。
有些插件在编写JS代码时,是针对Node编写的,所以直接在浏览器中使...WebGL入门教程1 - 3D绘图基础知识
现代浏览器努力使得Web用户体验更为丰富,而WebGL正处于这样的技术生态系统的中心位置。其应用范围覆盖在线游戏、大数据可视化、计算机辅助设计、虚拟现实以及数...
使用requestAnimationFrame和Canvas给按钮添加绕边动画
要给按钮添加酷炫的绕边动画,可以使用Canvas来实现。基本的思路是创建一个和按钮大小相同的Canvas元素,内置在按钮元素中。然后在Canvas上实现边线环绕的动画。...
使用CSS3实现流星雨动画教程
很多营销页面中需要实现类似流星雨的动画背景,营造节日浪漫的气氛。要实现这样的效果,有两种方法,一个是使用Canvas,一个是使用纯CSS3,我们这里介绍第2种方...
更多...