Я разрабатываю приложение, показывающее трехмерное человеческое тело - в редакторе 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. Но как только я поворачиваю или масштабирую модель жестами, ползунок больше не показывает эффекта - поэтому я больше не могу программно изменять положение своего узла камеры.
Кто-нибудь знает, как я могу это исправить?