ARKit中文文档

本文档详细介绍了ARKit的多个核心组件,包括ARAnchor、ARCamera、ARConfiguration、ARFaceAnchor等,涵盖了iOS 11及更高版本的API,用于实现AR体验。内容包括各类对象的属性、方法以及ARKit在AR追踪、平面检测、面部追踪等方面的功能。
摘要由CSDN通过智能技术生成

作者:
声明:转发本文,请联系作者授权

ARAnchor.h

ARAnchor : NSObject <NSCopying, NSSecureCoding> API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(macos, watchos, tvos)

表示3D空间中物理位置和方向的对象

  • 属 性
属性 属性 备注 SDK版本
NSUUID *identifier 锚的唯一标识符 iOS11.4
matrix_float4x4 transform 转换矩阵,用于定义锚点在世界坐标中的旋转,平移和缩放 iOS11.4

* 方 法

方法 说明 备注 SDK版本
- (instancetype)initWithTransform:(matrix_float4x4)transform 初始化一个新的锚点对象 iOS11.4
- (instancetype)init NS_UNAVAILABLE iOS11.4
+ (instancetype)new NS_UNAVAILABLE iOS11.4

* ARTrackable协 议

正在跟踪的场景中的真实世界对象或位置

  • 属 性

属性 属性 备注 SDK版本
BOOL isTracked 跟踪锚的状态 isTracked值用于确定锚变换的有效性。当不再检测到被跟踪的对象时相机图像,其锚点将返回NO为isTracked iOS11.4

ARCamera.h

ARAnchor : NSObject <NSCopying, NSSecureCoding> API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(macos, watchos, tvos)

  • ARTrackingState API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(macos, watchos, tvos)

描述摄像机跟踪状态的值

  • 属 性
属性 说明 备注 SDK版本
ARTrackingStateNotAvailable 跟踪不可用 iOS11.4
ARTrackingStateLimited 跟踪是有限的。请参阅跟踪原因了解详情 iOS11.4
ARTrackingStateNormal 跟踪是正常的 iOS11.4

* ARTrackingStateReason

描述相机跟踪状态受限的原因

  • 属 性
属性 说明 备注 SDK版本
ARTrackingStateReasonNone 跟踪不受限制 iOS11.4
ARTrackingStateReasonInitializing 由于正在进行初始化,跟踪受到限制 iOS11.4
ARTrackingStateReasonExcessiveMotion 由于相机的过度运动,跟踪受到限制 iOS11.4
ARTrackingStateReasonInsufficientFeatures 由于缺少相机可见的功能,因此跟踪受到限制 iOS11.4
ARTrackingStateReasonRelocalizing 由于进行重新定位,跟踪受到限制 iOS11.4

ARCamera : NSObject <NSCopying> API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(macos, watchos, tvos)

表示相机及其参数的模型

  • 属 性
属性 说明 备注 SDK版本
matrix_float4x4 transform 转换矩阵,用于定义摄像机在世界坐标中的旋转和平移 iOS11.4
vector_float3 eulerAngles 相机的方向定义为欧拉角 此向量中的组件顺序与旋转轴匹配:1.间距(x分量)是绕节点x轴的旋转(以弧度表示)2.偏航(y分量)是绕节点y轴的旋转(以弧度表示)3.滚动(z分量)是绕节点的z轴旋转(以弧度表示)ARKit以与组件相反的顺序应用这些旋转:1.roll 2.yaw 3.pitch iOS11.4
ARTrackingState trackingState 相机的跟踪状态 iOS11.4
ARTrackingStateReason 摄像机当前跟踪状态的原因 iOS11.4
matrix_float3x3 intrinsics 相机内在的 矩阵具有以下内容:fx 0 px0 fy py 0 0 1 fx和fy是以像素为单位的焦距。px和py是主要点的坐标,以像素为单位。原点位于左上角像素的中心。 iOS11.4
CGSize imageResolution 相机图像分辨率,以像素为单位 iOS11.4
matrix_float4x4 projectionMatrix 相机的投影矩阵 投影矩阵假设没有远剪裁平面限制 iOS11.4
- (CGPoint)projectPoint:(vector_float3)point orientation:(UIInterfaceOrientation)orientation viewportSize:(CGSize)viewportSize 将世界坐标系中的3D点投影到2D视口空间 iOS11.4
- (matrix_float4x4)projectionMatrixForOrientation:(UIInterfaceOrientation)orientation viewportSize:(CGSize)viewportSize zNear:(CGFloat)zNear zFar:(CGFloat)zFar 在给定渲染参数的情况下为相机创建投影矩阵 iOS11.4
- (matrix_float4x4)viewMatrixForOrientation:(UIInterfaceOrientation)orientation 给定界面方向,为摄像机创建视图矩阵 视图矩阵可用于将几何图形转换为给定方向的相机空间 iOS11.4

