ARKit - Virtual Ruler Demo 中,怎样精确测量实际距离( 二 )

if infinitePlane || !highQualityFeatureHitTestResult { let pointOnPlane = objectPos ?? SCNVector3Zero let pointOnInfinitePlane = sceneView.hitTestWithInfiniteHorizontalPlane(position, pointOnPlane) if pointOnInfinitePlane != nil { return (pointOnInfinitePlane, nil, true) } }
4. If available, return the result of the hit test against high quality features if the hit tests against infinite planes were skipped or no infinite plane was hit.如果可以的话,现在返回最接近高质量的特征值,在点击测试接近无限大平面被跳过或者没有被点击的情况。if highQualityFeatureHitTestResult { return (featureHitTestPosition, nil, false) }5. As a last resort, perform a second, unfiltered hit test against features. If there are no features in the scene, the result returned here will be nil.作为最后一招,返回没有排序接近特征的值。 如果SceneKit场景里面还没有特征,那就会返回空值。let unfilteredFeatureHitTestResults = sceneView.hitTestWithFeatures(position) if !unfilteredFeatureHitTestResults.isEmpty { let result = unfilteredFeatureHitTestResults return (result.position, nil, false) } return (nil, nil, false)
先看这么多,发现其他特性再更新。


推荐阅读