Pivoter la caméra autour de l'objet avec Three.js
J'affiche un OBJ élément avec Three.js à l'aide de WebGlRenderer, maintenant, je voudrais permettre aux utilisateurs de faire pivoter la caméra autour de l'objet dans n'importe quelle direction, j'ai trouvé cette réponse:
Pivoter la caméra dans Three.js avec la souris
Mais les deux exemples m'a fait des erreurs, la première indique que le projecteur n'est pas définie, et je ne sais pas ce que cela signifie avec "projecteur". J'ai juste une simple caméra, l'objet et de la lumière.
Le deuxième code, dit indéfini, n'est pas une fonction.
Ce que quelqu'un sait comment faire pour obtenir le résultat dont j'ai besoin?
OriginalL'auteur Fez Vrasta | 2013-08-27
Vous devez vous connecter pour publier un commentaire.
C'est ce que vous voulez: http://threejs.org/examples/misc_controls_orbit.html
Inclure l'orbite des contrôles (après l'avoir téléchargé):
Configuration de la variable:
Joindre les contrôles de l'appareil photo et ajouter un écouteur:
et dans votre fonction animate de mettre à jour les contrôles:
[Mise à jour]
controls.autoRotate = true;
(testé dans v73. Les versions récentes de OrbitControls.js a ajouté ce contrôle.)Vous pouvez choisir ce que l'orbite de sorte qu'au lieu de l'appareil photo, vous pouvez mettre un objet en là, si vous voulez, par exemple "sphère" de sorte qu'il serait: nouveau TROIS.OrbitControls( sphère );
Merci mais je ne peux pas faire cela fonctionne, j'utilise ce code pour charger les OBJ: jsfiddle.net/7aqmB mais si j'utilise dans OrbitControls il est dit que l'objet n'est pas définie...
Il n'est pas nécessaire d'écrire
controls.addEventListener( 'change', render );
dans le code. La bibliothèque est de le faire lui-même. Etcontrols.update()
doit être à l'intérieur de lafunction render(){...}
, PAS dans lefunction animate(){...}
... est même pas nécessaire d'utiliser
controls.update()
dansrender()
. Il va travailler.OriginalL'auteur Matthew Riches
En effet, si l'on remplace "caméra" avec l'objet de votre choix, l'objet va tourner. Mais si il y a d'autres objets qui l'entourent (par exemple une grille sur le sol), elles restent encore debout. Qui pourrait être ce que vous voulez, ou il peut sembler étrange. (Imaginez une chaise tournante flottant au-dessus du sol...?)
Je choisir de remplacer le centre de l'objet à partir de OrbitControls.JS à partir de mon code après l'initialisation de l'Orbite des Contrôles
(disclaimer: j'ai l'impression qu'il existe différentes versions de OrbitControls.js autour d'elle, mais je suppose qu'ils utilisent tous ce centre-objet)
OriginalL'auteur Ideogram