Поворот SCNNode для отслеживания движения устройства - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь создать узел в сцене, которая отслеживает движение мобильного устройства. У меня есть узел SCCone в моей сцене, у которого заостренный конец закреплен в определенном месте сцены (путем установки положения, а затем поворота на 1/2 высоты конуса). Я хотел бы, чтобы широкий конец конуса указывал на точку, на которую указывает ось z мобильного устройства.

Я использовал CMMotionManager для получения высоты и азимута устройства в радиан.

Я пытаюсь обернуть голову, как вращать узел, чтобы соответствовать ориентации устройства. Азимут кажется простым, и если я назначу

coneNode.eulerAngles = SCNVector3 (0, 0, азимут)

, то при перемещении устройства на 360º конус перемещается по кругу 360º.

Однако я не знаю, как настроить вращение по осям X и Y для отображения высоты. Кто-нибудь может объяснить секретный соус?

...