Перемещение дочерних узлов с динамическим "SCNPhysicsBody" через анимацию родительского узла

Я делаю игру, которая в основном представляет собой pacman в 3D, используя SceneKit.

введите описание изображения здесь

Дерево узлов определяется следующим образом:

rootNode <-- GameRotationNode <-- GameNode

Все узлы (blueboxes, цветные шарики, точки, голубые и фиолетовые плитки для полов) являются дочерними для GameNode.

Все узлы, кроме цветных шаров, имеют либо статическое, либо физическое тело. Цветные шарики имеют динамичную физику тела.

Я применяю постоянное вращение по оси Y ко всей игровой доске со следующим кодом

let Sequence = SCNAction.repeatForever(SCNAction.rotateBy(x: 0, 
                                                          y: degreesToRadians(Degres: 90), 
                                                          z: 0, 
                                                   duration: 5))
GameRotationNode.runAction(Sequence)

Проблема в том, что цветные шары не вращаются, как остальная часть доски. Все остальное вращается нормально, но узлы с динамическим физическим телом не вращаются. Если я изменю их физическое тело на статическое или нет, то они тоже будут вращаться.

Но цветные шары (а затем и некоторые другие узлы) должны иметь динамическое физическое тело для обработки движений, контактов и столкновений.

Это ограничение управления физическим телом SceneKit?

Или есть другие способы добиться того, чего я хочу?

0 ответов

Другие вопросы по тегам