ARKit

AR即虚拟现实增强技术

ARKit是基于苹果的游戏引擎3D(SceneKit)和2D的(SpriktKit)

注意:需要A9处理器的的iOS11以上的系统

增强现实的目标是往真实世界中的特定点插入虚拟内容,并且在真实世界中移动时还能对此虚拟内容保持追踪。ARKit 的基本流程包括从 iOS 设备摄像头中读取视频帧,对每一帧的图片进行处理并获得特征点。特征有很多很多,但我们需要从图片中找出能在多个帧中都被追踪到的特征。特征可能是物体的某个角,或是有纹理的织物的某条边等等。有很多种方式可以生成这些特征,可以在网上了解更多(例如搜索 SIFT)但目前我们只需知道,每张图片里会产生多个唯一标识的特征就足够了。

获得某张图片的特征后,就可以从多个帧中追踪这些特征,随着用户在世界中移动,就可以利用相应的特征点来估算 3D 世界信息,例如当前摄像头的位置和特征的位置。用户移动地越多,就会获得越多的特征,并优化这些估算的 3D 世界信息。

至于平面检测,就是在获得一定数量的 3D 特征点后,尝试在这些点中安装一些平面,然后根据尺度、方向和位置找出最匹配的那个。ARKit 会不断分析 3D 特征点并在代码中报告找到的平面。