2014-11-12 4 views
1

Three.js의 VRControls (examples/js/controls/VRControls.js)를 사용하거나 PositionSensorVRDevice에서 직접 WebVR로 작업하는 Oculus Rift DK2 방향 입력을 얻으려고합니다. WebVR - PositionSensorVRDevice에서 오리엔테이션이나 위치가 없습니다.

그러나 PositionSensorVRDevice의 상태 값과 orientation position 어느 null은 (파이어 폭스) 나 X, Y, Z = 0 (크롬)과 VRPoint3D/4DS 때문에 카메라 방향 변경 적이 항상.

파이어 폭스와 크롬 VR 내가 노력했습니다 빌드가 있습니다 : 그것은 것처럼하지 않을 수 보이지만

그것은는 PositionSensorVRDevice OK의 보류를 받고있다 Chrome은 다음과 같이보고하기 때문에 실제입니다.

  • 의 DeviceID : 디버그 0
  • 장치 이름 : Moculus 리프트
  • hardwareUnitId :

    • 의 DeviceID : 디버그 0

    그리고 FF는로보고 HMD 위치 장치 :

  • 장치 이름을 somedevid
  • hardwareUnitId : unknownHMDInfo-0x1351d4000

Leap Motion VR Quickstart demoThree.js WebGL Effects VR demo과 같은 결과가 나옵니다. 또한 몇 달 전에했던 데모로 동일하게 작동합니다. VRControls는 사용하지 않지만 PositionSensorVRDevice는 직접 처리합니다.

물론 Rift가 모두 연결되어 있으며 Oculus Rift Config Util의 데모 장면이 정상적으로 작동하고 있습니다. 저는 펌웨어 버전 2.12입니다.

VRControls의 관련 코드는 업데이트 방법입니다 - 내가 여기 state.orientation의 가치와 state.position을 확인했습니다 :

this.update = function() { 

    if (vrInput === undefined) return; 

    var state = vrInput.getState(); 

    if (state.orientation !== null) { 
     object.quaternion.copy(state.orientation); 
    } 

    if (state.position !== null) { 
     object.position.copy(state.position); 
    } 

}; 

모든 제안은 감사 받았습니다!

+0

/핑 @DiegoMarcos – WestLangley

+0

감사합니다 WestLangley. StackOverflow에서 DiegoMarcos를 찾을 수 없습니다 - @ diego-marcos 어쩌면? 트위터에 DiegoMarcos? BTW, 이전 버전의 Chrome VR 빌드 (38.0.2097.0 (283630))를 사용하여 이전 DK1에서 방향을 확인할 수 있습니다. 그러나 DK1은 최신 Chrome 빌드에서 x, y, z = 0을 제공하고 FF 빌드에서는 null을 제공합니다. – poshaughnessy

+1

개발자보기 : https://github.com/mrdoob/three.js/커밋/마스터/examples/js/controls/VRControls.js – WestLangley

답변

0

나는 Oculus 런타임의 최신 버전을 사용하지 않았습니다. 내가 v0.4.1에 있었는데 - 나는 0.4.3 베타 버전으로 업그레이드해야했다. FF 및 Chrome의 최신 VR 빌드에서 잘 작동합니다.

다른 사람에게 도움이 될 경우 - web-vr mailing list에있는 블라드의 게시물에서 필요한 버전을 찾았습니다.

관련 문제