ARKit 笔者将把官方文档翻译,然后再结合自己的的见解,出一系列的文档。由于笔者水平有限,不足之处,请纠正。个人觉得要想深入学习 ARKit ,你必须要对 Scenekit 很了解,想要了解,请阅读 Scenekit,后续我将对 Scenekit 理解写成技术文章,敬请期待。
一、简介
ARKit API 官方文档。为了给应用和游戏提供 AR 体验,苹果整合了 iOS 设备的相机和运动特性。AR 带给用户的体验是在苹果手机的相机中增加 2D 和 3D 图片。结合苹果设备的运动跟踪、相机抓取图片、先进的图像处理等技术来生成 AR。
注意:能使用 AR 的苹果设备是 iOS6S 后的设备
为了 AR 应用只能在特定有应用上使用,可以在 info.plist 中用 UIRequiredDeviceCapabilities部分(使用 UIRequiredDeviceCapabilities 若用户设备不支持 AR,该设备的苹果商店不会显示游戏或者应用),如果 AR 技术不是游戏或应用的主要部分,可以通过代码(isSupported
属性)来判断当前设备是否支持 AR。
二、AR 主题
1、第一步 :
-
深入了解 AR
从概念和特征上理解 AR,再开发属于自己 AR 应用。 -
ARSession类
ARSession类可以创建一个单例对象,这个对象是管理苹果设备相机和动作时的参数。
ARSession 是个单例对象,它是管理苹果设备相机和 AR 所需要的运动。
2、AR 配置
-
ARSessionConfiguration 类
ARSessionConfiguration 只能追踪到手机设备方向。
-
ARWorldTrackingSessionConfiguration类
ARWorldTrackingSessionConfiguration 是 ARSessionConfiguration 的子类,ARWorldTrackingSessionConfiguration 可以追踪设备方向和位置,并且通过相机去捕捉真实的世界。
3、标准的 AR 视图
-
Building a Basic AR Experience
配置 AR 会话(AR session),用 SceneKit (3D )或者 SpriteKit(2D) 去展示 AR 内容。 -
ARSCNView 类
A view for displaying AR experiences that augment the camera view with 3D SceneKit content.
ARSCNView 是用 3D SceneKit 来展示 AR。说白了,ARSCNView 是展示三维 AR 内容。
-
ARSKView 类
A view for displaying AR experiences that augment the camera view with 2D SpriteKit content.
ARSCNView 是用 2D SceneKit 来展示 AR。说白了,ARSCNView 是展示二维 AR 内容。
4、自定义AR 视图
-
Displaying an AR Experience with Metal
用相机的图片和位置追踪信息来创建自定义 AR 视图 。
5、真实世界的特征和以及其位置
-
ARAnchor 类
在 AR 场景中,用真实世界中物体的位置和方向来决定虚拟物品的位置和方向。 -
ARPlaneAnchor 类
真实世界平面的位置和方向。 -
ARHitTestResult 类
提供真实世界点的位置,ARHitTestResult 类提供与用户进行 AR 交互。
6、相机和 AR 视图的细节
-
ARFrame 类
ARFrame主要是追踪相机当前的状态,这个状态不仅仅只是位置,还有图像帧及时间等参数。 -
ARCamera 类
ARCamera是一个相机,它是连接虚拟场景与现实场景之间的枢纽。在ARKit中,它是捕捉现实图像的相机,在SceneKit中它又是3D虚拟世界中的相机。 -
ARLightEstimate 类
ARLightEstimate是一个灯光效果,它可以让你的AR场景看起来更加的好。
网友评论