Ich versuche, einen Offset nach deviceControls.update();
Befehl der Kamera hinzuzufügen. Ich benutzte DeviceOrientationControls
wie in diesem first example.Hinzufügen von Offset zu DeviceOrientationControls in three.js
Der Offset wird das Ergebnis einer Ziehbewegung gezeigt, wie präsentiert in this example.
Wenn ich die 2 quaternions multiplizieren (Ich habe versucht, axb und bxa), das Endergebnis nicht richtig.
Hier ist meine Operation:
const m1 = new THREE.Matrix4();
m1.lookAt(new THREE.Vector3(), camera.target, THREE.Object3D.DefaultUp.clone());
const quater = new THREE.Quaternion();
quater.setFromRotationMatrix(m1);
const finalQuater = new THREE.Quaternion();
finalQuater.multiplyQuaternions(quater, camera.quaternion);
camera.quaternion.copy(finalQuater);
camera.target
ist mein letztes drag Ziel (Vector3) und wird von camera.quaternion
deviceControls.update()
eingestellt worden und ist für die Kameraorientierung entspricht, entsprechend die Geräte Gyroskop.
Danke für Ihre Hilfe
Update: Ich habe zu Wechsler drehen, um versucht, das gleiche Problem. Ich denke es liegt an der Ursprungsänderung nach der Geräteausrichtung Update, kann aber nicht finden, wie zu lösen.
Sehen Sie, wenn Sie die [Version im r.76dev Zweig] (https://github.com/mrdoob/three.js/blob/dev/examples/js/controls/DeviceOrientationControls.js) die Flexibilität hat, du brauchst. – WestLangley
Dank @WestLangley, das half –