Saltar al contenido principal

Controles de juego

Los controles de juego convierten un objeto en un personaje que el visitante puede mover: andando, volando o recorriendo un mapa visto desde arriba. Esta página explica cómo configurarlos y para qué sirve cada ajuste.

Qué necesitas​

  • Un personaje: el objeto que tiene el disparador Game controls.
  • Algo sólido que pisar: un suelo con cuerpo rígido y collider.
  • Una cámara, o ninguna. Si no eliges una, se usa una cámara integrada.

Añadir controles de juego​

Los controles de juego son un disparador, no un paso. Todos los ajustes del controlador están en el disparador.

  1. Selecciona el objeto que quieres convertir en personaje.
  2. En el inspector, haz clic en + new component y elige Events.
  3. Haz clic en + add event.
  4. Cambia el disparador a Game controls.
  5. Ajusta los parámetros que se describen más abajo.
  6. Opcional: añade pasos a las ramas On idle, On move, On run y On jump para reaccionar a lo que hace el personaje, por ejemplo para reproducir una animación.

El controlador existe mientras su objeto está activo. Si desactivas el objeto, el controlador desaparece. Si lo vuelves a activar, el controlador vuelve.

Movimiento​

AjusteQué controla
MovementWalk, Fly o Top down
Towardsqué significa «hacia delante»: hacia donde mira la cámara (Camera) o el propio eje de la escena (Axis)
Pos. Speed · Run Factorla velocidad en metros por segundo, y cuánto más rápido corre el personaje con Shift pulsado
Pos. Delaycuánto tarda en alcanzar la velocidad máxima, y en pararse
Auto-orient · Rot. Speedsi el personaje se gira hacia donde va, y a qué velocidad
KeysWASD, flechas o ambas
Jumpla altura del salto en metros; 0 significa que no salta
Air Controlcuánto puede dirigir el visitante al personaje en pleno salto
Rst Y-offsetsi el personaje cae esta distancia por debajo de su punto de partida, vuelve a colocarse allí
Click to moveel personaje camina hasta el punto que toca el visitante
Rotate Bygirar la vista con el ratón, con las teclas o con ambos
Pos. Delay es un tiempo

Imagina que pones medio segundo. El personaje llega entonces a la velocidad máxima en medio segundo. Las cuestas, los baches y la masa lo frenan, y por eso el movimiento se siente físico.

0 significa «lo más rápido posible». Es casi instantáneo, pero no del todo, porque el personaje sigue teniendo masa.

El cuerpo​

El controlador le da a tu objeto una cápsula. Así el personaje choca con el mundo en lugar de atravesarlo.

AjusteQué controla
ColliderCapsule o Sphere
Sizeel radio y la altura, en metros
Positiondesplaza la cápsula respecto al objeto
Masscon cuánta fuerza empuja el personaje, y cuánto cuesta empujarlo
Helpermuestra la cápsula en el editor

Si el objeto ya tiene su propio cuerpo rígido, el controlador lo conserva y solo lo dirige, usando su masa. Si no lo tiene, el controlador crea uno.

Solo son sólidos los objetos con cuerpo

Los suelos y las paredes solo detienen al personaje si tienen cuerpo rígido y collider. El resto de la geometría es solo decorado, y el personaje la atraviesa. → Física

La gravedad viene del espacio, y la altura del salto se mide con ella. Una escena con controles de juego activa la física, aunque el espacio la tuviera desactivada. Sin física, nada se movería.

La cámara que sigue al personaje​

AjusteQué controla
Cameraqué cámara sigue al personaje; déjalo vacío para usar una integrada
Orient Toseguir mirando al personaje (At target) o mantener un ángulo fijo (Angle)
Pos. Delay · Rot. Delaycuánto se retrasa la cámara, en segundos
Up / Down · Left / Rightsi la vista puede girar en esa dirección: Yes, No o Limit
Limitcuánto puede girar la vista, en grados
Encuadra el plano en el viewport

En el primer fotograma, la cámara memoriza su distancia y su ángulo respecto al personaje, y los mantiene. No tienes que escribir ninguna distancia ni altura. Coloca la cámara donde quede bien en el viewport, y se quedará así.

Cómo se comporta la cámara:

  • Primero gira hacia el personaje y después se desplaza. El personaje puede alejarse un poco hacia un lado mientras la cámara solo gira. La cámara se desplaza solo cuando el personaje llega al borde de esa zona. Resulta más natural que una cámara pegada al personaje.
  • El retraso cambia el encuadre, no la distancia. La cámara no se queda atrás cuando el personaje acelera. Parecería un zoom no deseado y puede marear.
  • La cámara se coloca detrás del personaje mientras este se mueve y el visitante no está girando la vista. Si bloqueas Left / Right o eliges Top down, esto se desactiva.
  • Nada tapa la vista. Si algo se interpone entre la cámara y el personaje, la cámara se acerca y después vuelve a alejarse poco a poco. Nunca se acerca a menos de medio metro.
  • La rueda del ratón hace zoom, desde un tercio hasta dos veces y media la distancia que ajustaste.

Mientras el controlador maneja una cámara, los controles propios de esa cámara (órbita, vuelo) se ignoran. Si no, los dos se pelearían en cada fotograma.

Controles táctiles y mandos​

Los controles en pantalla solo aparecen en pantallas táctiles, así que puedes dejarlos activados.

AjusteQué controla
Touch controls → Enablemuestra un joystick y un botón de salto
Rotate Bygirar la vista arrastrando por la escena (Drag) o con un segundo joystick (Joystick)
Movement stick · Jump buttondónde se coloca cada uno, en una cuadrícula de 3×3
Offset · Button Sizela distancia al borde de la pantalla, y el tamaño en píxeles
Visibilityocultar los controles (Hide); girar deslizando el dedo sigue funcionando

Un mando funciona sin configurar nada:

  • el joystick izquierdo mueve;
  • el joystick derecho mira alrededor;
  • A salta;
  • los botones superiores y los gatillos hacen correr.

Reaccionar a lo que hace el personaje​

Las ramas On idle, On move, On run y On jump se ejecutan cuando el personaje cambia lo que está haciendo. Los scripts y los patches reciben el mismo cambio en el mismo momento:

  • un script puede escucharlo;
  • en un patch, el nodo on_game_control tiene las salidas pulse y state.

Así puedes reproducir el sonido de las pisadas desde un script mientras las ramas se ocupan de la animación, y los dos van sincronizados.

Seguir sin controlador​

Para algo más sencillo, como un enemigo que persigue al jugador, una mascota o el objetivo de una cámara, usa los pasos Follow object, Look at object y Stop following.

Estos pasos mueven el objeto directamente. Por eso no funcionan en un objeto que ya mueve la física. En ese caso, empújalo con impulsos desde un script.


Siguiente: Tarjetas de interfaz — botones, menús y marcadores de puntuación.