美文网首页
ARKit 介绍

ARKit 介绍

作者: 流年易逝_李 | 来源:发表于2018-04-06 21:40 被阅读32次

AR技术叫做虚拟增强现实,也就是在相机捕捉到的现实世界的图像中显示一个虚拟的3D模型。

一.框架说明

1:相机捕捉现实世界图像

由ARKit来实现

2:在图像中显示虚拟3D模型

由SceneKit来实现

ARKit框架中中显示3D虚拟增强现实的视图ARSCNView继承于SceneKit框架中的SCNView,而SCNView又继承于UIKit框架中的UIView

ARSCNView只是一个视图容器,它的作用是管理一个ARSession

在一个完整的虚拟增强现实体验中,ARKit框架只负责将真实世界画面转变为一个3D场景,这一个转变的过程主要分为两个环节:由ARCamera负责捕捉摄像头画面,由ARSession负责搭建3D场景

将虚拟物体实现在3D场景中是由SceneKit框架来完成中:每一个虚拟的物体都是一个节点SCNNode,每一个节点构成了一个场景SCNScene,无数个场景构成了3D世界

综上,ARKit捕捉3D现实世界使用的是自身的功能,这个功能是在iOS11新增的。而ARKit在3D现实场景中添加虚拟物体使用的是父类SCNView的功能,这个功能早在iOS8时就已经添加(SceneKit是iOS8新增)

二.原理

1.ARSCNView与ARSession

1)ARKit提供两种虚拟增强现实视图,他们分别是3D效果的ARSCNView和2D效果的ARSKView,无论是使用哪一个视图都是用了相机图像作为背景视图,而这一个相机的图像就是由ARKit框架中的相机类ARCamera来捕捉的。

2)ARSCNView与ARCamera两者之间并没有直接的关系,它们之间是通过ARSession来搭建沟通桥梁的(在iOS框架中,凡是带session或者context后缀的,这种类一般自己不干活,作用一般都是两个:1.管理其他类,帮助他们搭建沟通桥梁,好处就是解耦 2.负责帮助我们管理复杂环境下的内存)

3)要想运行一个ARSession会话,你必须要指定一个称之为会话追踪配置的对象:ARSessionConfiguration,ARSessionConfiguration的主要目的就是负责追踪相机在3D世界中的位置以及一些特征场景的捕捉(例如平面捕捉)(苹果官方建议我们使用它的子类ARWorldTrackingSessionConfiguration,该类只支持A9芯片之后的机型,也就是iPhone6s之后的机型)

2.ARWorldTrackingSessionConfiguration与ARFrame

1)ARSession搭建沟通桥梁的参与者主要有两个ARWorldTrackingSessionConfiguration与ARFrame

2)ARWorldTrackingSessionConfiguration(会话追踪配置)的作用是跟踪设备的方向和位置,以及检测设备摄像头看到的现实世界的表面

3)当ARWorldTrackingSessionConfiguration计算出相机在3D世界中的位置时,它本身并不持有这个位置数据,而是将其计算出的位置数据交给ARSession去管理(与前面说的session管理内存相呼应),而相机的位置数据对应的类就是ARFrame

4)RCamera只负责捕捉图像,不参与数据的处理。它属于3D场景中的一个环节,每一个3D Scene都会有一个Camera

三.ARKit工作完整流程

1.ARSCNView加载场景SCNScene

2.SCNScene启动相机ARCamera开始捕捉场景

3.捕捉场景后ARSCNView开始将场景数据交给Session

4.Session通过管理ARSessionConfiguration实现场景的追踪并且返回一个ARFrame

5.给ARSCNView的scene添加一个子节点(3D物体模型)

(ARSessionConfiguration捕捉相机3D位置的意义就在于能够在添加3D物体模型的时候计算出3D物体模型相对于相机的真实的矩阵位置)

摘自:坤小

相关文章

  • 学习ARKit(三)

    前言 在前面两小节中(学习ARKit(一)、学习ARKit(二)),我们介绍了简单的介绍了AR与ARKit的相关概...

  • ARKit学习 - ARKit介绍

    转载请注明出处Apple 原文地址:https://developer.apple.com/arkit/ Intr...

  • ARKit介绍

    Apple在WWDC17上宣布了一个名为ARKit的新iOS框架。它是一个“允许您轻松为iPhone和iPad创建...

  • ARKit 介绍

    引言ARKit 为开发 iPhone 和 iPad 增强现实(AR)app 提供了一个前沿平台。本文为你介绍 AR...

  • ARKit 介绍

    AR技术叫做虚拟增强现实,也就是在相机捕捉到的现实世界的图像中显示一个虚拟的3D模型。 一.框架说明 1:相机捕捉...

  • ARKit从入门到精通三部曲之二

    转载文章:ARKit从入门到精通(2)-ARKit工作原理及流程介绍 1.1-写在前面的话 1.2-ARKit与S...

  • ARKit API介绍

    1.框架中所有的API介绍 1.1-ARKit框架简介 1.2-ARAnchor 1.3-AR...

  • ARKit - 动工前必知概念

    1. ARKit 工作流程 ARkit 是一个业界领先的AR框架, 先简单介绍一下AR的原理. 基本上ARKit...

  • 学习ARKit(二)

    前言 前面一节学习ARKit(一)简单的介绍了AR与ARKit的相关概念,下面将深入到ARKit中来了解一下ARK...

  • ARKit API介绍

    1.ARAnchor ARAnchor表示一个物体在3D空间的位置和方向(ARFrame用于捕捉相机的移动,其他虚...

网友评论

      本文标题:ARKit 介绍

      本文链接:https://www.haomeiwen.com/subject/tfashftx.html