ARKit文档翻译之ARHitTestResult类

ARHitTestResult

通过检查AR会话的设备摄像机器视图中的一个点找到的有关现实世界表面的信息。

概述

如果你使用SceneKitSpriteKit显示AR体验,可以使用以 i 啊方法之一在视图坐标指定的位置搜索相机图像的真实内容:

  • **ARSCNView hitTest(_:types:)**
  • **ARSKView hitTest(_:types:)**

否则,你可以使用**ARFrame hitTest(_:types:)**方法搜索相机图像的真实内容。因为一个frame独立于一个视图,对于这种方法,你可以传递在标准化图像坐标中指定的点(其中(0,0)是图像的的左上角,而(1,1)是右下角)。

所有这些方法返回一个ARHitTestResult对象的数组,描述找到的内容。

识别结果

  • var type: ARHitTestResult.ResultType

搜索结果表示的检测到的各种特征。

讨论

指定一个或多个结果类型以在调用碰撞测试方法时进行搜索。结果对象只有一个结果类型。




  • struct ARHitTestResult.ResultType

可能的来执行的碰撞测试正在搜索的类型或搜索发现的对象的类型。

static var featurePoint: ARHitTestResult.ResultType

ARKit自动识别的作为连续表面的一部分的点,但没有相应的锚点。

static var estimatedHorizontalPlane: ARHitTestResult.ResultType

通过搜索(没有相应的锚点)检测到的现实平面,其方向垂直于重力。

static var existingPlane: ARHitTestResult.ResultType

已经在场景中的平面锚点(用planeDetection选项检测到的),而不考虑平面的大小。

static var existingPlaneUsingExtent: ARHitTestResult.ResultType

已经在场景中的关于平面的有限大小的平面锚点(用planeDetection选项检测到的)。




  • var anchor: ARAnchor?

代表检测到的平面的锚点(如果有)。

讨论

featurePoint类型的结果不包括锚点。




检查结果几何体

  • var distance: CGFloat

从相机到检测到的表面的以mi为单位的距离。




  • var worldTransform: matrix_float4x4

碰撞测试结果相对于世界坐标系的位置和方向。

讨论

该变换矩阵表示检测到的表面和创建碰撞检测结果的射线之间的交点。碰撞测试将图像或视图坐标系中的2D点投射到3D世界空间中,并报告该线与检测到的表面相交的结果。

会话配置的worldAlignment属性定义了世界坐标系。




  • var localTransform: matrix_float4x4

碰撞测试的结果相对于最近的锚点或特征点的位置和方向。

讨论

该变换矩阵表示检测到的表面和创建碰撞检测结果的射线之间的交点。碰撞测试将图像或视图坐标系中的2D点投射到3D世界空间中,并报告该线与检测到的表面相交的结果。

转载于:https://www.cnblogs.com/keqipu/p/7650676.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值