ARKit 从入门到放弃(三)— ARkit 官网文档翻译

欢迎来到苹果的AR世界

Posted by NorthCity on June 20, 2018

ARKit 从入门到放弃(三)— ARkit 官网文档翻译

ARKit

​ 整合iOS设备摄像头和运动功能,在你的应用或游戏中产生增强现实体验。

概述

​ 增强现实(AR)描述了用户体验,即通过设备的摄像头将2D或3D元素添加到实时视图中,使这些元素看上去似乎驻留在真实世界中。ARKit结合了设备运动跟踪、相机场景捕捉、高级场景处理和显示方便,简化了构建AR体验的任务。您可以使用这些技术创建多种AR体验,使用iOS设备的后置摄像头或前置摄像头。

用后置摄像头增强现实

​ 最常见的AR体验是通过iOS设备的背向摄像头显示视图,并通过其他视觉内容进行增强,使用户有了一种新的方式来观察和与周围的世界互动。

ARWorldTrackingConfiguration提供了这种体验:ARKit映射并跟踪用户所居住的真实空间,并将其与一个坐标空间相匹配,以便您放置虚拟内容。World tracking还提供了使AR体验更加身临其境的特性,例如识别用户环境中的对象和图像以及响应真实世界的灯光条件。

注意:

​ 您可以在用户的真实环境中显示3D对象,而无需构建自定义的AR体验。在ios12中,当你在app中使用带有USDZ文件的QLPreviewController,或者在web内容中使用带有USDZ文件的Safari或WebKit时,系统为3D对象提供AR视图。

增强现实与前置摄像头

​ 在iPhone X上,ARFaceTrackingConfiguration使用面向前端的TrueDepth摄像头提供有关用户面部的姿势和表情的实时信息,供您在呈现虚拟内容时使用。例如,您可以在摄像头视图中显示用户的脸,并提供真实的虚拟面具。您还可以省略摄像头视图,使用ARKit面部表情数据来动画虚拟角色,就像在iMessage的Animoji应用程序中看到的那样。

主题

第一步

验证设备支持和用户权限

​ 确保你的应用可以使用ARKit并且尊重用户的隐私。

ARSession

​ 一种共享对象,用于管理设备摄像机和增强现实体验所需的运动处理。

ARConfiguration

​ AR会话配置的抽象基类。

显示

ARSCNView

​ 一种显示AR体验的视图,它通过3D SceneKit内容增强相机视图。

ARSKView

​ 一个显示增强现实体验的视图,用2D SpriteKit内容增强相机视图。

展示的AR体验的材质

​ 通过绘制相机图像和使用位置跟踪信息显示覆盖内容来构建自定义AR视图。

世界跟踪

​ 创建AR体验,让用户使用设备的背向摄像头探索周围世界的虚拟内容。

建立你的第一次AR体验

​ 创建一个运行AR会话的应用程序,使用SceneKit使用平面检测来放置3D内容。

理解ARKit中的世界跟踪

​ 发现支持概念、特性和最佳实践来构建优秀的AR体验。

ARWorldTrackingConfiguration

​ 一种配置,使用背向摄像头,跟踪设备的方向和位置,并检测真实世界的表面,以及已知的图像或对象。

ARPlaneAnchor

​ 关于在世界跟踪AR会话中检测到的真实平面的位置和方向的信息。

AREnvironmentProbeAnchor

​ 在世界跟踪AR会话中为特定区域提供环境照明信息的对象。

用户体验

​ 通过遵循这些示例和人类界面指南>增强现实构建引人注目、直观的增强现实体验。

管理会话生命周期和跟踪质量

​ 通过提供清晰的反馈、从中断中恢复、恢复以前的会话,使你的AR体验更加健壮。

在增强现实中处理3D交互和UI控件。

​ 在AR体验中,遵循视觉反馈、手势交互和真实渲染的最佳实践。

AR世界共享与坚持

创建多用户AR体验

​ 使用MultipeerConnectivity framework在附近设备之间传输ARKit世界地图数据,以创建AR体验的共享基础。

ARWorldMap

​ 空间映射状态和来自世界跟踪AR会话的锚集。

图像检测和跟踪

在用户的环境中使用已知的2D图像来增强一个跟踪世界的AR会话。

在AR体验中识别图像

​ 在用户的环境中检测已知的2D图像,并利用它们的位置放置AR内容。

ARReferenceImage

​ 在世界跟踪AR会话期间在真实环境中识别的映像。

ARImageAnchor

​ 关于在世界跟踪AR会话中检测到的图像的位置和方向的信息。

对象检测

在用户的环境中使用已知的3D对象,以增强对世界的跟踪。

扫描和检测3D物体

​ 记录真实对象的空间特性,然后使用结果在用户环境中查找这些对象并触发AR内容。

ARReferenceObject

​ 在世界跟踪AR会话期间在真实环境中识别的3D对象。

ARObjectAnchor

​ 关于在世界跟踪AR会话中检测到的真实3D对象的位置和方向的信息。

ARObjectScanningConfiguration

​ 一种配置,使用后置摄像头收集高保真的空间数据,用于扫描3D对象以便以后进行检测。

点击测试和真实的位置

ARHitTestResult

​ 通过检查AR会话的设备摄像头视图中的一个点找到的真实曲面的信息。

ARAnchor

​ 一个真实的位置和方向,可以用来放置物体在一个AR场景。

ARTrackable

​ ARKit跟踪位置和方向变化的场景中的真实对象。

镜头和场景的细节

ARFrame

​ 一个带有位置跟踪信息的视频图像,作为AR会话的一部分被捕获。

ARCamera

​ 关于在AR会话中捕获的视频帧的摄像机位置和成像特性的信息。

ARLightEstimate

​ 在AR会话中与捕获的视频帧相关联的场景照明信息的估计。

面部跟踪

使用iPhone X上的TrueDepth摄像头来创建AR体验,以响应用户的面部表情和面部表情。

创建Face-Based基于“增大化现实”技术的经验

​ 使用面部跟踪AR会话提供的信息放置和动画3D内容。

ARFaceTrackingConfiguration

​ 使用TrueDepth相机跟踪用户面部移动和表情的配置。

ARFaceAnchor

​ 面部跟踪AR会话中检测到的面部的姿态、拓扑和表情的信息。

ARDirectionalLightEstimate

​ 在面部跟踪AR会话中与捕获的视频帧相关的环境照明信息的估计。

专业配置

AROrientationTrackingConfiguration

​ 一种配置,使用背向摄像头,只跟踪设备的方向。

ARImageTrackingConfiguration

​ 一种配置,使用后置摄像头来检测和跟踪已知的图像。

相关技术

用音频创造沉浸式的AR体验

​ 使用声音效果和环境声音层创造一个迷人的AR体验。

用ARKit实时使用视觉

​ 管理视觉资源,有效地执行核心ML图像分类器,并使用SpriteKit在AR中显示图像分类器输出。