ARKit之ARSCNView

原文链接:http://ludan.live/2017/08/24/ARKit%E4%B9%8BARSCNView/
文章都先发布在我的个人站点,http://ludan.live。现在搬运到

概述

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

ARSCNView类提供最方便的方法来创建增强现实体验视图,视图融合了设备摄像头拍摄的现实世界和虚拟3D内容。当你运行视图提供的ARSession对象:

  • 视图自动将设备摄像头摄取的视频渲染成场景的背景;
  • 视图的SceneKit场景世界的坐标系直接反映到AR世界的坐标系,AR世界的坐标系就是session configuration创建的;
  • 视图自动移动它的SceneKit相机,来匹配现实世界设备的移动;

因为ARKit自动匹配虚拟场景空间和现实世界,在现实世界中放置一个虚拟对象只需正确地设置该对象SceneKit的位置就行了。(具体的请到Providing 3D Virtual Content with SceneKit查看)

你不一定需要使用ARAnchor类来跟踪对象在场景中的位置,可以使用ARSCNViewDelegate的方法来跟踪,你可以添加内容到被ARKit检测到的任何anchor(锚点)

主题

第一步

使用SceneKit添加3D对象到AR体验

var session: ARSession

AR session为视图内容管理运动跟踪和相机图像处理

var scene: SCNScene

SceneKit场景显示在视图中

响应AR更新

var delegate: ARSCNViewDelegate?

提供了调节视图的AR场景信息同步的方法

protocol ARSCNViewDelegate

你可以实现ARSCNViewDelegate的方法来调节视图的AR场景信息同步

映射内容到现实世界的位置

func anchor(for: SCNNode)

返回关联了特定场景节点的AR锚点

func node(for: ARAnchor)

返回关联了特定场景锚点的AR节点

管理场景灯光

var automaticallyUpdatesLighting: Bool

一个布尔值,表示是否创建和更新视图场景中的灯光

调试AR显示

struct ARSCNDebugOptions

选项值,绘制覆盖内容帮助调试场景视图中AR轨迹

关系

继承自 SCNView

遵循

CVarArg

Equatable

Hashable

UIAccessibility Identification

UIPaste Configuration Supporting

你可能感兴趣的:(ARKit之ARSCNView)