Я делаю игру, которая в основном представляет собой pacman в 3D, используя SceneKit.
Дерево узлов определяется следующим образом:
rootNode <-- GameRotationNode <-- GameNode
Все узлы («синие ящики», цветные шары, точки, голубые и фиолетовые плитки для полов) являются дочерними для GameNode.
Все узлы, кроме цветных шаров, имеют либо статическое, либо физическое тело. Цветные шарики имеют динамическое физическое тело.
Я применяю постоянное вращение по оси Y ко всей игровой доске со следующим кодом
let Sequence = SCNAction.repeatForever(SCNAction.rotateBy(x: 0,
y: degreesToRadians(Degres: 90),
z: 0,
duration: 5))
GameRotationNode.runAction(Sequence)
Проблема в том, что цветные шары не вращаются, как остальная часть доски. Все остальное вращается нормально, но узлы с динамическим телом физики не
вращение. Если я изменю их физическое тело на статическое или нет, то они тоже будут вращаться.
Но цветные шарики (а затем и некоторые другие узлы) должны иметь динамическое физическое тело для обработки движений, контактов и столкновений.
Это ограничение управления физическим телом SceneKit?
Или есть другие способы добиться того, чего я хочу?