2016-04-17 7 views
2

In einer a-Szene versuche ich zur Laufzeit meine Kameraposition zu ändern. Die DOM-Eigenschaft ändert sich, aber die Kamera bewegt sich nicht.aframe - Kameraposition zur Laufzeit einstellen

Was hätte ich vermissen können?

mein js Code: document.querySelector('#myCameraPosition').setAttribute('position', '0 0 0');

Meine a-Szene:

<a-entity id="myCameraPosition" position="0 0 50"> 
     <a-entity id="myCamera" camera look-controls keyboard-controls> 
     </a-entity> 
    </a-entity> 

Antwort

1

Am Beispiel unten ich die Position der Eltern Kameraeinheit und es funktioniert wie erwartet ändern können:

https://aframe.io/examples/showcase/helloworld/

Ist einer der Openeart Hview oder Acceleration Komponenten schreiben die Position des Elternteils der Kamera? Sie könnten seine Position überschreiben.

4

Erstellen Sie eine Wrapper-Einheit um die Kamera:

<a-entity id='cameraWrapper' position="0 0 0"> 
    <a-camera></a-camera> 
</a-entity> 

Dann Position des Wrapper ändern:

document.querySelector("#cameraWrapper").setAttribute('position', {x: 1, y: 1, z: 1}); 
2

Had "Look-Kontrollen" auf false für Javascript-Rotationssteuerung zu setzen, sonst wouldn 't Arbeit:

function resetView(el){ 
    el.setAttribute('look-controls','false'); 
    el.setAttribute('rotation',{x:0,y:0,z:0}); 
    el.setAttribute('look-controls','true'); 
} 
+0

Dies sollte 'setAttribute (' look-controls ',' aktiviert ', false)' und umgekehrt für 'true' sein. – ngokevin