Programación de Animaciones de Ataque en Videojuegos con Unity
Clase 32 de 33 • Curso de VR con Unity
Contenido del curso
Creando nuestro mundo 3D en Unity
- 6

Crear terreno 3D en Unity con Standard Assets
08:42 min - 7

Creación de Escenarios en Unity: Terreno y Erosión Realista
10:19 min - 8

Texturización de terrenos en Unity: creación de entornos realistas
10:56 min - 9

Cómo pintar árboles en Unity para VR
06:54 min - 10

Añadir césped y efectos de viento en Unity 3D
06:57 min - 11

Configurar skybox de seis lados en Unity
06:53 min - 12

Integración de Armas y Escudo en Realidad Virtual con HTC Vive
12:09 min
El realismo del VR: Programando a nuestro personaje
- 13

Programación de Lógica de Armas en Realidad Virtual
10:22 min - 14

Mapeado de controles HTC Vive en Unity
10:08 min - 15

Controles VR: grip y gatillo en Unity
10:02 min - 16

Configuración de Bolas de Fuego en Unity para Realidad Virtual
09:21 min - 17

Disparo de bola de fuego en VR
10:11 min - 18

Corrección de bugs: recarga y audio en armas Unity
04:44 min - 19

Colliders y Rigidbody en el diseño de personajes y armas en Unity
08:25 min - 20

Sistema de vida reutilizable en Unity
05:23 min
El realismo del VR: Creación de HUD (Heads Up Display) y generando enemigos
- 21

HUD en VR: canvas anclado a cámara
08:50 min - 22

Configuración de Barras de Vida y Maná en Unity
05:54 min - 23

Programación de Daño en Videojuegos: Lógica de Armas y Magia
11:07 min - 24

Slider Unity: vida y maná en un script
08:00 min - 25

Cómo configurar un dragón enemigo en Unity
11:40 min - 26

Colliders y barras de vida para dragones
08:31 min - 27

Animaciones de Muerte y Desaparición de Enemigos en Unity
10:01 min - 28

Cómo crear oleadas de dragones con portal
11:24 min
El realismo del VR: Programando la IA de nuestro juego
Optimiza tu flujo en Unity con un enfoque práctico: corrige el collider del jugador, sincroniza la distancia con el Animator para activar el flying flame attack del dragón y ajusta probabilidades y velocidades para un gameplay sólido. Aquí verás cómo se vincula la lógica de juego con la animación sin perder control del escenario.
¿Qué errores de gameplay y físicas se corrigen en el player?
Para evitar que el personaje “salga volando” y mantener un control estable, se bloquea su posición y se revisa la jerarquía con la cámara. El objetivo: que el player no se desplace por fuerzas no deseadas.
- Congelar posición en X, Y, Z desde el inspector. Evita desplazamientos no intencionales.
- Deshabilitar la gravedad si no es necesaria. Aporta estabilidad inmediata.
- Evitar que el player sea hijo directo del camera rig si se mueve con la cabeza. El collider se arrastra con la cámara.
- Orientar el collider: en eje Y queda “apaisado” hacia el suelo; en eje X apunta hacia arriba y facilita que los enemigos te alcancen. Se mantiene la configuración actual tras probar el comportamiento.
¿Cómo sincronizar distancia y animaciones en Unity Animator?
El dragón debe cambiar de animación al acercarse. Para ello, se envía al Animator un float llamado "Distance" con la magnitud de la dirección al objetivo. Así, arte y gameplay quedan alineados.
¿Qué código mínimo necesitas?
using UnityEngine;
public class FollowDestination : MonoBehaviour
{
private Animator animator;
public Vector3 targetDirection; // calculada hacia el objetivo
void Start()
{
animator = GetComponent<Animator>();
// cuidado: si este objeto no tiene Animator, fallará.
}
void Update()
{
animator.SetFloat("Distance", targetDirection.magnitude);
}
}
- Clave: usar GetComponent
() para recuperar el Animator del objeto que sigue un destino. - En Update, enviar el valor con SetFloat("Distance", targetDirection.magnitude).
- Si el modelo proviene de la Asset Store sin animación, esta línea dará problema. Comprueba que tenga Animator.
¿Dónde ajustar el umbral de ataque en Animator?
- Configurar el cambio de estado con la variable Distance.
- Si el umbral era distancia < 3, puede resultar tarde para ver el ataque. Se recomienda subirlo, por ejemplo, a 12 para anticipar la animación.
- Este ajuste se hace en el grafo de estados del Animator y sus condiciones de transición.
¿Qué ajustes de probabilidad, velocidad y spawn mejoran el flujo?
Para lograr encuentros consistentes y menos esperas, se afinan varias dinámicas. El resultado: enemigos que toman decisiones variadas pero controladas, y ataques que llegan a tiempo.
- Probabilidad de destino: con aleatorio entre 0 y 2, hay 50 % a cada lado. Cambia el rango a 0–3, 0–4 o 0–20 para sesgar resultados. Decide desde qué número van a por ti.
- Velocidad de dragones: aumenta su speed si no quieres esperar tanto a que regresen.
- Distancia de activación del ataque: define cuándo iniciar el movimiento de ataque respecto a tu posición para que no se active “demasiado tarde”.
- Ubicación del spawn: si aparecen a tu lado, te quitan vida de inmediato. Mueve el spawning fuera del escenario para una entrada más justa.
- Estado de vida: al quedarte sin vida, falta implementar game over y reinicio de escena o nueva partida.
- Audio: añadir música de fondo mejora la experiencia junto a los efectos ya presentes.
¿Tienes otra forma de medir la distancia o condicionar la transición en Animator? Comparte cómo lo harías y qué umbrales te han funcionado mejor.