Hola, aunque no aparece en los prefijos, la duda surge de Unity 3d, no sé si alguien sabrá algún script para cambiar la cámara o la posición de la cámara, les agradecería la ayuda.
Hola, aunque no aparece en los prefijos, la duda surge de Unity 3d, no sé si alguien sabrá algún script para cambiar la cámara o la posición de la cámara, les agradecería la ayuda.
Para cambiar la cámara o su posición en Unity necesitas scripts en C#. La mejor solución actual es usar el sistema de entrada Input System y un código limpio.
Para cambiar entre múltiples cámaras, crea un script y asígnalo a un GameObject vacío o a un gestor. Primero, en la parte superior del script, declara un array público de cámaras public Camera[] cameras; y una variable para la cámara actual private int currentCameraIndex;. En el método Start, desactiva todas las cámaras excepto la primera. Luego, en Update, detecta la pulsación de una tecla, por ejemplo if (Input.GetKeyDown(KeyCode.C)). Dentro de ese if, desactiva la cámara actual, incrementa el índice y asegúrate de que no se salga del array, luego activa la nueva cámara.
Para cambiar solo la posición de una cámara, como en un juego en primera persona, es diferente. Asigna el script directamente a la cámara principal. Necesitarás variables para la velocidad de movimiento y rotación. Usa Input.GetAxis("Horizontal") y Input.GetAxis("Vertical") para mover la cámara hacia adelante, atrás y a los lados. Para la rotación con el ratón, usa Input.GetAxis("Mouse X") y Mouse Y" para rotar la cámara alrededor de los ejes X e Y, aplicando una rotación a su GameObject padre para evitar problemas de gimbal lock. Recuerda bloquear y ocultar el cursor con Cursor.lockState = CursorLockMode.Locked; y Cursor.visible = false;.
Si tu objetivo es una cámara que siga a un personaje, la forma más moderna y eficiente es usar la Cinemachine, un paquete oficial de Unity. Lo instalas desde el Package Manager. Luego creas una Virtual Camera de Cinemachine y la configuras para que siga a tu personaje. Esto te da un control suave y profesional sin necesidad de escribir scripts complejos para el seguimiento.