ARKIT 无法在渲染方法中缩放或旋转

ARKIT cannot scale or rotate in render method

目前正在玩 arkit 当我尝试在 arkit 个节点

内缩放对象时遇到了一个大问题
extension RecordPlaceViewController: ARSCNViewDelegate {

  func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode? {
    if anchor.name == "test" {
        let sceneModel = SCNScene(named: "assetsmodels.scnassets/phone2.scn")
        let nodeModel =  sceneModel!.rootNode.childNode(withName: "Plane", recursively: true)
        nodeModel?.geometry?.firstMaterial?.diffuse.contents = UIImage(named: "uv2")
        nodeModel?.scale = SCNVector3(0.1,0.1,0.1)
        nodeModel?.eulerAngles.x = -90
        return nodeModel
    }
    return nil
 }

}

为什么这两个功能在这里不起作用?

nodeModel?.scale = SCNVector3(0.1,0.1,0.1)
nodeModel?.eulerAngles.x = -90

如果我添加带有 scnkit 的那些,它只会起作用,但如果我使用 arkit 节点...比例和位置什么都不做。

解决方案是实施

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

而不是

func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode?

在第一种方法中,您可以做任何您需要的事情来转换您的节点,并且此方法已正确应用。