Ich habe eine Szene gut gereicht und muss es horizontal und/oder vertikal drehen, wie die Maus über das DOM bewegt. Ich konnte die horizontale Rotation tun, indem changind die Szene rotation.y
Eigenschaft:Drehen Sie Three.js Szene auf Mausbewegung
const step = 0.005;
let halfWindowWidth = window.innerWidth/2;
let target = (Math.PI/halfWindowWidth * mouseX/2) - 0.785398;
if (target < y) {
if (y - (step * 2) > target) {
target = y - (step * 2);
}
} else if (target > y) {
if (y + (step * 2) < target) {
target = y + (step * 2);
}
}
scene.rotation.y = target;
Ich weiß, dass vielleicht muß ich auf der x- und z-Achse arbeiten, um es vertikal zu machen drehen, aber ich weiß nicht, was Berechnungen sollte ich tun.
Die Drehung muss stattfinden, wenn die Maus weiter von der Mitte des DOM ausgeht, von -90 ° auf 90 ° (180 ° insgesamt). Die step
Konstante verwende ich, um die Rotation animiert zu haben und nicht einfach zu springen, wenn sich die Maus zu schnell bewegt.
gibt es keine Notwendigkeit zu drehen Szene
und schließen Sie diese Zeile in Ihrer Quelle umfassen .. Drehen Sie stattdessen die Kamera. :( –