谷歌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
最新评论
- 相关文章
3D感知和建模关键硬件技术:双目、3D结构光和TOF
无论VR、AR和3D打印,其核心技术包含3D成像和建模。而3D建模属于劳动密集型的工作,耗时耗力,凡这类工作都会是被新技术革命的地方,自动3D建模技术就是为了解决...
增强现实引擎ARToolKit工作原理简介
ARToolkit是一个基于CV(计算机视觉)和Marker(标识)的开源增强现实引擎。其具备如下功能特性:A. 鲁棒跟踪,包括基于标记的跟踪与基于特征的跟踪;
WebAssembly工作原理和JavaScript语言性能对比分析
本文简单说明WebAssembly(简称wasm)工作原理和高性能的原由(和JavaScript相比)。不过需要提醒的是Wasm并非设计来完全替代JS,而是对JS的一个强大补充,JS中...
Web界面编程状态变化和JS开发框架(React/Angular/Ember)
UI编程中的一个关键课题就是界面组件化(可复用)以及组件状态管理。稍早一些的windows程序员可能接触过MFC,其界面编程中有一个DDX(DoDataExchange)的机制,...
HTTP1.1协议现状、问题和解决方案
HTTP的现状最早的HTTP协议非常简单,只能用来传送文本,方法也只有GET,后来逐步发展到1.1,能够支持多种MIME格式数据(如文本、文件),支持GET,POST,HEAD,OPTI...
HTML5、Hybrid APP、Native APP对比和技术选型
HTML5和Native APP都很容易理解。为了获得HTML5的移植性和移动本地应用的高性能,搞出来一些混合APP的解决方案。比如Apache的Cordova(也就是以前的PhoneGap),...
计算WebGL中的uniforms变量使用数
在使用Three.js为人体模型加载皮肤材料时,启用了skinning:true的参数。有时候会导致GL编译错误,提示“too many uniforms”。下面的文章有助于理解错误原因和检...
三维向量的简单运算和实用意义
在WebGL的实际应用中我们广泛使用向量的几何运算来计算角度、距离,判断点线、点面之间的关系,比如物体之间的碰撞检测。本文简要介绍三维计算机图形学中常用的...
Three.js入门教程4 - 创建粒子系统动画
嗨,又见面了。这么说我们已经开始学习Three.js了,如果你还没有看过之前三篇教程,建议你先读完。如果你已经读完前面的教程了,你可能会想做一些关于粒子的东西。让我们直面这个话题吧,每个人都爱粒子效果。不管你是否知道,你可以很轻易地创建它们。
Three.js入门教程2 - 着色器(上)
WebGL入门教程5 - 详解纹理滤镜(Texture Filter)
WebGL中使用纹理贴图来实现细腻的物体表面观感,其中一个重要的参数是纹理滤镜(Texture Filter)。
这个参数用来处理当对象出现缩放时,纹理如何处理中间...在PHP网页程序中执行Sass/Compass命令
我们需要在wow云开发平台支持sass/compass等预编译样式语言,为此我们首先尝试了scssphp扩展,但是在支持最新语法上,经常会出现异常。所以我们采用了代理的方式...
更多...