Я пытаюсь создать узел в сцене, которая отслеживает движение мобильного устройства. У меня есть узел SCCone в моей сцене, у которого заостренный конец закреплен в определенном месте сцены (путем установки положения, а затем поворота на 1/2 высоты конуса). Я хотел бы, чтобы широкий конец конуса указывал на точку, на которую указывает ось z мобильного устройства.
Я использовал CMMotionManager для получения высоты и азимута устройства в радиан.
Я пытаюсь обернуть голову, как вращать узел, чтобы соответствовать ориентации устройства. Азимут кажется простым, и если я назначу
coneNode.eulerAngles = SCNVector3 (0, 0, азимут)
, то при перемещении устройства на 360º конус перемещается по кругу 360º.
Однако я не знаю, как настроить вращение по осям X и Y для отображения высоты. Кто-нибудь может объяснить секретный соус?