我正在开发一个显示 3D 人体的应用程序 - 在 SceneKit 编辑器中,我已将相机设置为指向模型。
正如我设置的sceneView.allowsCameraControl = true,用户可以通过简单的手势在对象周围移动、放大和缩小。
为了垂直移动,我实现了一个 UISlider - 我不希望用户用两个手指手势垂直平移。
在滑块操作中,我执行以下操作:
@IBAction func sliderDidMove(_ sender: UISlider) {
cameraNode = sceneView.scene?.rootNode.childNode(withName: "camera", recursively: true)
let vert = 1.5*(0.5 - sender.value)
cameraNode?.position.y = posY + vert
}
当我在加载 ViewController 后更改滑块位置时,这可以正常工作。但是一旦我通过手势旋转或缩放模型,滑块就不再显示效果 - 因此我不能再以编程方式更改相机节点的位置。
有谁知道我该如何解决这个问题?