如何知道检测到的节点在 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")
}
}
希望对您有所帮助...
让配置 = 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")
}
}
希望对您有所帮助...