ARCore概述:
Google 的 ARCore 不是一个你可以下载的 app。它是一个软件开发工具包(SDK),来帮助开发者们创建 AR 应用。
ARCore是Google的构建增强现实体验的平台。通过使用不同的API,ARCore使您的手机能够感知其环境,了解世界并与信息进行交互。某些API可在Android和iOS上使用,以实现共享的AR体验。
ARCore使用三项关键功能来将虚拟内容与现实世界集成在一起,如通过手机的摄像头所看到的:
- 运动跟踪使手机能够了解和跟踪其相对于世界的位置。
- 通过了解环境,手机可以检测所有类型的表面的大小和位置:水平,垂直和倾斜的表面,例如地面,咖啡桌或墙壁。
- 光线估计功能可以让手机估计环境当前的照明条件。
支持的设备
ARCore设计为可在运行Android 7.0(牛轧糖)及更高版本的各种合格Android手机上使用。
ARCore如何工作?
从根本上说,ARCore正在做两件事:跟踪移动设备在移动过程中的位置,以及建立自己对现实世界的理解。
ARCore的运动跟踪技术使用手机的摄像头识别有趣的点(称为特征),并跟踪这些点随时间的移动方式。结合这些点的移动和手机惯性传感器的读数,ARCore可以确定手机在空间中移动时的位置和方向。
除了识别关键点外,ARCore还可以检测平面,例如桌子或地板,还可以估计其周围区域的平均照明度。这些功能相结合,使ARCore可以建立自己对周围世界的了解。
ARCore对现实世界的理解使您能够以与现实世界无缝集成的方式放置对象,注释或其他信息。您可以在茶几的角上放个午睡的小猫,或用有关画家的传记信息为画作注释。运动跟踪意味着您可以从任何角度四处走动并查看这些对象,即使您转过身离开房间,当您回来时,小猫或注解也将恰好位于您离开的地方
在深入研究ARCore之前,了解一些基本概念会很有帮助。这些概念共同说明了ARCore如何实现可以使虚拟内容看上去停留在真实表面上或附着在真实世界位置上的体验。
1、运动追踪
当您的手机在世界各地移动时,ARCore使用称为同步本地化和映射(SLAM)的过程来了解手机相对于其周围世界的位置。 ARCore在捕获的相机图像中检测视觉上明显不同的特征,称为特征点,并使用这些点计算其位置变化。视觉信息与来自设备IMU的惯性测量值结合在一起,以估计摄像机相对于世界的姿势(位置和方向)。
通过将渲染3D内容的虚拟摄像机的姿势与ARCore提供的设备摄像机的姿势对齐,开发人员可以从正确的角度渲染虚拟内容。渲染的虚拟图像可以叠加在从设备的摄像头获得的图像之上,使其看起来好像虚拟内容是真实世界的一部分。
2、对环境的了解
ARCore可以使用支持的设备上的主RGB摄像头创建深度图,这些深度图包含有关到给定点的曲面之间的距离的数据。您可以使用深度图提供的信息来实现身临其境的逼真的用户体验,例如使虚拟对象与观察到的表面准确碰撞,或者使它们出现在现实对象的前面或后面。
3、光线估算
ARCore可以检测有关其环境照明的信息,并为您提供给定摄像机图像的平均强度和颜色校正。这些信息使您可以在与周围环境相同的条件下点亮虚拟对象,从而增加了真实感。
4、用户互动
ARCore使用命中测试来获取与手机屏幕相对应的(x,y)坐标(通过轻击或您希望应用程序支持的任何其他交互方式提供),并将光线投射到相机的世界视野中,返回任何平面或射线相交的特征点,以及该交点在世界空间中的姿势。这允许用户选择环境中的对象或与之交互。
5、定向点
定向点使您可以将虚拟对象放置在倾斜的表面上。执行击中测试以返回特征点时,ARCore会查看附近的特征点,并使用这些特征来尝试估计给定特征点处的曲面角度。然后,ARCore将返回考虑该角度的姿势。
由于ARCore使用特征点簇来检测表面的角度,因此可能无法正确检测到没有纹理的表面(例如白墙)。
6、锚和可追踪物
随着ARCore增强对自身位置和环境的了解,姿势可能会发生变化。当您要放置虚拟对象时,需要定义锚点以确保ARCore随时间推移跟踪对象的位置。通常,您会根据点击测试返回的姿势来创建锚点。
姿势可以改变的事实意味着ARCore可以随着时间的推移更新环境对象(如平面和特征点)的位置。平面和点是一种特殊的对象,称为可追踪对象。顾名思义,这些是ARCore随时间推移将跟踪的对象。您可以将虚拟对象锚定到特定的可跟踪对象,以确保虚拟对象与可跟踪对象之间的关系即使在设备四处移动时也保持稳定。这意味着,如果您将虚拟的Android雕像放到桌子上,如果ARCore稍后调整了与桌子相关联的平面的姿势,则Android雕像将仍然停留在桌子上方。
7、增强图像
增强图像是一项功能,可让您构建可响应特定2D图像(例如产品包装或电影海报)的AR应用。当用户将手机的相机指向特定图像时,他们可以触发AR体验-例如,他们可以将手机的相机指向电影海报并弹出角色并制作场景。
ARCore还可以跟踪运动图像,例如运动公共汽车侧面的广告牌。
可以离线编译图像以创建图像数据库,也可以从设备实时添加单个图像。注册后,ARCore将检测这些图像,图像的边界,并返回相应的姿势。
借助ARCore Cloud Anchor API,您可以为Android和iOS设备创建协作或多人游戏应用。
借助Cloud Anchors,一台设备会将锚和附近的特征点发送到云中进行托管。这些锚可以与同一环境中的Android或iOS设备上的其他用户共享。这使应用程序可以渲染附加到这些锚点的相同3D对象,从而使用户同时具有相同的AR体验。
应用场景介绍:
美图 - 用 AR 拍出梦幻自我
美图公司利用 ARCore 的增强脸部 API(Augmented Faces API)构建了 100 多个自拍滤镜,让用户可以在拍摄照片和视频时体验 AR 特效。增强脸部 API 提供高精度的由 468 个点组成的密集 3D 脸部网格,追踪嘴部动作、眨眼、点头和一些复杂的细节。
此外,新推出的瞬间放置 API (Instant Placement API) 对美图更是如虎添翼。加上几行代码,通过将 AR 对象锚定到 2D 图像中,让用戶不需要扫描,就可以放置虚拟物件并进行互动。
有道少儿词典 - 用 AR 身临其境地学习
有道少儿词典使用 AR 打破了时空限制,让孩子们有趣和又有效的方式学习新单词。利用 ARCore 的环境理解(Environmental Understanding)及平面识别(Plane Finding),识别环境中的对象和特征,精确地理解环境,加上炫酷逼真的 3D 模型,为孩子们带来身临其境学单词的乐趣体验。
学习过程中,孩子们不仅可以将精致模型投射在家里,从各种角度进行观察,放大缩小或移动;还可以点击模型上的中英文词框,或点进查词结果页,查看中英单词的权威释义,使形象和字义深刻联结。这大大提升了学习的趣味性,让孩子们边学边玩两不误。
滴滴 - 用 AR 让路痴永不迷路
在火车站、商场和机场等大型公共区域,你是否有打上车却找不到司机的体验?AR实景导航,让路痴轻松找到方向。
基于 ARCore 技术,滴滴构建了一个实景导航解决方案,实时识别用户和环境之间的定位关系,AR 实景导航引导信息逼真地和实景环境相结合,用户只需要跟着 AR 路标走,直接跳过转换 2D 地图信息的步骤。在这个过程中,ARCore 的环境理解和运动跟踪功能,确保手机始终识别用户方位,给出正确的路标指导。
在定位时,ARCore 会提示用户获得一张有效定位图片,利用运动追踪功能,感知用户位置、移动速度和角度。同时,ARCore 通过环境理解功能可以理解周围现实环境,估算平面信息,不论是商场地面,还是垂直于水平地面的墙壁、指示牌,它都能快速理解并相应放置虚拟指示路标,使引导信息渲染得更加逼真,让用户一看就明白。
这种有用、科技感十足的导航方式,一经推出就大受用户好评。这项功能在中国、日本等多地上线,据数据显示,它帮助用户节省近 1/4 的时间,满意度达 80%。
ARCore 新进展 - 让更多人,在更多地方体验更逼真的增强世界
除了这些丰富多彩的创新合作成果,本次 Google 开发者大会上,还着重介绍了 ARCore 技术的最新进展,为各位开发者们带来了两项AR领域的重磅功能:Depth API(深度 API)以及持久云锚点(Persistent Cloud Anchors)技术。
深度 API - 解决 AR 界的遮挡及互动难题
2020年中,Google 发布了 ARCore Depth API(深度 API),为开发者们带来解决虚拟物件拟真技术难题的希望,开发者凭借 Depth API 和单个 RGB 摄像头就可创建出深度图。不依赖任何特殊硬件,所以在大部分兼容 ARCore 的设备上都是可以使用深度API的。
Depth API 的一项最关键功能就是“遮挡”:虚拟物体能够准确地出现在现实物体后面,与场景真正融合在一起。此前没有遮挡功能,虚拟物体容易“横空出世”,更像是现实世界中的“贴图”,让人瞬间出戏。
AR 作为一种视觉沉浸式媒介,持续吸引着社会各界的广泛关注。Google 作为技术先驱,正积极地与全球开发者合作,用大放异彩的 ARCore 带来一个又一个惊喜。这种变革式的新体验,在不断发展中已有长足进步,但想必它还有更为广阔的远景。未来,它将如何予力社会与个人,改变你我的生活呢,让我们拭目以待。