SceneKit相机仅在x轴上跟踪对象? - 斯威夫特

时间:2016-08-25 03:49:47

标签: ios swift 3d camera scenekit

如何根据移动球体的x位置移动相机,但同时忽略该球体的y和z坐标?以下是我在3个维度上关注球体的代码:

    let cameraNode = SCNNode()
    cameraNode.camera = SCNCamera()
    cameraNode.camera?.usesOrthographicProjection = true
    cameraNode.camera?.orthographicScale = 2
    let constraint = SCNLookAtConstraint(target: sphere)
    constraint.gimbalLockEnabled = true
    self.cameraNode.constraints = [constraint]
    cameraNode.position = SCNVector3Make(20, 20, 20)
    cameraNode.eulerAngles = SCNVector3Make(0, 45, 0)
    sphere.addChildNode(cameraNode)

我怎样才能只关注球体的x位置,而不是它的y和z位置呢?

1 个答案:

答案 0 :(得分:2)

取消sphere的相机,让它成为root的孩子。在移动球体的任何代码中,将相机的x位置设置为球体的位置。

// code moving sphere
cameraNode.position.x = sphere.position.x