我已经在SCN场景中创建了Point,Line,Text等视图实体。 但是一旦创建,如果我移动相机,即使这些实体也相对于相机移动。
我想将这些实体(例如,SCN节点)保持在相同的位置(我在创建时使用的坐标)。
例如,我使用以下函数创建一个点。
// add dot node with given position
func nodeWithPosition(_ position: SCNVector3) -> SCNNode {
// create sphere geometry with radius
let sphere = SCNSphere(radius: 0.01)
// set color
sphere.firstMaterial?.diffuse.contents = UIColor(red: 255/255.0,
green: 153/255.0,
blue: 83/255.0,
alpha: 1)
// set lighting model
sphere.firstMaterial?.lightingModel = .constant
sphere.firstMaterial?.isDoubleSided = true
// create node with 'sphere' geometry
let node = SCNNode(geometry: sphere)
node.position = position
return node
}
上述功能可以这样使用:
let node = self.nodeWithPosition(position)
sceneView.scene.rootNode.addChildNode(node)
如果有人可以帮助我,我会很高兴。