SceneKit: применить несколько поворотов к SCNNode, но сохранить исходные оси постоянными - PullRequest
0 голосов
/ 06 января 2020

В моем сценарии каждый SCNNode имеет 3 значения, связанные с ним для крена, тангажа и рыскания.

Когда я загружаю SCNNode, я хочу применить эти 3 вращения последовательно. Однако эти 3 значения предполагают, что оси узла всегда постоянны, и я сталкиваюсь с проблемами, потому что оси узла меняются после каждого вращения.

Например, если ось z изначально указывает на user (out of the screen) и ось y изначально направлена ​​вверх, и я применяю поворот на 90 градусов, затем ось z будет по-прежнему направлена ​​за пределы экрана, но ось y теперь будет указывать влево. Что сделает последующее вращение вокруг оси неправильным.

Есть ли способ повернуть узел относительно постоянного набора осей?

1 Ответ

0 голосов
/ 25 января 2020

Что мне было нужно, так это метод SCNNode rotate (by: aroundTarget:)

https://developer.apple.com/documentation/scenekit/scnnode/2867399-rotate

...