Índice de contenido
Voy a explicar cómo puedes implementar y emplear el sistema de daños aquí en Unreal Engine.
Para comenzar, puedes observar que en la interfaz de usuario tengo una barra azul que hace referencia a la salud del jugador. Además, he dispuesto unas cajas en el nivel que son similares a las cajas Nitro (elementos destructibles que infligen daño y explotan) y que interactuarán con este sistema de salud.

Estas cajas son similares a las que encontramos en el juego Crash Bandicoot: al tocarlas, explotan e infligen daño al jugador.
- Efecto Clave: Como pudiste observar, el efecto principal es el decremento de la barra de salud del jugador al entrar en contacto con la caja.
- Implementación Adicional: Los efectos visuales, el sonido de la explosión y la vibración de la pantalla serán explicados en otro video, ya que son opcionales al núcleo del sistema de daño.
Blueprint para hacer daño
La funcionalidad principal de la caja explosiva reside en su Blueprint:

Al tocar las cajas, la lógica se activa al momento de la colisión y aplica daño al jugador como puedes ver en la imagen anterior.
- Nodo Clave: La funcionalidad central es el nodo llamado Apply Damage .
- Implementación: La forma en que desees implementar esto es completamente opcional y depende del efecto que busques.
Aunque esta caja desaparece después de explotar (lo que garantiza que la lógica se ejecute solo una vez), el uso del Do Once tiene por objetivo hacer la ejecución ligeramente más eficiente al asegurar que la rama de código solo se active una vez por interacción. Si lo deseas, puedes omitir este nodo, ya que el Blueprint se destruirá inmediatamente después.
Apply Damage
- Daño Base (Base Damage): Es el valor numérico del daño que se aplicará.
- Configuración: En esta implementación, se ha establecido un daño de 25 (considerando que la salud total del jugador es de 100). Este valor es totalmente configurable.
- Actor Afectado (Damaged Actor): Se refiere al objetivo que recibirá el daño.
- Implementación: Conectamos la referencia de nuestro personaje o Player (obtenida del casteo inicial) directamente al pin de Damaged Actor.
Aplicar el daño al jugador
Ahora debemos configurar al jugador para que pueda recibir y procesar el daño que le aplica la caja explosiva.
1. El Evento Clave: Event Any Damage
En Unreal Engine, existe un evento que se invoca automáticamente cuando un actor recibe daño:
- Evento: Utilizamos el nodo Event Any Damage.
- Activación: Este evento se invoca automáticamente gracias al nodo Apply Damage que configuramos en la caja, siempre y cuando el actor objetivo sea nuestro jugador.
2. Procesamiento del Daño Recibido
Si no configuramos nada en este evento, la barra de salud no descenderá. Por lo tanto, aquí es donde definimos qué sucede con el valor de daño recibido.
- Oportunidad para Efectos: Este es el punto ideal para implementar lógica adicional, como:
- Invulnerabilidad temporal (similar a las máscaras en Crash Bandicoot).
- Animaciones de dolor o retroceso.
- Lógica Principal: En esta implementación, lo que hacemos es llamar a una función interna (que veremos a continuación) para procesar el daño y, consecuentemente, actualizar la salud del jugador.

Resumen del Sistema de Daño Completo
El sistema de daño se basa en la interacción de dos nodos clave:
- En el Objeto de Daño (Caja Nitro):
- Se utiliza el nodo Apply Damage y se le indica el valor del daño y el Damaged Actor (el jugador).
- En el Actor (Jugador):
- Se utiliza el evento Event Any Damage para capturar el daño.
- Dentro de este evento, se llama a la función de manejo de salud que decrementa, clampea y verifica la condición de muerte del jugador.