2017-12-11 2 views
0

webvrシーンのビューの位置をプログラム的に移動したい。これを行うには、私はposition.addメソッドを使用しています。プログラムでwebvrカメラビューを変更する

<a-entity position="33 0 -33" rotation="0 180 0" look-controls id="camera" 
     camera="userHeight: 1.6" listener></a-entity> 

Camerageがここに移動されています:

var obj3d = document.querySelector("#camera").object3D; 
var angleobj = obj3d.getWorldDirection(); 
angleobj.y = 0; 
obj3d.position.add(angleobj.multiplyScalar(0.004*3)); 

これは通常モードで動作しますが、段ボールモードでは、カメラが動いていない。ここ

は、私はプログラム的にカメラを移動する方法です。プログラムを使って段ボールビューモードでカメラを移動するにはどうすればよいですか?

+0

を使用して、それを移動するにはラッパーを回転させエンティティとカメラを直接比較します。 – ngokevin

答えて

1

私が知る限り、 "VRモード"に切り替えると、 "VRモード"以外のカメラを使用することになります。これが必要な場合、ユーザーは自分の頭を動かしたときに、再考し、カメラ下さい

this.el.sceneEl.addEventListener('enter-vr',() => { 
    obj3d = document.querySelector("#camera").object3D; 
} 
this.el.sceneEl.addEventListener('exit-vr',() => { 
    obj3d = document.querySelector("#camera").object3D; 
} 


私はVRが/終了イベントを入力し、カメラ基準を変更するためにあなたが聞くべきだと思います野生になる、それは本当に速い、めまいになることができます。

AフレームのDiego Marcos氏のanwsersでは、このようなオプションの代わりに見るべき視覚的な表示をしばしば推奨しています。


上記はそのobject3D代わり場合は、カメラの実体をつかむしようとし、動作しない場合:

var obj3d = document.querySelector("#camera"); 

とのsetAttribute()メソッド

obj3d.setAttribute("position", {x: _x, y: _y, z: _z}); 
+0

私はあなたの提案を実装しました。 enter/exit-vrイベントは検出されますが、それでもフルビューでは機能しません。どのようにこの作品を作るためのアイデア? – bear

+0

@更新をチェックアウトする –

関連する問題