如何知道检测到的节点在 ARKit 中是垂直的还是水平的?

how to know detected node is veritcal or horizontal in ARKit?

让配置 = ARWorldTrackingConfiguration() configuration.planeDetection = [.水平,.垂直]

如何在他们的委托方法中知道检测到的平面是水平的还是垂直的?

func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor)

一个 ARPlaneAnchor 有一个 alignment 属性 描述:

The general orientation of the detected plane with respect to gravity.

因此,如果您想记录 alignment,您可以这样做:

func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {

        //1. Check We Have A Valid ARPlaneAnchor
        guard let planeAnchor = anchor as? ARPlaneAnchor else { return }

        //2. Get It's Alignment
        if planeAnchor.alignment == .horizontal{

            print("The ARPlaneAnchor Alignment == Horizontal")

        }else if planeAnchor.alignment == .vertical{

            print("The ARPlaneAnchor Alignment == Vertical")

        }

 }

希望对您有所帮助...