Как поворачивать камеру мышью в двух плоскостях в three js?

Сейчас для этой задачи я использую следующий код

const normalize_degrees = (angle) => {return angle == 360 ? angle : angle % 360;};
const to_radians = (angle) => {return normalize_degrees(angle) * (Math.PI / 180);};

delta_move = {x: e.offsetX - prev_pos.x, y: e.offsetY - prev_pos.y};
x = delta_move.y * speed;
y = delta_move.x * speed;
camera.rotation.set(camera.rotation.x + to_radians(x), camera.rotation.y + to_radians(y), camera.rotation.z);
prev_pos = {x: e.offsetX, y: e.offsetY};

Все хорошо работает, когда камера не вращается вдоль оси z, но когда я поворачиваю камеру вдоль z, камера не вращается вдоль изменившейся локальной оси y камеры. Как мне вращать камеру вдоль локальных для камеры осей?


Ответы (0 шт):