2017-08-04 4 views
0

原点にブロックを配置すると、センサから非常に遠く離れてしまいます。フレーム原点を1メートル前に移動したい(-z方向に1)。また、私はカメラの位置を追跡するコンポーネントを使用しているので、私は<a-entity>のすべてをラップし、それを前進させることはできません。どのようにして起源の位置を変えることができますか?シフトAフレーム原点

コンポーネント:

AFRAME.registerComponent('info-panel', { 
    tick: function() { 
    var el = this.el; 
    var camera = document.querySelector('a-camera'); 
    var cpos = camera.getAttribute('position'); 
    var x = cpos.x; 
    var z = cpos.z; 
    var angle; 
    if (z === 0) { 
     if (x === 0) { 
     angle = 0; 
     } else if (x > 0) { 
     angle = 90; 
     } else { 
     angle = -90; 
     } 
    } else { 
     angle = (z > 0 ? 0 : 180); 
     angle += 180/Math.PI * Math.atan(x/z); 
    } 
    el.setAttribute('rotation', {x: 0, y: angle, z: 0}); 
    } 
}); 

シーン:

<a-scene> 
    <a-camera></a-camera> 
    <a-panel info-panel></a-panel> 
</a-scene> 

答えて

0

が、私はこのような機能があるかどうかわからないんだけど、
あなたが置くことができますので、私は<a-entity>
にカメラ以外のすべてを包むだろうカメラ以外の「すべて」。

1

また、ラッパーエンティティを使用してカメラを配置することもできます。

How do a place the camera first position

<a-entity position="0 0 5"> 
    <a-camera></a-camera> 
</a-entity> 
+0

私はのための別の領域に(のように、私はカメラ、またはcameraWrapperを再配置する必要がある場合のために、任意のエンティティでカメラを包む好きではないが、それは、私のオプションその後、はるかに簡単です例)、私は予期せぬオフセットに入る傾向があります。シーン全体とカメラのみの位置を変更すると、パフォーマンスに大きなヒットはありますか? –

+0

これはもう少し考えられるようになります(たとえば、 'camera.userHeight')。しかし、それは実行可能でなければなりません。彼らが一緒に動くように、カメラとコントローラの両方を保持する 'カメラリグ'を持つことがベストプラクティスになっています。テレポートのようなことをしたら、ラッパーの位置を変えるだけです。あなたはどんなオフセットを見ていますか? – ngokevin

関連する問題