导航菜单

2021年12月30日整理:ARKit2的工作原理以及苹果为何如此专注于AR

导读 自 iOS 11 推出以来,增强现实 (AR) 在几乎所有 Apple 活动中都发挥了重要作用,蒂姆库克曾表示他相信它将与智能手机本身一样具有革
2021-12-30 10:32:35

自 iOS 11 推出以来,增强现实 (AR) 在几乎所有 Apple 活动中都发挥了重要作用,蒂姆库克曾表示他相信它将与智能手机本身一样具有革命性,而 AR 是 Apple 在今年 WWDC 与开发人员的会议中的最大焦点.

但为什么?大多数用户认为 AR 的杀手级应用还没有到来——除非你算上Pokémon Go。到目前为止的用例很酷,但它们不是必需的,并且可以说它们在 iPhone 或 iPad 屏幕上的酷程度远低于你戴眼镜或隐形眼镜时的情况。

从今年的 WWDC 主题演讲到 Apple 在圣何塞会议中心举办的各种开发者会议并在线发布供所有人查看,很明显,Apple 正在大力投资于未来的增强现实。

本周我们将梳理 Apple 对 AR 和 ARKit 的评价,详细介绍该工具包的功能和工作原理,并推测该公司的战略——为什么 Apple 似乎如此关心 AR,以及为什么它如此认为它会在即将到来的淘金热中首先到达那里。

ARKit 是什么以及它是如何工作的

让我们从 ARKit 是什么和做什么开始。我们将彻底审查该工具包的高级功能和用途。如果您想了解更多详细信息,Apple 已在其开发人员门户上提供了有关该主题的演讲和文档。

对 ARKit 的最简单、最短的解释是,它为应用程序开发人员做了很多繁重的工作,包括使用 iOS 设备的相机、扫描环境中的图像和对象,以及在真实空间中定位 3D 模型并使其适合.

Apple 最初于 2017年在iOS 11中推出了 ARKit 。应用程序开发人员可以使用 Apple 在 Mac 上的软件开发环境 Xcode 来构建应用程序。ARKit 主要在 AR 应用程序的幕后做三件事:跟踪、场景理解和渲染。

跟踪功能会密切关注设备在物理世界中的位置和方向,并且可以跟踪海报和面部等对象——尽管最初的 iOS 11 版本不支持其中一些可跟踪项目。

场景理解本质上是扫描环境并向开发人员、应用程序或用户提供有关环境的信息。在第一个版本中,这意味着水平面和其他一些东西。

渲染意味着 ARKit 会处理将 3D 对象放置在设备摄像头捕获的场景中的大部分工作,例如在用户使用家具购物应用程序时将虚拟桌子放在用户的餐厅中间。

ARKit 通过以某些特定方式跟踪环境来做到这一点。让我们回顾一下在这方面支持的初始版本。

方向跟踪

在方向跟踪配置中,ARKit 使用设备的内部传感器来跟踪三个自由度的旋转,但这就像转动你的头而不去任何地方——这里不会跟踪物理位置的变化,只是在球形虚拟环境中的方向与设备在原点。方向跟踪是一种特别有用的方法,可用于增强设备附近的远处物体和位置。

世界追踪

还有更多的世界跟踪。它跟踪设备的相机查看方向以及设备物理位置的任何变化。因此,与方向跟踪不同,它了解设备是否向右移动了两英尺。它还在没有任何有关环境的先验信息的情况下执行此操作。

此外,ARKit 使用称为视觉惯性里程计的过程,该过程涉及识别设备周围环境中的关键物理特征。随着设备在物理空间中移动和重新定向(需要移动;旋转不能提供足够的信息),这些特征会从多个角度记录下来。在此过程中捕获的图像一起用于理解深度;它类似于人类从两只眼睛感知深度的方式。

这会生成 Apple 所谓的世界地图,可用于定位和定向对象、为它们应用光照和阴影等等。用户移动和重新定向的次数越多,跟踪的信息就越多,增强效果就越准确和逼真。当 ARKit 构建世界地图时,它会将其与可以放置对象的虚拟坐标空间进行匹配。

设备需要不间断的传感器数据,这个过程在有纹理且包含非常独特特征的光线充足的环境中效果最好;将相机指向一堵空白的墙壁不会有太大帮助。场景中的过多移动也会导致过程中断。

ARKit 在幕后跟踪世界地图质量,它表示建议开发人员以某种方式依次向用户报告的三种状态之一:

不可用:世界地图尚未构建。

有限:某些因素阻止构建足够的世界地图,因此功能和准确性可能会受到限制。

Normal:世界地图足够健壮,可以预期良好的增强。

平面检测

平面检测使用世界地图来检测可以放置增强现实对象的表面。当 ARKit 与 iOS 11 一起推出时,只有水平面被检测到并可用,凹凸和曲线等变化很容易干扰在视图中准确放置 3D 对象的努力。

使用这三种跟踪技术,开发人员可以轻点 ARKit 来轻松地将他们建模的 3D 对象放置在设备屏幕上相机图像的用户视图中的平面上。

iOS 11.3 新增功能

今年早些时候,苹果在 iOS 11.3 中发布了 ARKit 1.5。该更新对 ARKit 可以构建的体验的准确性和质量进行了全面改进,而无需大量增加开发人员的工作。它还提高了用户在 AR 体验期间屏幕上基于相机的视图的分辨率。

垂直平面

ARKit 的初始版本只能检测、跟踪和放置在平坦的水平表面上的对象,因此 ARKit 1.5 添加了对垂直表面和(在某种程度上)不完全平坦的不规则表面执行相同操作的能力。开发人员可以将物体放置在墙上,而不仅仅是地板上,并且在某种程度上,道路上的实际颠簸不再是道路上的象征性颠簸。

图像识别

ARKit 1.5 添加了基本的 2D 图像跟踪,这意味着 ARKit 应用程序可以识别诸如书中的页面、电影海报或墙上的一幅画之类的东西。一旦设备识别出这些 2D 图像,开发人员就可以轻松地让他们的应用程序将对象引入环境中。例如,当用户将设备的相机对准复仇者联盟的电影海报时,可以在环境中放置真人大小的钢铁侠套装。

免责声明:本文由用户上传,如有侵权请联系删除!

猜你喜欢:

最新文章: