【发布时间】:2018-11-29 03:04:07
【问题描述】:
我有一个汽车模型。该模型包含很多组(门、轮胎、窗户、车身)。我想通过按下按钮来更改轮胎的型号。但是我很难找到正确的节点。 我目前的想法是搜索汽车的所有子节点,当我找到轮胎时,更换它们。
我的代码:
func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
guard anchor is ARImageAnchor else { return }
guard let carNode = sceneView.scene.rootNode.childNode(withName: "Car", recursively: false) else { return }
node.addChildNode(carNode)
@IBAction func tireChangePressed(_ sender: UIButton) {
var exchangeTires = sceneView.scene.rootNode.childNode(withName: "Tires 2")
self.sceneView.scene.rootNode.enumerateChildNodes { (node, _) in
if node.name == "Tires"{
// here I try to exchange the node namend "Tires" with the optional node named "Tires 2"
node = exchangeTires
}
}
}
但它不断抛出 node 是一个 let 常量的错误。我应该使用其他方法遍历所有子节点还是有什么问题?
【问题讨论】:
标签: swift parent-child arkit ios12