Zum Hauptinhalt springen

Verfolgung und Kameraprobleme

6DoF Kamerabewegung funktioniert nicht​

Ausgabe​

Wenn ich mein Telefon bewege, wird die Kameraposition nicht aktualisiert.

Auflösung​

Überprüfen Sie die Position der Kamera in Ihrer Szene. Die Kamera sollte NICHT auf einer Höhe (Y) von Null sein. Setzen Sie ihn auf einen Nicht-Null-Wert. Die Y-Position der Kamera beim Start bestimmt effektiv den Maßstab des virtuellen Inhalts auf einer Oberfläche (z.B. kleiner y, größerer Inhalt)

Das Objekt verfolgt die Oberfläche nicht richtig​

Ausgabe​

Der Inhalt in meiner Szene scheint nicht richtig an der Oberfläche zu "kleben"

Auflösung​

Um ein Objekt auf einer Oberfläche zu platzieren, muss sich die Basis des Objekts auf einer Höhe von Y=0 befinden

Hinweis: Es reicht nicht unbedingt aus, die Position auf eine Höhe von Y=0 zu setzen.

Wenn sich die Transformation Ihres Modells beispielsweise in der Mitte des Objekts befindet, führt die Platzierung bei Y=0 dazu, dass ein Teil des Objekts unter der Oberfläche liegt. In diesem Fall müssen Sie die vertikale Position des Objekts so anpassen, dass der Boden des Objekts bei Y=0 sitzt.

Es ist oft hilfreich, die Positionierung von Objekten relativ zur Oberfläche zu visualisieren, indem Sie eine halbtransparente Ebene bei Y=0 platzieren.

A-Frame Beispiel​

<a-plane
position="0 0 0"
rotation="-90 0 0"
width="4"
height="4"
material="side: double; color: #FFFF00; transparent: true; opacity: 0.5"
shadow>
</a-plane>

three.js Beispiel​

  // Erstellen Sie eine 1x1-Ebene mit einem transparenten gelben Material
var geometry = new THREE.PlaneGeometry(1, 1, 1, 1); // THREE.PlaneGeometry (width, height, widthSegments, heightSegments)
var material = new THREE.MeshBasicMaterial({color: 0xffff00, transparent:true, opacity:0.5, side: THREE.DoubleSide});
var plane = new THREE.Mesh(geometry, material);
// Drehen Sie die Ebene um 90 Grad (in Radianten) entlang der X-Achse, damit sie parallel zum Boden liegt
plane.rotateX(1.5708)
plane.position.set(0, 0, 0)
scene.add( plane );