Создание ArrowHelper с правильным вращением
Как я могу создать ArrowHelper в три.js (r58) с правильным вращением?
var point1 = new THREE.Vector3(0, 0, 0);
var point2 = new THREE.Vector3(10, 10, 10);
var direction = new THREE.Vector3().subVectors(point1, point2);
var arrow = new THREE.ArrowHelper(direction.normalize(), point1);
console.log(arrow.rotation);
Я всегда заканчиваю с Object {x: 0, y: 0, z: 0}
для вращения стрелки. Что я делаю не так?
1 ответ:
ArrowHelper
использует кватернионы, чтобы определить его ориентацию.Если вы сделаете это:
var rotation = new THREE.Euler().setFromQuaternion( arrow.quaternion );
Вы увидите эквивалентную ориентацию, выраженную в углах Эйлера, хотя в r.59,
arrow.rotation
теперь автоматически обновляется, поэтому вы больше не увидите нулей.Правка: ответ обновлен до трех.Яш Р.59