原点にブロックを配置すると、センサから非常に遠く離れてしまいます。フレーム原点を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>
私はのための別の領域に(のように、私はカメラ、またはcameraWrapperを再配置する必要がある場合のために、任意のエンティティでカメラを包む好きではないが、それは、私のオプションその後、はるかに簡単です例)、私は予期せぬオフセットに入る傾向があります。シーン全体とカメラのみの位置を変更すると、パフォーマンスに大きなヒットはありますか? –
これはもう少し考えられるようになります(たとえば、 'camera.userHeight')。しかし、それは実行可能でなければなりません。彼らが一緒に動くように、カメラとコントローラの両方を保持する 'カメラリグ'を持つことがベストプラクティスになっています。テレポートのようなことをしたら、ラッパーの位置を変えるだけです。あなたはどんなオフセットを見ていますか? – ngokevin