* 方 法

方法 说明 备注 SDK版本
- (instancetype)init iOS11.4
+ (instancetype)new iOS11.4

ARConfiguration.h

  • ARWorldAlignment API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(macos, watchos, tvos)

枚举常量用于指示世界对齐

  • 枚 举
常量 说明 备注 SDK版本
ARWorldAlignmentGravity 将世界与由矢量(0,-1,0)定义的重力对齐 iOS11.4
ARWorldAlignmentGravityAndHeading 将世界与由向量(0,-1,0)定义的重力对齐和向量(w.r.t. True North)由向量(0,0,-1)给出 iOS11.4
ARWorldAlignmentCamera 将世界与相机的方向对齐 iOS11.4

ARPlaneDetection API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(macos, watchos, tvos)

指示要检测的平面类型

  • 枚 举
常量 说明 备注 SDK版本
ARPlaneDetectionNone 没有运行平面检测 iOS11.4
ARPlaneDetectionHorizontal 平面检测确定场景中的水平平面 iOS11.4
ARPlaneDetectionVertical 平面检测确定场景中的垂直平面 iOS11.4

ARConfiguration : NSObject API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(macos, watchos, tvos)

  • 属 性
属性 说明 备注 SDK版本
BOOL isSupported 确定此设备是否支持ARConfiguration iOS11.4
NSArray<ARVideoFormat *> *supportedVideoFormats 此配置和设备支持的视频格式列表 列表中的第一个元素是会话输出的默认格式API_AVAILABLE(ios(11.3)) iOS11.4
ARVideoFormat *videoFormat 会话输出的视频格式 API_AVAILABLE(ios(11.3)) iOS11.4
ARWorldAlignment worldAlignment 确定坐标系应如何与世界对齐 默认为ARWorldAlignmentGravity iOS11.4
BOOL lightEstimationEnabled 启用或禁用光估计 默认情况下启用 iOS11.4
BOOL providesAudioData 确定是否捕获和提供音频数据 默认情况下禁用 iOS11.4

* 方 法

方法 说明 备注 SDK版本
- (instancetype)init iOS11.4
+ (instancetype)new iOS11.4

ARWorldTrackingConfiguration : ARConfiguration API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(macos, watchos, tvos)

  • 属 性
属性 说明 备注 SDK版本
BOOL autoFocusEnabled 启用或禁用连续自动对焦 默认情况下启用 iOS11.4
ARPlaneDetection planeDetection 要在场景中检测的平面类型 如果设置,将继续检测新平面并随时更新。检测到的飞机将被添加到会话中。 如果设置,将继续检测新平面并随时更新。检测到的飞机将被添加到会话中。ARPlaneAnchor对象。如果合并了两个平面,则将删除较新的平面。默认为ARPlaneDetectionNone
NSSet<ARReferenceImage *> *detectionImages 要在场景中检测的图 如果设置会话将尝试检测指定的图像。检测到图像时,会将ARImageAnchor添加到会话中 iOS11.3

* 方 法

方法 说明 备注 SDK版本
- (instancetype)init iOS11.4
+ (instancetype)new NS_SWIFT_UNAVAILABLE(“Use init() instead”) iOS11.4

AROrientationTrackingConfiguration : ARConfiguration API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(macos, watchos, tvos)

用于运行方向跟踪的配置

  • 属 性
属性 说明 备注 SDK版本
BOOL autoFocusEnabled 启用或禁用连续自动对焦 默认情况下启用 iOS11.4

* 方 法

方法 说明 备注 SDK版本
- (instancetype)init API_AVAILABLE(ios(11.3)) iOS11.4
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值