ARKit文档翻译之ARWorldTrackingConfiguration类
ARWorldTrackingConfiguration
使用后置摄像头,追踪设备的方向和位置以及检测真实世界平面的配置。
概述
所有的AR配置要在设备所在的现实世界和可建模内容的虚拟3D坐标空间之间建立对应关系。当你的应用程序将该内容与实时摄像机图像一起显示时,用户会体验到你的虚拟的内容是真实世界的一部分的幻象。
创建和维护空间之间的对应关系需要追踪设备的运动。ARWorldTrackingConfiguration类以六自由度(6DOF)追踪设备的运动:具体来说,三个旋转轴(滚动、俯仰和偏航)和三个平移轴(x、y和z轴的移动)。
这种追踪可以创建沉浸式的AR体验:即使用户将设备倾斜到物体的上方或下方,也可以将设备移动到物体的侧面和背面的周围,虚拟物体看起来仍然保持在相对于现实世界的相同位置。
如果启用planeDetection设置,ARKit会分析场景以查找真实世界的平面。对于检测到的每个平面,ARKit会自动向会话添加一个ARPlaneAnchor对象。
API
- init()
创建一个新的世界追踪配置的实例。
讨论
要在AR会话中使用配置,请将其传递给ARSession run(_:options:)方法。
- var planeDetection: ARWorldTrackingConfiguration.PlaneDetection
指定会话是否以及如何尝试自动检测摄像机拍摄的图像中的平面的一个值。
讨论
默认情况下,平面检测为关闭状态。如果启用horizontal平面检测,会话会添加ARPlaneAnchor对象,并在其捕获的视频图像分析中检测似乎是平坦表面的区域时通知ARSessionDelegate,ARSCNViewDelegate,或ARSKViewDelegate对象。
- struct ARWorldTrackingConfiguration.PlaneDetection
ARKit是否并如何检测捕获的图像中的平面的选项。
概述
使用空的集合字面量[]来指定没有平面检测。
平面检测选项
static var horizontal: ARWorldTrackingConfiguration.PlaneDetection
会话检测垂直于重力的平面。
初始化器
init(rawValue: UInt)