Control y movimiento del personaje
Clase 14 de 20 • Curso de Introducción a la Programación de Videojuegos 3D con Unity
Resumen
¿Cómo optimizar la escena en Unity?
Unity es una herramienta poderosa que permite crear experiencias visuales impresionantes, pero a veces esto puede sobrecargar nuestra computadora. Aquí te dejo algunos consejos para optimizar tu escena si experimentas bajos índices de fotogramas por segundo (FPS) o la computadora está lenta.
- Ajusta la iluminación: modifica la intensidad de la luz direccional (
Directional Light
) a valores como 2.5 para simular adecuadamente la luz del día. - Reduce la complejidad gráfica: si el rendimiento sigue siendo un problema, considera eliminar el pasto, ya que es muy exigente tanto en GPU como en CPU. También puedes disminuir la cantidad de árboles en la escena.
- Utiliza la pestaña de estadísticas: la pestaña de
Stats
en Unity proporciona información detallada acerca del consumo de recursos de tu escena, como la cantidad de polígonos (tris
) yverts
, el frame rate y otros detalles cruciales que te permitirán mejorar el rendimiento.
¿Cómo crear un script de movimiento en Unity?
Cuando desees que tu personaje se desplace en el mundo de Unity, es esencial crear un script que controle su movimiento. He aquí una guía básica para estructurar un script de movimiento.
Declaración de variables
Para empezar, declaremos las variables necesarias:
[SerializeField]
private CharacterController controlador;
[SerializeField]
private float velocidad = 20f;
CharacterController
: una clase de Unity que ayuda a gestionar las colisiones.velocidad
: define qué tan rápido se moverá tu personaje.
Implementación del Input en el Update
Ahora trabajaremos en el método Update
, que recogerá las entradas de teclado para el desplazamiento de tu personaje:
void Update() {
float x = Input.GetAxis("Horizontal");
float z = Input.GetAxis("Vertical");
Vector3 movimiento = transform.right * x + transform.forward * z;
controlador.Move(movimiento * velocidad * Time.deltaTime);
}
Input.GetAxis("Horizontal")
yInput.GetAxis("Vertical")
: estos comandos capturan las teclas WASD, útiles para movimiento horizontal y vertical.Vector3 movimiento
: representa la dirección en la cual el personaje se desplazará.
Configuración y Prueba en Unity
Para ver tu script en acción, sigue estos pasos:
- Añade el
CharacterController
al jugador: en el Inspector de Unity, agrega el componenteCharacterController
a tu objeto jugador. - Asocia el script al jugador: arrastra el script de movimiento creado al componente que contiene el controlador del personaje en Unity.
- Prueba el movimiento: una vez guardado todo, presiona
Play
y verifica que el personaje se mueva adecuadamente con las teclas WASD.
¡Este sencillo script es la base de cualquier juego donde necesites tener control del personaje! Con más cursos, aprenderás a desarrollar esta estructura básica y agregar características cada vez más complejas como colisiones y controladores más personalizados. ¡Sigue explorando y expandiendo tus habilidades en Unity!