01-ARKit简介

ARKit所需开发环境###

IDE要求:Xcode9
系统要求:iOS11
手机要求:6s及以上(处理器A9、A10)

AR及ARKit相关知识点###

AR(Augmented Reality),即增强现实技术,并不是新技术。在iOS11系统上,ARKit正式成为iOS系统框架,让开发者能够使用OC或swift语言就能开发AR-app,看起来的确有点小炫酷。

一、AR是如何工作的?####

创建一个现实和虚拟空间之间的对应关系,arkit使用的技术称为视觉惯性测距。这个过程结合了从iOS设备的运动传感硬件与设备的摄像头获取到的图像。arkit识别具有显著特征的场景图像,跟踪在视频帧之间的特征差异的位置,该信息与运动传感数据比较。从而获得一个高精度的设备的位置和运动模型。世界跟踪还分析和理解场景的内容。使用命中测试方法(参见arhittestresult类)找到对应于相机图像中某个点的真实世界的表面。如果启用planedetection在您的会话配置设置,arkit检测平面在相机的图像和报告他们的位置和尺寸。让您与虚拟内容交互。

二、注意点####

1.世界追踪需要清晰的图像。当相机看不到细节时,例如当相机指向空白的墙壁或场景太暗时,跟踪质量就会降低。
2.设备缓慢地移动,ARKit能更好地解析场景。但运动过快或晃动过猛会导致模糊图像,设备与实物之间的距离太远也会降低跟踪质量。ARCamera类提供跟踪状态原因信息,您可以使用它来开发用户界面,该用户界面告诉用户如何解决低质量的跟踪情况。
3.允许平面检测的时间产生明确的结果,并禁用平面检测时,你有你需要的结果。

这三点在实际开发中也确实感觉到需要注意。

三、类别简介####

1.第一步#####

ARSession
基础类。管理设备相机和运动跟踪的类。它从设备硬件读取信息,分析相机采集到的图像信息,从而将现实世界和虚拟模型建立关系。

2.配置#####

所有AR配置都建立了设备所在的真实世界与虚拟三维坐标空间之间的对应关系,您可以在其中建模。当应用程序与实时摄像机图像一起显示该内容时,用户体验到你的虚拟内容是现实世界的一部分。创建和保持空间之间的这种对应关系需要跟踪设备的运动。
ARSessionConfiguration
基础配置。追踪设备方向。
此类追踪设备三自由度(3DOF)的移动:具体来说,包括三个旋转轴(横滚、俯仰、偏航)。
ARSessionConfiguration在iOS所有设备上都通用,在特定设备上获得更近一步的AR体验,可以使用子类ARWorldTrackingSessionConfiguration。
ARWorldTrackingSessionConfiguration
可以追踪设备的位置、方向,并能检测摄像头采集到的真实世界的表面。
此类追踪设备六自由度(3DOF)的移动:具体而言,旋转轴(横滚、俯仰、偏航)和三轴平移(在 X,Y,和Z上的移动)。

3.标准view#####

ARSKView:在3D空间里展现2D内容的view
ARSCNView:在相机采集到的图像里展示3D模型的view

4.真实世界的物体和位置#####

ARAnchor:真实世界的位置和方向,使用它的方法驾到ARSession里面。
ARPlaneAnchor:在ARSession中检测到真实世界平面的位置和方向的信息。
ARHitTestResult:在AESession中相机采集到的图像view上某个点的信息

5.相机和场景信息#####

ARFrame:一个正在运行的ARSession连续地从设备摄像机捕获视频帧。对于每一帧,arkit分析图像,同时根据从运动传感硬件返回的数据来判断设备的实际位置信息。arkit发送这些跟踪信息和成像参数给ARFrame对象。
ARCamera:在ARSession中捕获的相机位置和图像特征的信息。
ARLightEstimate:在ARSession中与捕获的场景照明信息。

你可能感兴趣的:(01-ARKit简介)