首页 iOS.& Swift Books 苹果通过教程增强现实

12
arkit. 由克里斯语撰写

既然你已经了解了快速看,真正的kit和真实的composer,现在是时候偷看了引擎盖,看看了推动所有这些奇妙的应用程序和工具的关键技术: arkit..

在本节中,您将结合权力 arkit. 掌权 Spritekit.。您将创建一个有趣的2D Spritekit游戏,在那里您可以在脸上爆炸之前弹出小emojis!

在本章中,您将重点关注Arkit。

笔记:本章仅基于理论。如果您想使用基于Arkit的项目弄脏,可以随意跳转到下一章。

什么是Arkit?

Arkit是Apple的移动AR开发框架。有了它,您可以创建一个沉浸式,有吸引力的体验,允许您使用周围世界的现场摄像头饲料增强虚拟2D和3D内容。

增强现实框架并不新鲜。例如,Vuforia已经存在了多年。什么集合Arkit与其他AR框架相比是Arkit表演 无价值跟踪.

无标记意味着Arkit不需要跟踪卡。它了解它周围的世界并快速标识它可以放置虚拟内容的表面。

有趣的是,较旧的框架很快将Arkit纳入他们的API,即时给他们Arkit的真棒无限性跟踪能力。

Arkit将任何Apple设备转换为A9或更高处理器的AT功能。只要考虑一下:就在这个时刻,数百万苹果公司已经在他们的口袋里有一个精致的AT功能。

笔记:由于Apple继续为其最新设备开发新的AT功能,因此它们也可以提高Arkit,为更新的硬件提供支持。值得注意的是,一些现代化的ARKIT功能中的一些距离仅适用于具有特定硬件的设备。

animojis.& Memojis

arkit. 是负责将IMESSAGE成为其中一个最酷的即时消息传递应用程序的关键技术。 Arkit的脸部跟踪功能,允许它提供已知的史诗特征 animojis.备忘录.

Arkit背后的技术

你可能会惊讶地发现,Arkit背后的一些技术非常熟悉,并且已经存在了一段时间。

与Arkit渲染集成

有趣的是,Arkit没有自己的图形API;它只提供世界空间跟踪和场景了解功能。为了创建AR经验,Arkit仍然需要某种图形框架来提供体验的图形组件。

Arkit-Powered应用程序示例

为了演示Arkit的功能,这里有一些有趣的Arkit-Powered应用程序的例子,您可以在Apple Appstore上免费找到。由于增强现实,这些公司以全新的清爽和实用的方式向客户提供产品范围。

宜家的地方

宜家的地方 是一个栩栩如生,真正的3D家具的数字目录。由于Arkit的力量,客户可以在自己的家中预览宜家的家具,让他们成为家具规模和灾难的真正意义。

华比帕克

华比帕克 是一种数字眼镜目录,可让客户浏览大量的眼镜,太阳镜和隐形眼镜。通过Arkit的脸部检测和跟踪功能,客户可以实际尝试和预览框架。

我的地球

以全新的方式获得MINECRAFT 我的地球。通过Arkit的帮助,玩家现在可以在增强现实中享受这个经典游戏。他们可以在桌面模式或寿命模式下构建惊人的创作,甚至可以共同合作和建立在一起。

Arkit的特色

如果您对Apple的其他框架进行了经验,您可能会期望Arkit具有漫长而痛苦的学习曲线。

世界空间跟踪

Arkit通过现实世界的空间实时跟踪设备的位置和方向。

场景了解& persistence

为实现无标记跟踪,Arkit创建并管理其自己的曲线和它检测到的特征点,然后存储点云中的映射。在Arkit触发器中的特殊事件挂钩每次检测到新表面时,当曲面被修改或移除表面时。

光估计

Arkit可以提供准确的现实灯光条件。它分析了活动视频进纸帧数据以计算估计的环境照明条件,然后提供光源以点亮您的虚拟场景。

实时环境图

为了进一步推送虚拟内容的视觉保真度,Arkit通过采样即时空间来生成实时环境映射。它使用地图来改善环境照明条件,并产生实际的思考。

场景互动

对于与AR场景中的3D内容的无限制交互,使用Arkit提供的命中测试功能。

公制缩放系统

要计算场景中的距离和大小,Arkit使用精确的公制缩放系统。您使用的图形 - 在Arkit中无关紧要,一个单元等于一米。

2D图像检测& tracking

Arkit一次可以检测和跟踪高达100个图像和矩形形状。这允许您通过卡,照片,海报甚至绘画覆盖增强内容。 Arkit甚至可以为您提供图像中的对象的估计物理大小。

3D对象检测

