У меня есть два SCNNodes, которые имеют тип геометрии, установленный в SCNBox.Расположение SceneKit узла
let node1 = SCNNode(geometry: SCNBox(width: 10.0, height: 10.0, length: 10.0, chamferRadius: 0.0))
let node2 = SCNNode(geometry: SCNBox(width: 20.0, height: 10.0, length: 10.0, chamferRadius: 0.0))
node1.position.x = 0.0
node2.position.x = 10.0
scene.rootNode.addChildNode(node1)
scene.rootNode.addChildNode(node2)
Когда я смотрю на свою сцену, узлы перекрываются, однако они не должны или должны? Одновременно я не манипулирую камерой. На данный момент у меня нет набора физических полей.
Когда я печатаю следующее:
node1.presentationNode.position.x
node2.presentationNode.position.x
или
(node1.geometry as! SCNBox).width
(node2.geometry as! SCNBox).width
Тогда значения, которые печатаются как же, как и те, которые были первоначально установлены. Является ли опорная точка узла по умолчанию левым нижним углом? Странно то, что когда я перемещаю узел в touchhesBegan/touchesEnded и позиционирую его в том же положении, то узлы не перекрываются. Как правильно разместить узлы SceneKit?
Какое событие произошло, когда вы видите разницу в разделении? Это происходит, когда вы манипулируете камерой? – bpedit
Пожалуйста, взгляните на мои правки. В примере кода выше узлы всегда перекрываются. Однако, когда я перемещаю узел в touchhesBegan и размещаю его в точно такой же позиции, они не перекрываются. – BlueLettuce16