我正在使用this在单视图应用程序中创建一个简单的3D对象 . 在默认配置中,以下代码将20厘米的立方体放置在相机初始位置的前方20厘米处

let cubeNode = SCNNode(geometry: SCNBox(width: 0.1, height: 0.1, length: 0.1, chamferRadius: 0))
cubeNode.position = SCNVector3(0, 0, -0.2) 
sceneView.scene.rootNode.addChildNode(cubeNode)

启用平面检测后,ARKit会为每个检测到的平面添加和更新锚点 . 要为这些锚添加可视内容,请实现ARSCNViewDelegate方法,如下所示:

func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
    guard let planeAnchor = anchor as? ARPlaneAnchor else { return }
    let plane = SCNPlane(width: CGFloat(planeAnchor.extent.x), height: CGFloat(planeAnchor.extent.z))
    let planeNode = SCNNode(geometry: plane)
    planeNode.position = SCNVector3Make(planeAnchor.center.x, 0, planeAnchor.center.z)
    planeNode.transform = SCNMatrix4MakeRotation(-Float.pi / 2, 1, 0, 0)
    node.addChildNode(planeNode)
}

我如何编辑3D对象 .