Estoy tratando de usar tres JS para controlar una cámara en mi escena. Actualmente tengo la cámara configurada para orbitar en un círculo alrededor de mi objeto usando las teclas izquierda y derecha de mi teclado. Pero, ¿alguien sabe cómo haría el zoom? Aquí está mi código actual:cámara de acercamiento en tres JS sin controles trackball u otra biblioteca de control de cámara
camera = new THREE.PerspectiveCamera(45, window.innerWidth/window.innerHeight, 1, 10000);
camera.position.set(0,20,35);
var rotSpeed = .02;
function checkRotation(){
var x = camera.position.x,
y = camera.position.y,
z = camera.position.z;
if (keyboard.pressed("left")){ //MH - find a way to do this in a switch statement
camera.position.x = x * Math.cos(rotSpeed) + z * Math.sin(rotSpeed);
camera.position.z = z * Math.cos(rotSpeed) - x * Math.sin(rotSpeed);
} else if (keyboard.pressed("right")){
camera.position.x = x * Math.cos(rotSpeed) - z * Math.sin(rotSpeed);
camera.position.z = z * Math.cos(rotSpeed) + x * Math.sin(rotSpeed);
} else if(keyboard.pressed("up")){
//zoom in
} else if (keyboard.pressed("down")){
//zoom out
}
camera.lookAt(scene.position);
}
Ah! Intenté con el televisor pero olvidé actualizar la matriz de proyección. ¡Gracias! – mheavers