2014-07-15 5 views
0

임. rotateOnAxis가 작동하지만 시뮬레이션이 작동하지 않습니다 Physijs.Scene.simulation()없이 Three.js를 Physijs.BoxMesh rotateOnAxis

. 시뮬레이션을 통해 위치를 이동합니다.

this.player.__dirtyPosition = true; 
    // move forwards/backwards/left/right 
    if (this.keyboard.pressed("W")) 
     this.player.translateZ(-moveDistance); 
    if (this.keyboard.pressed("S")) 
     this.player.translateZ( moveDistance); 
    if (this.keyboard.pressed("Q")) 
     this.player.translateX(-moveDistance); 
    if (this.keyboard.pressed("E")) 
     this.player.translateX( moveDistance); 

    // rotate left/right/up/down 
    if (this.keyboard.pressed("A")) 
    { 
     this.player.rotateOnAxis(new THREE.Vector3(0,1,0), rotateAngle); 
    } 
    if (this.keyboard.pressed("D")) 
    { 
     this.player.rotateOnAxis(new THREE.Vector3(0,1,0), -rotateAngle); 
    } 

그래서 W는, S, Q, E 작동하지만 A는 D는 Physijs.Scene.simulation()없이 Physijs.Scene.simulation(), A, D가하는 작업 작동하지 않습니다. 어떤 아이디어?

sourcecode

** 편집 해결 :

this.player.__dirtyPosition = true;는 당신이 위치를 변경할 수있는 것은 분명하다,하지만 회전, 내가 코드의 내부 모습과 비슷한 검색 그래서 난 것을 발견 내 문제를 해결 한 this.player.__dirtyRotation = true;도 있습니다! =)

답변

0

분명히 this.player .__ dirtyPosition = true; 단지 당신이 위치를 바꿀 수있게 해주지 만, 회전은 안된다. 나는 코드를 들여다 보았고 비슷한 것을 찾았고 그래서 this.player도 발견했다 .____ dirtyRotation = true; 내 문제를 해결! =)