Aby uzyskać pozycję kamery:
var pos = document.querySelector('#camera').getAttribute('position');
aby uzyskać pozycję światowego kamery, możemy przekształcić lokalną pozycję kamery:
var cameraEl = document.querySelector('#camera');
var worldPos = new THREE.Vector3();
worldPos.setFromMatrixPosition(cameraEl.object3D.matrixWorld);
console.log(worldPos.x);
Aby odsłuchać zmiany, należy użyć zdarzenia componentchanged
:
cameraEl.addEventListener('componentchanged', function (evt) {
if (evt.detail.name !== 'position') { return; }
console.log(evt.detail.newData);
});
więcej wydajnych może być ankieta
AFRAME.registerComponent('camera-listener', {
tick: function() {
var cameraEl = this.el.sceneEl.camera.el;
cameraEl.getAttribute('position');
cameraEl.getAttribute('rotation');
// Do something.
}
});
Super przydatnych dzięki. Życzenie A-ramka miał wszystkich listonoszy jako część dokumentacji – benbyford
https://aframe.io/docs/0.4.0/core/entity.html#events – ngokevin
@ngokevin jest aktualną pozycją videosfery możliwą do odzyskania? –