创建您自己的物理3D对象的自身识别模型。一旦您提供AR模型,Arkit即使在相当复杂的环境中也可以检测到物理3D对象。如何将一些烟雾吹出玩具汽车排气?

面部检测& tracking

Arkit可以在配备A12仿生芯片的设备上进行面部检测和跟踪,以后,这是面向前方的相机经验。配备带有Truepth Camera的设备可以同时追踪三个面。

多摄像头跟踪

您可以在前后摄像机上同时使用面部和世界追踪,开辟新的可能性。

动作捕捉

实时运动捕获允许您跟踪一个人的身体位置,移动和姿势,并产生由关节和骨骼组成的3D骨架。

人们闭塞

由于人们闭塞,AR经历现在更加沉浸。这是一种通过机器学习实现的绿色屏幕风格效果。

深度API.

arkit.provides a 深度API. 适用于带LIDAR扫描仪的设备。 LIDAR扫描仪允许API使用关于周围环境的每个像素深度信息。

场景几何

Arkit配备有LIDAR扫描仪的设备,可以创建空间的拓扑地图。由于机器学习,Arkit也有深刻的了解您的环境。它可以放置旁边的标签,以识别的内容,如地板,墙壁,天花板,窗户,门更均匀。然后,它可以使用所有这些信息来为您的虚拟内容提供对象遮挡和实际物理。

地理位置锚点

Arkit允许您根据地理定位放置AR内容。您需要做的就是提供纬度,经度和高度坐标加上对象的方向。

即时Ar.

装备LIDAR的设备能够令人难以置信的快速平面检测,这使得ARKIT甚至不必扫描空间即可立即将AR内容放入现实世界中。

合作会议

创建具有多个用户之间的实时协作会话的共享AR体验。 Arkit在多个用户之间建立了一个协作的世界地图,让他们更快地进入共享的AR体验 - 并且最终使共享AR的发展更容易和更快。

Arkit的限制

ARKIT为移动设备上的用户体验提供了一种新的范式。然而,它确实有一些影响用户的AR经验的限制品质。作为开发人员,您应该了解这些限制。

表面检测需要时间

如果您的用户使用没有LIDAR扫描仪的设备,但表面检测和真实世界的理解都会采取明显的时间。

运动处理滞后

通过AR经验,您将很快注意到过多的设备运动可能导致口吃和模糊成像,这使得Arkit难以理解它的样子。当真实世界的场景变得摇摇时,Arkit的处理也有点摇摇欲坠。

低灯条件

低光条件是有问题的。设备上无法辨别低光场景以及人眼可以,这意味着当灯光暗时,Arkit在场景检测时遇到了麻烦。它甚至可能无法识别任何表面。

光滑的& reflective surfaces

Arkit难以检测和跟踪光滑,纹理甚至反射表面。纹理越纹理和较少的表面是,它更容易检测和跟踪这些表面的运动。

幽灵效果

使用AR后一段时间后,您可能会注意到一些虚拟内容违背物理定律。例如,虚拟内容可能会通过真实世界的对象,就像幽灵一样通过闭门的门。

硬件限制

作为开发人员,您必须意识到某些Alkit功能仅在某些Apple设备上可用。

arkit.resources

Apple以文档,视频和示例应用程序的形式提供了大量重要资源,供您学习。找到这些资源可能是具有挑战性的,所以这是一个策划列表给你:

官方Arkit文件

这是Apple的Arkit文档的官方网站。在这里,您可以找到有关Arkit及其相关技术的最新信息。

增强现实的人力界面指南

Apple还提供了一套人类界面指南,在设计Arkit应用程序时为您提供最佳实践。本指南显示您确切的是做什么 - 以及不做什么。未能遵守这些准则可能会导致Apple拒绝您的应用程序提交。

Arkit上的WWDC官方视频

Apple始终将信息纳入其WWDC演示文稿。他们在Arkit上的视频也不例外,值得一看不止一次。

与Arkit的交互式内容

这是Apple的官方Arkit Demos之一,这是一种有趣的方式,可以获得Arkit的一些实践经验。

关键点

您已达到本章的末尾,但您创建支持AR的游戏和Alkit的应用程序刚刚开始。

有一个技术问题?想报告一个错误吗? 您可以向官方书籍论坛中的书籍作者提出问题和报告错误 这里.

有反馈分享在线阅读体验吗? 如果您有关于UI,UX,突出显示或我们在线阅读器的其他功能的反馈,您可以将其发送到设计团队,其中表格如下所示:

© 2021 Razeware LLC

您可以免费读取,本章的部分显示为 混淆了 文本。解锁这本书,以及我们整个书籍和视频目录,带有Raywenderlich.com的专业订阅。

现在解锁

要突出或记笔记,您需要在订阅中拥有这本书或自行购买。