Создание 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