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

  • 相关阅读:
    css3新特性总结
    ES6常用特性总览
    前端第一次面试
    将一个行数在主线程执行的4中方法
    判断邮箱格式和图片压缩
    上传图片的实现
    导航右侧添加按钮、隐藏导航条和状态栏
    从相册选取图片展示并实现自定义事件
    cell添加选中时的背景图片、显示图片和图片自适应框的大小
    设置键盘无色和状态栏风火轮、屏幕截图
  • 原文地址:https://www.cnblogs.com/keqipu/p/7650676.html
Copyright © 2011-2022 走看看