En Three.js, me gustaría usar THREE.quaternion para hacer que el objeto de la cámara gire hacia el objeto seleccionado.Three.js Cómo usar quaternion para girar la cámara
Realicé búsquedas en la web pero no encontré ningún ejemplo/demostración o documento sobre cómo usar esta clase de cuaternión.
que probar suerte con el siguiente código:
camera = new THREE.PerspectiveCamera(40, window.innerWidth/window.innerHeight, 1, 10000);
camera.position.y = 10;
camera.position.z = 0;
camera.position.x = radious;
camera.useQuaternion = true;
// I did use the TrackballTrackballControls. Maybe it causes the problem so I put it here
controls = new THREE.TrackballControls(camera, document.getElementById(_canvasElement));
// function to make the camera rotate to the object
function focusOn3DObject(obj){
obj.useQuaternion = true;
obj.quaternion = new THREE.Quaternion(obj.position.x, obj.position.y, obj.position.z, 1);
var newQuaternion = new THREE.Quaternion();
THREE.Quaternion.slerp(camera.quaternion, obj.quaternion, newQuaternion, 0.07);
camera.quaternion = newQuaternion;
}
Pero no funciona. ¿Me he perdido algo? Por favor ayuda. Gracias por adelantado.
Tenga en cuenta que en las compilaciones más recientes de THREE.js, 'useQuaternion' se ha eliminado. La biblioteca ahora usa cuaterniones por defecto. –
También tenga en cuenta que hoy (agosto/2015) los objetos de la Cámara TRES tienen un método .lookAt (vector3) - recibe un Vector3 con la posición de un objeto para mirar. Puede pasar cualquier object3d.position como parámetro, para que la cámara lo mire. Compruébelo: http://threejs.org/docs/index.html#Reference/Cameras/Camera – Tiago