Tracking 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)
Objekt verfolgt die Oberfläche nicht richtig
Ausgabe
Inhalte in meiner Szene scheinen nicht richtig an einer Oberfläche zu "kleben".
Auflösung
Um ein Objekt auf einer Fläche zu platzieren, muss sich die Basis des Objekts in 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 lebt . In diesem Fall müssen Sie die vertikale Position des Objekts so anpassen, dass der Boden des Objekts bei Y=0 liegt.
Es ist oft hilfreich, die Positionierung von Objekten relativ zur Oberfläche zu visualisieren, indem man eine halbtransparente Ebene bei Y=0 platziert.
Beispiel A-Frame
<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 einer 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);
// Drehung um 90 Grad (im Bogen) entlang X, so dass die Ebene parallel zum Boden ist
plane.rotateX(1.5708)
plane.position.set(0, 0, 0)
scene.add( plane );