ARKit文档瞎翻译(4)
ARSession
一个处理AR中设备相机和运动过程的共享对象。
概述
一个ARSession对象整合了在ARKit中以你自己的方式创建AR的主要过程。这个过程包括从设备运动传感器读取数据、控制设备相机和在截取的相机图片中进行图像识别。这个会话整合了所有这些结果来创建一个在设备所在的真实世界和你模拟AR内容的虚拟空间所组成的镜像世界。
使用ARKit创建的每一个AR体验都需要一个单独的ARSession对象。如果你使用一个ARSCNView或ARSKView对象来简易地创建AR中的视觉部分,那么视图对象便已经包含了一个ARSession实例。如果你用自己的渲染器来创建AR内容,你就需要自己实例化并维护一个ARSession对象了。
运行一个会话需要一个会话配置:ARSessionConfiguration类或其子类ARWorldTrackingSessionConfiguration类的实例。这些类决定了ARKit如何追踪一个设备相对真实世界的位置和运动,并且影响了你能创建的AR体验的种类。
话题
配置并运行一个会话
- runWithConfiguration:options:
为会话使用指定配置和设置来启动一个AR过程
ARSessionRunOptions
当你改变配置时,此选项影响了如何改变一个ARSession当前状态。configuration
会话中一个定义了运动和场景追踪行为的对象。
- pause
暂停处理会话
负责AR更新
delegate
一个你提供的对象来接收捕获的视频图像和追踪信息,或者为会话中的状态改变进行回应处理。
delegateQueue
会话调用你的一系列代理方法的派发队列
ARSessionDelegate
在AR会话中你可以实现的一些方法来接收捕获的视频帧图像和处理追踪状态。
ARSessionObserver
在AR会话中你可以实现的一些方法来对状态的改变进行回应。
显示并与AR内容进行交互
currentFrame
视频帧图像,带有相关的AR场景信息,是会话对象最近捕获的
- addAnchor:
添加可以被会话对象追踪的指定锚点
- removeAnchor:
移除可以被会话对象追踪的指定锚点