2016-11-14 2 views
0

Управление камерой камеры SCNView имеет функцию двойного касания сцены и откат камеры в исходное положение, когда разрешено разрешать функцию CameraControl.Отправить двойной кран SCNView

я пошел, чтобы добавить кнопку сделать то же самое

, когда пользователь нажимает на кнопку я будет откатить камеру в исходное положение

есть класс не осуществлять UIControl в scenekit

так я могу «т использовать sendAction

я могу установить положение камеры по scnView.pointOfView

но есть анимация при использовании r прокрутка камеры, установка положения камеры не удастся при запуске анимации.

есть ли хороший способ сброса камеры?

ответ

1

Ответ NicoS эффективно обрабатывает часть вашего вопроса о внесении изменения в действие пользователем камеры POV.

Что касается вашей проблемы с нежелательной анимацией при настройке pointOfView - вы можете управлять этой анимацией (и любыми другими неявными анимациями, которые происходят при изменении свойств объекта), используя класс SCNTransaction. Чтобы сделать изменения без анимации, просто сделайте это (Swift 3):

SCNTransaction.begin() 
SCNTransaction.animationDuration = 0 
// perform your changes... 
view.pointOfView = newCameraNode 
// ...and anything else you want to happen in the same non-animated update, then... 
SCNTransaction.commit() 
+0

это ответ я пошел! спасибо, теперь камера может откат, и позволяет работать CameraControl. – SomeOneNewbid

0

Просто добавьте TapGestureRecognizer к вашей раскадровке, к представлению с SCNView. Подключите действие распознавателя жестов к вашему классу, чтобы у вас был IBAction. Задайте количество отводов до двух кранов в Инспекторе атрибутов раскадровки. Теперь вы можете добавить свой код для сброса камеры.

+0

этот кран не может вызвать событие двойного касания внутри scnview.allowsCameraControl. – SomeOneNewbid

Смежные вопросы