2011-11-09 2 views
5

작업 three.js를에 FirstPersonControls를 가져올 수 없습니다 :내가이 시도하고

컨트롤 = 새로운 THREE.FirstPersonControls (카메라);

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

그것은 here에서 은 내가 시간 델타와 제어 업데이트 할 필요가 있음을 발견, 작동하지 않았다 :

VAR 시계 = 새로운 THREE.Clock을();

controls.update (clock.getDelta());

하지만 난 THREE.Clock()

에 대한 undefined is not a function 오류가 당신이 FirstPersonControls와 데모/튜토리얼 작업 날 지점, 또는 무슨 잘못 날을 알려 주시기 바랍니다 수있는거야?

감사합니다.

답변

4

controls.update(); (델타를 지나친 채로)으로 전화를 걸었습니까?

방금 ​​misc_sound.html 예제에서 약간의 코드를 복사하여 클래스를 사용 해봤습니다. 초기화에 따라서 () :

controls = new THREE.FirstPersonControls(camera); 

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

와의

)는 (렌더링 :

controls.update(); 

업데이트

을 토드가 지적 하듯이, 새로운 버전, 델타 시간을 인수 할 필요가 제공된 :

controls.update(delta); 
+0

안녕하세요. 감사! 비슷한 문제에 대한 글에 혼란스러워했다. –

+2

[Todd Morrison의 답변] (http://stackoverflow.com/a/11286753/1888983)을 참조하십시오. 나처럼 맹목적으로 복사/붙여 넣기를 시작한 경우 : P 호출에'controls.update (delta);가 필요합니다. – jozxyqk