ARWorldTrackingConfiguration

ARWorldTrackingConfiguration 是 ARConfiguration的子类

class ARConfiguration : NSObject
定义您在给定时间在会话中启用的特定ARKit功能的对象。
ARConfiguration为您的AR体验可以拥有的不同选项定义了一个基类。 您不需要自己分配ARConfiguration; 而是实例化其子类之一。

要实现AR体验的功能,请创建以下子类之一,然后通过run(with :)在会话中运行它。一个会话一次只能运行一种配置,因此请选择最能促进所需的AR体验的一种配置。

ARWorldTrackingConfiguration
跟踪设备相对于ARKit可以使用设备的后置摄像头找到并跟踪的任何表面,人物或已知图像和对象的位置和方向。

ARBodyTrackingConfiguration
使您可以使用设备的后置摄像头跟踪人物,飞机和图像。

AROrientationTrackingConfiguration
使用后置摄像头仅跟踪设备的方向。

ARImageTrackingConfiguration
使用设备的后置摄像头仅跟踪您通过trackingImages提供的已知图像。

ARFaceTrackingConfiguration
仅跟踪设备自拍相机中的脸部,包括它们的运动和面部表情。

ARObjectScanningConfiguration
使用后置摄像头收集有关您希望应用程序稍后在运行时识别的特定对象的高保真数据。

ARPositionalTrackingConfiguration
仅跟踪设备在3D空间中的位置。

class var isSupported: Bool { get }
一个布尔值,指示当前设备是否支持此会话配置类。
class func supportsFrameSemantics(_ frameSemantics: ARConfiguration.FrameSemantics) -> Bool
尝试启用该功能之前,请使用此功能检查设备是否支持特定的帧功能。
var frameSemantics: ARConfiguration.FrameSemantics { get set }

bodyDetection
personSegmentation
personSegmentationWithDepth
var isLightEstimationEnabled: Bool { get set }
一个布尔值,指定ARKit是否分析捕获的相机图像中的场景照明。
var worldAlignment: ARConfiguration.WorldAlignment { get set }
一个值,指定会话如何将真实设备的运动映射到3D场景坐标系中。
case gravity = 0
坐标系的y轴平行于重力,其原点是设备的初始位置。
case gravityAndHeading = 1
坐标系的y轴平行于重力,其x轴和z轴定向为指南针航向,其原点是设备的初始位置。
case camera = 2
场景坐标系被锁定以匹配相机的方向。
var videoFormat: ARConfiguration.VideoFormat { get set }
用于运行此配置的会话的视频捕获大小和帧速率。
class var supportedVideoFormats: [ARConfiguration.VideoFormat] { get }
当前设备支持的视频设置的数组
var providesAudioData: Bool { get set }
一个bool值,指明在AR session期间是否收集音频数据
var initialWorldMap: ARWorldMap? { get set }
从先前的AR会话尝试恢复此会话配置的状态。
var planeDetection: ARWorldTrackingConfiguration.PlaneDetection { get set }
一个值,该值指定会话是否以及如何自动尝试检测相机捕获的图像中的平坦表面。  
var detectionImages: Set! { get set }
用户在真实世界尝试去检测的图片
var maximumNumberOfTrackedImages: Int { get set }
同时跟踪运动的检测图像的最大数量。
var detectionObjects: Set { get set }
ARKit 尝试去检测的3d物体
var userFaceTrackingEnabled: Bool { get set }
设置ARKit 是否支持人脸检测
class var supportsUserFaceTracking: Bool { get }
获取设备是否支持人脸检测
var environmentTexturing: ARWorldTrackingConfiguration.EnvironmentTexturing { get set }
ARKit用于生成环境纹理的行为
var isAutoFocusEnabled: Bool { get set }
一个布尔值,该值确定设备相机是使用固定焦点还是自动对焦行为。
var isCollaborationEnabled: Bool { get set }
一个标志,使您可以选择加入对等多用户AR体验。
var wantsHDREnvironmentTextures: Bool { get set }
指示ARKit以HDR格式创建环境纹理的标志。
如果在iOS 12或更高版本中将environmentTexturing设置为.automatic,则ARKit会为您提供环境纹理,您可以将其投射到应用程序的虚拟内容上以创建逼真的反射。 默认情况下,将WantHDREnvironmentTextures设置为true。 当渲染器在iOS 13中支持HDR环境纹理时,它使您的照明引擎可以输出更多颜色,并获得更逼真的效果。

你可能感兴趣的:(ARWorldTrackingConfiguration)