CMatrix блокирует вращение по оси Y

Ya Zaregalsya

Известный
Автор темы
370
127
В SAMPFUNCS есть класс CMatrix, в котором есть метод SetRotation(CVector), который принимает вращение по трём осям в радианах. Такая проблема, вращение по осям X и Z проходит нормально, но по оси X оно блокируется на отметке примерно 90 градусов (1.5708 радиана). В примере на видео есть объект CMatrix, вызывается метод GetRotation, к нему прибавляется (только прибавляется!) 0.2 радиана по одной из осей и записывается обратно при помощи метода SetRotation, результат на видео:


Здесь показано вращение по трём осям (см. чат), X и Z крутится нормально, а Y достигая рубежа полтора радиана начинает долбиться башкой о стену. Как всё-таки записать нужное значение по оси X?