Three.js: Obtenez la direction dans laquelle la caméra est à la recherche

Je suis sûr que cette question a été dupliqué plusieurs fois, cependant je ne trouve pas de réponse pour mon problème!!!!

Je suis en création de jeu en utilisant html5 et THREE.js et j'ai une caméra qui tourne avec la droite d'euler d'ordre de "YXZ'.

C'est donc la rotation de la caméra en haut, en bas, à gauche et à droite comme un chef. Comme dans la vue à la première personne.

Avec cette euler d'ordre, la propriété z de l'appareil photo.la rotation est non utilisés (toujours à 0). x est utilisé pour spécifier la hauteur ou la latitude en radians, et y représentent les coordonnées de longitude.

J'ai un certain nombre de cibles en mouvement autour de l'utilisateur dans une forme sphérique, avec la caméra en permanence au centre de cette sphère. Permet de dire que la sphère a un rayon de 1000.

Mon but est de calculer l'angle entre l'endroit où l'appareil photo est à la RECHERCHE, et où la cible est.

J'ai écrit ce code qui calcule l'angle entre 2 vecteurs:

var A = new THREE.Vector3(1,0,0);
var B = new THREE.Vector3(0,1,0);

var theta = Math.acos( A.dot(B) / A.length() / B.length() );

//theta = PI/2;

J'ai le vecteur de la cible (cibles[0].position).

Le truc c'est que je ne peut pas trouver un moyen d'obtenir le vecteur de l'endroit où l'appareil photo est à la recherche.

J'ai regardé Vector3.applyProjection et applyEuler méthodes, et joué un peu, mais encore ne peuvent pas obtenir de bons résultats.

Je crois que la droite d'euler d'ordre doit d'abord être modifié pour revenir à 'XYZ' avant tout des projections sont faites? J'ai essayé, et je ne suis pas sûr de la façon de le faire, la documentation est assez difficile à comprendre.

Dire si la caméra est à la recherche directement à droite, puis j'ai besoin d'obtenir un vecteur qui est le RAYON de distance du centre dans le sens de la rotation actuelle.

Je vais donc finir avec 2 vecteurs, qui je peut faire des calculs sur!

Je vous remercie à l'avancée de!

source d'informationauteur AlexMorley-Finch