Three.js текущий угол перспективной камеры в градусах

Для проекта я использую PerspectiveCamera, которая вращается с помощью vrcontrols из r69. В какой-то момент мне требуются текущие градусы угла обзора (горизонтальные и вертикальные градусы, в которых смотрит камера). Как бы я их приобрел?


person martijn    schedule 13.11.2014    source источник
comment
Вы ищете то, что обычно называют курсом и тангажем и/или креном? Если это так, принятый ответ не дает вам того, что вы ищете. Сделайте репост, если у вас есть проблемы.   -  person WestLangley    schedule 15.11.2014


Ответы (1)


То, что вы хотите, также называют углами Эйлера. Эйлеры Three.js имеют встроенную функцию для установки их из кватерниона.

var quat = new THREE.Quaternion();
var euler = new THREE.Euler();
euler.setFromQuaternion(quat);

alert('X in degrees: ' + euler.x + '\n' +'Y in degrees: ' + euler.y + '\n' + 'Z in degrees: ' + euler.z);
person Kevin Kuyl    schedule 13.11.2014
comment
Чтобы завершить этот ответ; затем значения должны быть преобразованы из радианов в градусы, горизонтальный угол равен Z, а вертикальный - X. (Итак, уголH = THREE.Math.radToDeg(euler.z)). - person martijn; 13.11.2014