Three.js à la Première Personne, les Contrôles se déplace la caméra tout le temps
Le jeu, je suis de la conception exige actuellement à la première personne du contrôleur et heureusement Three.js offres classe ainsi.
Cependant je ne peux pas arrêter la caméra de s'envoler. Je sais que le mouvement de la souris provoque la volée, car il se produit dès que je bouge la souris. Mais la lecture du code js,je ne peux pas trouver l'attribut n', qui sont les causes de ce mouvement. Voici comment je m'y lancer les commandes:
controls = new THREE.FirstPersonControls(camera);
controls.movementSpeed = 0.1;
controls.lookSpeed = 0.001;
controls.lookVertical = true;
Je ne veux pas que la direction de la vue de changer quand je ne suis pas le déplacement de la souris.
une idée ?
Vous devez vous connecter pour publier un commentaire.
Gardez à l'esprit que les FPS style de mouvement de la souris en webGL est utilisable plutôt que dans un mode plein écran. Si une application s'exécute dans un standard mode fenêtré, le curseur est visible, et l'application ne peut pas détecter les mouvements du curseur qui traversent le bord de la fenêtre. Cela rend impossible de regarder autour dans les FPS style (look mouvement s'arrête lorsque le curseur atteint le bord de la fenêtre).
C'est probablement la raison principale pour laquelle une
PointerLockControls
démo vous demande pour passer en mode plein écran.Avec
FirstPersonControls
le look mouvement se poursuit lorsque la souris arrive au bord. Une telle approche fonctionne bien dans le mode fenêtré.Vous pouvez utiliser le PointerLockControls au lieu
Voir un exemple ici:
https://github.com/mrdoob/three.js/blob/master/examples/misc_controls_pointerlock.html