美文网首页
03_ARKit 基础知识 ARSession

03_ARKit 基础知识 ARSession

作者: Zhen斌iOS | 来源:发表于2022-09-22 09:11 被阅读0次

用于控制增强现实体验的主要对象。

@interface ARSession : NSObject

ARSession 对象协调 ARKit 代表您执行的主要流程,以创建增强现实体验。 这些过程包括从设备的运动感应硬件读取数据、控制设备的内置摄像头以及对捕获的摄像头图像执行图像分析。 该会话综合所有这些结果,以在设备所在的真实世界空间和您对 AR 内容建模的虚拟空间之间建立对应关系。

创建会话

每个 AR 体验都需要一个 ARSession。如果您实现自定义渲染器,则您自己实例化会话。

let session = ARSession()
session.delegate = self

如果您使用标准渲染器之一(如 ARView、ARSCNView 或 ARSKView),则渲染器会为您创建一个会话对象。当您想与应用程序的会话进行交互时,您可以在应用程序的渲染器上访问它。

let session = myView.session
运行会话

运行会话需要配置。 ARConfiguration 的子类决定了 ARKit 如何跟踪设备相对于现实世界的位置和运动,从而决定了您创建的 AR 体验的种类。例如,ARWorldTrackingConfiguration 使您能够通过设备的后置摄像头增强用户对周围世界的看法。

配置和运行会话
- runWithConfiguration:options:
使用指定的配置和选项为会话启动 AR 处理。

- runWithConfiguration:
为具有指定配置的会话启动 AR 处理。

identifier
正在运行的会话的唯一标识符。

ARSessionRunOptions
更改 AR 会话配置时转换其当前状态的选项。

configuration
为会话定义运动和场景跟踪行为的对象。

- pause
暂停会话中的处理。
响应事件
delegate
您提供的对象,用于接收捕获的视频图像和跟踪信息,或响应会话状态的变化。

delegateQueue
会话调用委托方法的调度队列。

ARSessionDelegate
您可以实施的方法从 AR 会话接收捕获的视频帧图像和跟踪状态。

ARSessionObserver
您可以实施的方法来响应 AR 会话状态的变化。
管理锚点
- addAnchor:
添加要由会话跟踪的指定锚点。

- removeAnchor:
从会话跟踪中删除指定的锚点。
保存或共享状态
- getCurrentWorldMapWithCompletionHandler:
返回一个对象,该对象封装了世界跟踪会话的空间映射状态和一组锚点。

记录和回放 AR 会话数据:
在 Reality Composer 中录制 AR 会话并在您的 ARKit 应用程序中重播。

扫描 3D 对象
- createReferenceObjectWithTransform:center:extent:completionHandler:
从会话世界空间的指定区域创建参考对象(用于 3D 对象检测)。
更新世界原点
- setWorldOrigin:
使用指定的变换更改 AR 世界坐标空间的基础。
寻找真实世界的表面

从屏幕上的某个点投射光线以查找与真实世界表面的交点。

- raycast:
检查一次光线和真实世界表面之间的交叉点。

- trackedRaycast:updateHandler:
随着时间的推移重复光线投射查询,以通知您物理环境中更新的表面。
将本地坐标转换为地理坐标
- getGeoLocationForPoint:completionHandler:
将框架本地坐标系中的位置转换为纬度、经度和高度。
访问相机框架
currentFrame
活动摄像机源捕获的最新静止帧,包括 ARKit 对其的解释。

ARFrame
作为具有位置跟踪信息的会话的一部分捕获的视频图像。

- captureHighResolutionFrameWithCompletion:
请求包含高分辨率捕获图像的正常频率之外的帧。
管理协作
- updateWithCollaborationData:
使用其他用户收集的有关物理环境的信息更新您的会话。

ARCollaborationData
保存用户收集的有关物理环境的信息的对象。
提供会话
ARSessionProviding
提供会话的对象。

相关文章

  • 03_ARKit 基础知识 ARSession

    用于控制增强现实体验的主要对象。 ARSession 对象协调 ARKit 代表您执行的主要流程,以创建增强现实体...

  • ARSession

    A shared object that manages the device camera and motion...

  • ARSession

    ARSession 参考文档:https://developer.apple.com/documentation/...

  • iOS开发——ARKit之ARSession头文件

    ARSession ARSessio的属性及其实例方法 ARSession观察者协议方法 ARSessionDel...

  • ARSession介绍

    ARSession是一个连接底层与AR视图之间的桥梁,其实ARSCNView内部所有的代理方法都是由ARSessi...

  • ARKit类初印象

    ARSession 作用:管理增强现实体验所需的设备摄像头和运动处理的共享对象 ARSession主要做了以下几件...

  • ARKit问题记录

    (void)session:(ARSession *)session didUpdateFrame:(ARFram...

  • AR-捕捉平地,添加花瓶

    使用到的类: ARWorldTrackingConfiguration:会话追踪配置 ARSession:会话 A...

  • iOS-ARKit_beta: ARSession与config

    ARKit Beta Document 部分翻译复述. 2017.06.07. ARSession ARSessi...

  • 初识ARKit iOS卷

    首先介绍几个经常出现的类 ARSCNView ARSession ARWorldTrackingConfigura...

网友评论

      本文标题:03_ARKit 基础知识 ARSession

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