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体验?
- 吸引人。 它以许多其他应用程序功能无法实现的方式集成到用户的生活中。 用户在一个新的层次上与产品或想法进行交互,并查看其如何适应他们周围的世界。
- 它是先进的。 尽管集成起来相对简单,但结果在技术上令人瞩目。
- 有帮助 请参阅《汤姆指南》的这篇文章,以了解如何使用AR来创建从学习语言到探索博物馆再到选择化妆的真正有用的工具。
我们的应用
对于一个教程,我们将创建我亲切地称为“ Janky Pokemon”的东西。 这是Pokemon Go类应用的快速又肮脏的娱乐。 它不会支持应用程序商店,但是它将演示建立基本的AR体验是多么简单。
我们将从小处着手。 让我们设置项目并在屏幕上显示一个对象。
项目设置:第一步
首先创建一个情节提要,然后将一个AR场景视图添加到视图控制器中:
现在创建一个新的视图控制器,添加导入,遵循ARKit委托协议,并创建一个连接到场景视图的IBOutlet:
在viewDidLoad中设置场景视图并在viewWillAppear中运行它:
如果我们离开视图,我们想暂停会话:
现在让我们创建一个函数来向环境添加一个简单的盒子:
现在,只需在viewDidLoad中调用该函数并运行即可。 您需要在手机上运行此程序,因为需要访问摄像头!
你撞车了吗 “ 应用程序的Info.plist必须包含一个NSCameraUsageDescription键,该键的字符串值向用户说明该应用程序如何使用此数据。” Apple不想仅允许任何其他应用程序接管您的相机。 您将必须在您的plist中添加一行以请求相机权限。 导航到您的Info.plist并添加以下行:
让我们再试一次。 单击运行,允许拍照,然后按住手机。 如果您稍微看一下手机,应该会在附近看到一个漂浮的紫色框!
实际上,您可能会发现自己位于紫色框中,在这种情况下,应退后一步。 我们将在本系列的第2部分中纠正这种违反个人空间的行为! 我还将说明ARKit中定位的工作原理,添加一些新的形状和纹理以及学习如何使对象移动。
- 在iMessage ios10中禁用URL链接预览
- 如果一个文本字段不是空的,如何启用一个UIButton?
- Swift – 将self.navigationController调用到自定义单元类中
- WWDC 2017国情TL; DR
- 核心graphics的三angular形渐变
- Swift 4中的iOS UIKit:安装UIBarButtonItem
- 在iPhone 4.3模拟器中再次调用MPMoviePlayerPlaybackDidFinishNotification时设置contentURL
- 实施新的Google地图SDK到我的iOS应用程序
- 如何在不立即执行select器的情况下创build不是主线程的NSThread