AR你为未来做好准备吗? 第1部分:iOS上的ARKit入门

苹果公司的ARKit不断发展,使开发人员能够比以往更深入地吸引用户。

通过吉尔·斯科特(Jill Scott)

随着各行各业的公司寻求与受众互动的新方式,productOps的我们正在使用增强现实技术,将移动应用程序从信息内容提升为体验内容。

借助ARKit,Apple提供了强大的SDK,可为iPhone构建AR体验。 它允许开发人员使用iPhone相机在3D空间中放置和操纵对象。 该博客快速浏览了ARKit,其引人入胜的功能,令人印象深刻的视觉效果以及广泛适用的工具包。 随着ARKit 2的发布,开发人员可以使用更多功能,包括持久性体验,共享体验,对象检测和跟踪。

我制作了一个快速而肮脏的Pokemon Go样机,以演示将交互功能实现到移动设备中的简便性。 熟悉Swift会有所帮助,但无需任何经验即可继续学习!

什么是AR和ARKit?

AR对开发人员意味着什么? 让我们从Wikipedia定义开始:

增强现实 AR )是在现实世界环境中的互动体验,其中驻留在现实世界中的对象被计算机生成的感知信息“增强”。

您可能已经熟悉了流行的AR应用程序Pokemon Go! 您举起手机的摄像头,可以在屏幕上看到周围的环境,但是添加了一点点小动物就可以“捕捉”。 稍后,我们将返回此示例,作为我们的AR教程的基础。

AR可以分为两种类型的体验: 建设性破坏性 。 前者为环境添加了元素,而后者则将其带走。 作为一个基本示例,想象一个室内设计应用程序。 富有建设性的AR体验将使您看到您的空间中新沙发的外观,而破坏性的体验将使您看到没有旧的大学craiglist沙发的空间。

我们为什么要关心移动AR?

重点是什么? 为什么要为移动用户集成AR体验?

  1. 吸引人。 它以许多其他应用程序功能无法实现的方式集成到用户的生活中。 用户在一个新的层次上与产品或想法进行交互,并查看其如何适应他们周围的世界。
  2. 它是先进的。 尽管集成起来相对简单,但结果在技术上令人瞩目。
  3. 有帮助 请参阅《汤姆指南》的这篇文章,以了解如何使用AR来创建从学习语言到探索博物馆再到选择化妆的真正有用的工具。

我们的应用

对于一个教程,我们将创建我亲切地称为“ Janky Pokemon”的东西。 这是Pokemon Go类应用的快速又肮脏的娱乐。 它不会支持应用程序商店,但是它将演示建立基本的AR体验是多么简单。

我们将从小处着手。 让我们设置项目并在屏幕上显示一个对象。

项目设置:第一步

首先创建一个情节提要,然后将一个AR场景视图添加到视图控制器中:

现在创建一个新的视图控制器,添加导入,遵循ARKit委托协议,并创建一个连接到场景视图的IBOutlet:

在viewDidLoad中设置场景视图并在viewWillAppear中运行它:

如果我们离开视图,我们想暂停会话:

现在让我们创建一个函数来向环境添加一个简单的盒子:

现在,只需在viewDidLoad中调用该函数并运行即可。 您需要在手机上运行此程序,因为需要访问摄像头!

你撞车了吗 “ 应用程序的Info.plist必须包含一个NSCameraUsageDescription键,该键的字符串值向用户说明该应用程序如何使用此数据。” Apple不想仅允许任何其他应用程序接管您的相机。 您将必须在您的plist中添加一行以请求相机权限。 导航到您的Info.plist并添加以下行:

让我们再试一次。 单击运行,允许拍照,然后按住手机。 如果您稍微看一下手机,应该会在附近看到一个漂浮的紫色框!

实际上,您可能会发现自己位于紫色框中,在这种情况下,应退后一步。 我们将在本系列的第2部分中纠正这种违反个人空间的行为! 我还将说明ARKit中定位的工作原理,添加一些新的形状和纹理以及学习如何使对象移动。