2011-11-09 15 views
5

estoy tratando esto:no puede obtener la FirstPersonControls en three.js de trabajo

controles = new THREE.FirstPersonControls (cámara);

controls.movementSpeed ​​= 1000; controls.lookSpeed ​​= 0.125; controls.lookVertical = true;

que no funcionó, De here descubrí que tengo que actualizar el control con el tiempo delta:

reloj var = new THREE.Clock();

controls.update (clock.getDelta());

pero me da error para undefined is not a functionTHREE.Clock()

puede usted por favor me punto a trabajar demo/tutorial con FirstPersonControls, o simplemente decirme cuál es incorrecto?

Gracias!

Respuesta

4

¿Ha intentado simplemente llamar al controls.update(); (sin pasar un delta)?

Acabo de intentar usar la clase copiando un poco del código del ejemplo misc_sound.html. Así que en init():

controls = new THREE.FirstPersonControls(camera); 

       controls.movementSpeed = 70; 
       controls.lookSpeed = 0.05; 
       controls.noFly = true; 
       controls.lookVertical = false; 

y en el render():

controls.update(); 

actualización

Como Todd señala, en las últimas versiones, un argumento delta tiempo es necesario que haya suministrado:

controls.update(delta); 
+0

Hey that worked! ¡Gracias! se confundió por publicación en un problema similar. –

+2

por favor vea [respuesta de ToddMorrison] (http://stackoverflow.com/a/11286753/1888983), si, como yo, comenzó a copiar/pegar a ciegas primero: P La llamada necesita 'controls.update (delta);' – jozxyqk