无限循环ARSCNView锚(用于节点:SCNNode) - > ARAnchor?当节点不在场景中时

时间:2017-12-26 02:30:55

标签: ios swift arkit

我正在尝试在Session Delegate中返回先前创建的节点:

func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode? {
    guard let planeAnchor = anchor as? ARPlaneAnchor else {return SCNNode()}

    let anchorNode = sceneView.anchor(for: earthNode)

    if anchorNode == nil || anchorNode == planeAnchor {
        return earthNode
    }

    return nil
}

我正在尝试查看是否已经为我的节点分配了锚点,如果没有,则返回earthNode。

我的问题是let anchorNode = sceneView.anchor(for: earthNode)要么冻结,要么无限循环。

我的工作理论是,这是因为earthNode尚未放置在场景中。但这似乎是一个不可靠的解释。当然,我也假设我对ARkit的使用充满了无知。

0 个答案:

没有答案