Итак, я работаю над игрой с 8-мя мячами в OpenGL, и шары меня беспокоят.Они двигаются довольно хорошо, но в настоящее время скользят по столуЯ не могу понять вращений вдоль трех осей, поскольку они, кажется, меняются после вращения.Все, что я знаю, это текущая позиция (curPos) и следующая (nextPos).
velocityAng += (nextPos - curPos) / sphereRadius;
//and afterward I rotate on each axis
modelMatrix = glm::rotate(modelMatrix, velocityAng[2], glm::vec3(0, 0, 1));
modelMatrix = glm::rotate(modelMatrix, velocityAng[1], glm::vec3(0, 1, 0));
modelMatrix = glm::rotate(modelMatrix, velocityAng[0], glm::vec3(1, 0, 0));
Я выяснил, что если мяч находится в исходном положении, и я стреляю в верхнем или правом градусах, он идет хорошо, но после того, как я стреляю вправо, и поворачиваю шар на 90 градусов, когда я стреляю вверхэто больше не идет хорошо.Очевидно, что съемка при любых отличиях от 0, 90, 180, 270 идет совершенно не так.Ось шара, кажется, меняется, когда я вращаю его.