У меня проблема с одновременным вращением узла. Я работаю над игрой с катящимся мячиком, и хотя я могу вращать шар вдоль одной оси или на две оси на ту же величину, я не могу вращаться с частичными углами.Swift Scenekit - Несколько поворотов
пример:
// Roll right 90 -
SCNNode.pivot = SCNMatrix4MakeRotation(Float(M_PI_2), 0, 1, 0)
// Roll right 180 -
SCNNode.pivot = SCNMatrix4MakeRotation(Float(M_PI_2) * 2, 0, 1, 0)
// Roll up 90 -
SCNNode.pivot = SCNMatrix4MakeRotation(Float(M_PI_2), 1, 0, 0)
// Roll up & right 90 -
SCNNode.pivot = SCNMatrix4MakeRotation(Float(M_PI_2), 1, 1, 0)
Все это будет работать, но если мне нужно катить мяч прямо 180 и до 90 я застрял.
Даже если бы был способ добавления векторов вместе, которые бы сделали меня.
Любая помощь очень ценится.
Это работает для меня! –
Одна вещь, которую я действительно нашел, стоит отметить, и это может быть хорошо известно всем остальным, но сначала я не понял. Перед его вращением ось узла соответствует доступу родительского узла. После того, как узел повернут, второе вращение выполняется относительно его новой оси, а не оси оригинала/родительского узла. Кажется логичным, теперь я знаю, но все же приспосабливаюсь к трехмерному мышлению. Спасибо за помощь Рикстер. –