2017-01-12 7 views
2

AフレームシーンでVR入力ボタンをクリックしたときにカメラの位置をリセットするにはどうすればよいですか?VRの入力時にカメラの位置をリセットする方法は?

私はデスクトップwasd-controlsユーザーのために素晴らしいカメラ位置を設定しましたが、ViveユーザーがVRを入力するとpositionrotationをリセットします。

私は最初のセットアップにカメラをthis answerのパターンに従っ:

<!-- Player --> 
    <a-entity id='cameraWrapper' position='1 1.8034 1' rotation='-35 40 0'> 
    <a-entity camera look-controls wasd-controls="fly: true"></a-entity> 
    </a-entity> 

、ここで私はWebVRのAPIからwindow.onvrdisplaypresentchangeイベントとpositionrotationをリセットしようとすると:

 // 
     // if a VR display (like the Vive headset begins presenting 
     // (if the scene goes into VR mode) 
     // reset the camera position and rotation 
     // 
     window.onvrdisplaypresentchange = function() { 
     d3.select('#cameraWrapper') 
      .attr('position', '0 0 0') 
      .attr('rotation', '0 0 0'); 
     } 

ここです問題を再現する[コードサンドボックスデモ](http://blockbuilder.org/micahstubbs/94e06c2849b6c7c60105d0243bc1936a#mode=sidebyside

A-Frame Masterでこのシーンを開発し、--enable-webvr--enable-gamepad-extensionsフラグを有効にしたChromiumの実験ビルドAug 29を作成しています。

編集:私が本当にやりたいことはposition yをリセットすることに加えて、ViveのHMDの値にカメラのposition x,zrotation x,y,zをもリセットされ(camera="userHeight: 1.6"が私たちのために何をするかである)

答えて

1

使用camera.userHeight以外を設定します-VRの高さ。

<a-entity camera="userHeight: 1.6">

非VRカメラは1.6メートル高くなります。 VRでは、この高さが削除されます。 VRから戻ってくると、1.6mの高さが再び適用されます。

https://aframe.io/docs/0.4.0/components/camera.html#vr-behavior

<a-camera>、デフォルトのカメラはデフォルトでこれを持っています。

関連する問題