• 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世界空间中,并报告该线与检测到的表面相交的结果。

  • 相关阅读:
    Windows下安装redis,并与PHP使用
    php中的一些小细节(1)
    MIME类型
    Oracle与SQL Server事务处理的比较
    php+memcached缓存技术实例
    B-树
    平衡二叉树(AVL)
    树--二叉查找树(二叉排序树)
    八种常见的排序算法
    反转一个值中的最后n位
  • 原文地址:https://www.cnblogs.com/keqipu/p/7650676.html
Copyright © 2020-2023  润新知