谷歌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建模技术就是为了解决...
如何使用BabylonJS加载OBJ或STL模型
BabylonJS(也就是babylon.js,这是一个和three.js类似的WebGL开发框架),更多的用在游戏领域。
本文说明和演示如何使用babylon.js来加载一个标准3d模型文...CSS3特性查询(Feature Query: @supports)功能简介
这是2017年不能不了解和学习的一个CSS新特性,非常实用,考虑到现实世界浏览器的复杂性,该特性本应该先于其他新特性出来。我们已经知道使用媒体查询(Media Que...
CSS3弹性布局内容对齐(justify-content)属性使用详解
内容对齐(justify-content)属性应用在弹性容器上,把弹性项沿着弹性容器的主轴线(main axis)对齐。该操作发生在弹性长度以及自动边距被确定后。 它用来在存...
Babylon.js入门教程和开发实例
Babylon.js是一款WebGL开发框架。和Three.js类似。主要的技术区别是Three.js还试图回退兼容CSS 3D。Three.js是完全社区推动的,比Babylon.js要成熟些,而Babylon...
深度贴图(depth map)概念简介和生成流程
Depth map 深度图是一张2D图片,每个像素都记录了从视点(viewpoint)到遮挡物表面(遮挡物就是阴影生成物体)的距离,这些像素对应的顶点对于观察者而言是“可...
WebGL 纹理映射模式以及WRAP_S | WRAP_T参数详解
我们在纹理滤镜一文中已经说明了2个重要的纹理参数,用来定义对象缩放时纹理的处理方式:GL_TEXTURE_MIN_FILTERGL_TEXTURE_MAG_FILTER本文讲解其余几个纹理参数...
Three.js入门教程2 - 着色器(上)
S3TC(S3 Texture Compression)纹理压缩格式详解
使用S3TC格式存储的压缩纹理是以4X4的纹理单元块(texel blocks)为基本单位存储的,每纹理单元块(texel blocks)有64bit或者128bit的纹理单元数据(texel data)。这...
WebGL入门教程5 - 详解纹理滤镜(Texture Filter)
WebGL中使用纹理贴图来实现细腻的物体表面观感,其中一个重要的参数是纹理滤镜(Texture Filter)。
这个参数用来处理当对象出现缩放时,纹理如何处理中间...如何实现SVG clipPath自适应被裁剪对象
CSS3中引入的clip-path(裁剪路径)属性是一个很强大的特性。
clip-path的含义如下图所示,好比剪纸一样,你用剪刀沿着某条路径把目标对象(图像或元素)裁...IE各版本CSS Hack(兼容性处理)语法速查表
为了兼容IE各个版本,需要在CSS中添加额外的代码,比如以前常用的_width。之所以工作,是因为浏览器会忽略不能解析的样式规则,因此举个例子来说,把_width写在w...
HTML网页布局:静态、自适应、流式、响应式
静态布局(Static Layout)即传统Web设计,对于PC设计一个Layout,在屏幕宽高有调整时,使用横向和竖向的滚动条来查阅被遮掩部分;对于移动设备,单独设计一个布...
更多...