要实现不改变节点中心点而改变SCNNode原点,可以使用一个子节点来实现。以下是一个示例代码:
// 创建一个父节点
let parentNode = SCNNode()
// 创建一个子节点
let childNode = SCNNode()
// 将子节点添加到父节点上
parentNode.addChildNode(childNode)
// 将父节点添加到场景中
scene.rootNode.addChildNode(parentNode)
// 设置子节点的位置
childNode.position = SCNVector3(x: 0, y: 0, z: 10)
// 创建一个几何体
let sphere = SCNSphere(radius: 1)
// 创建一个几何体节点
let sphereNode = SCNNode(geometry: sphere)
// 将几何体节点添加到子节点上
childNode.addChildNode(sphereNode)
// 设置几何体节点的位置
sphereNode.position = SCNVector3(x: 0, y: 0, z: -10)
// 改变父节点的位置
parentNode.position = SCNVector3(x: 5, y: 0, z: 0)
在这个示例中,我们创建了一个父节点和一个子节点。将子节点添加到父节点上,然后将父节点添加到场景中。然后,我们创建了一个几何体节点并将其添加到子节点上。通过设置子节点和几何体节点的位置,我们可以改变几何体节点相对于父节点的位置。最后,我们改变父节点的位置来改变整个节点的原点位置,而不会改变几何体相对于父节点的位置。
上一篇:不改变iframe内容位置的情况下更改iframe大小
下一篇:不改变接收器的界面