Oferta flash30% de descuento en la licencia y paquetes de tokens más grandes al mismo precio.30% de descuento en la licencia + paquetes de tokens más grandesTermina en …Ver precios → Descubre las novedades de V2 · Interfaz renovada, Crew, Blueprint a C++, pruebas multijugador y actualizaciones dentro del editor Leer el registro de cambios →
Todas las entradas
6 min de lectura

Sprint y stamina en Unreal Engine: crea una barra de stamina con IA

Sprint con stamina en Unreal Engine: Left Shift para correr a 900, una barra que gasta 25 por segundo, se recupera tras 1 segundo y se bloquea al vaciarse.

Un sistema de stamina en Unreal Engine se reduce a tres ideas sencillas: un número, la stamina; una regla que dice cuándo puedes correr y cuánto cuesta; y otra regla que dice cuándo se recupera. Todo lo que ves en pantalla, la barra, el color y la velocidad, es una reacción a ese único número. La forma más fácil de construirlo es pedirle a una IA el sistema completo en una sola petición, con sus reglas de velocidad, gasto, recuperación y bloqueo.

En este paso a paso, Ultimate Engine CoPilot construye un sprint con Left Shift y una barra de stamina que se gasta, se recupera y se bloquea cuando está vacía. Tienes el prompt exacto, un problema que la IA encontró en el personaje y cómo lo resolvió, y una explicación sencilla de cómo funciona un sistema de stamina.

Qué hace el sistema terminado

Caminas y no hay barra, porque la stamina está llena. Mantienes pulsada la Shift y el personaje corre más rápido, y aparece una barra pequeña sobre la barra de habilidades. Se gasta mientras corres y se vuelve naranja cuando está casi vacía. Sueltas, esperas un segundo y se vuelve a llenar. Y si corres hasta vaciarla, el sprint queda bloqueado hasta que la barra se recupere.

El jugador haciendo sprint sobre la nieve con la barra verde de stamina sobre la barra de habilidades

En pleno sprint: la barra verde de stamina está sobre la barra de habilidades.

El prompt

Copia esto, cambia la velocidad o el gasto y mira qué construye la IA:

Make sprinting with a stamina bar. Create WBP_StaminaBar in /Game/Series/EP39_Sprint, a thin horizontal bar at the bottom centre of the screen above the existing ability bar, 400 pixels wide and 14 pixels high, with a dark background and a green fill that turns orange below 30 percent, and hidden while stamina is full. Create BP_SprintController in the same folder, an actor that I place once in the level, that adds the widget on BeginPlay and listens for Left Shift. While Left Shift is held, the player is moving and stamina is above 0, set the character's MaxWalkSpeed to 900 and drain 25 stamina per second out of 100. When the player is not sprinting, wait 1 second and then regenerate 20 stamina per second. If stamina reaches 0, sprinting stays locked until stamina is back to 30. The actor must read and remember the original MaxWalkSpeed and restore it when the sprint ends. Keep the sprint speed, the drain, the regeneration and the lock threshold as variables. Place the actor near the player start. Then play test it: record the original walk speed, hold Left Shift while moving forward and check the speed is 900 and stamina falls, release and check the original speed is restored and stamina regenerates after the delay, hold until stamina is empty and check the sprint is locked, and fix anything that does not work.

Fíjate en los números: 900, 25, 20, 30 y 1 segundo. Cada regla tiene un número, así que la IA no tiene que adivinar qué se siente bien. Y fíjate en una cosa más: el actor debe recordar la velocidad original y restaurarla. Si no lo indicas, muchos sistemas de sprint dejan al jugador atascado a una velocidad equivocada.

Cómo lo construye la IA

La IA empieza leyendo el proyecto. Encuentra el HUD, para ver dónde está la barra de habilidades y poder colocar la nueva encima sin taparla. Después aparecen los dos assets: el widget de la barra de stamina y el Blueprint del controlador de sprint. Los números que pediste se convierten en variables, así que puedes cambiarlos más tarde sin tocar el grafo.

La barra aterrizó primero en el borde izquierdo, así que la IA corrigió el anclaje al centro inferior y colocó el controlador cerca del punto de partida del jugador.

El grafo de eventos de BP_SprintController

El grafo del controlador: en cada fotograma comprueba la Shift, el movimiento y la stamina.

Un problema en el personaje

La primera ejecución supera 11 comprobaciones y fallan dos. La IA lee los fallos: la velocidad debería ser 900 y se quedó en 600, y mientras el sprint estaba bloqueado la velocidad marcaba 1000. Encuentra la causa. Este personaje ya tiene un sprint propio, y fija la velocidad en 1000 en cada fotograma. Un proyecto real suele ser así, y la IA lo rodeó sin tocar el personaje. Ahora el controlador escribe su velocidad en cada fotograma, después del controlador del jugador y antes del movimiento.

La segunda ejecución supera las 19 comprobaciones.

El informe

La tabla del informe de la IA con las comprobaciones de velocidad, gasto, recuperación y bloqueo

La evidencia de cada regla y las notas sobre el sprint propio del personaje.

El informe incluye una tabla con cada comprobación y su evidencia:

  • La velocidad al caminar es 600. Durante el sprint, la velocidad es 900 y la velocidad real del pawn es 899.98.
  • Stamina tras 1,5 segundos de sprint: 61.5, cerca de los 62.5 que predicen los números.
  • Al soltar, la velocidad vuelve a 600. No hay regeneración durante el primer segundo, y después se llena.
  • Manteniendo hasta vaciarla, el sprint se bloquea. Con la Shift aún pulsada y 13.9 de stamina, la velocidad es 600. El bloqueo se levanta en 30.8 y el sprint se reanuda a 900.

Es sincero sobre lo que no vio. Comprobó la barra naranja en pantalla, pero la barra verde y el estado oculto solo a partir del grafo del widget. Y el sprint del personaje se sobrescribe, no se elimina, porque ese personaje viene de un pack de assets. Se ofrece a eliminarlo si quieres. Además, el nivel está sin guardar.

Cómo funciona un sistema de stamina, en palabras sencillas

En cada fotograma, el controlador comprueba tres cosas: ¿está pulsada la Shift?, ¿se está moviendo el jugador? y ¿la stamina es mayor que cero y no está bloqueada? Si las tres respuestas son sí, la velocidad es la del sprint y la stamina baja un poco: el gasto multiplicado por el tiempo del fotograma. Si no, la velocidad vuelve a la que recordó. Un temporizador cuenta un segundo y después la stamina sube un poco en cada fotograma.

Cuando la stamina llega a cero, se activa un indicador, locked, y solo se desactiva cuando la stamina vuelve a 30. Ese margen es lo que evita que el sprint parpadee entre encendido y apagado. Y la barra solo lee el número: verde y luego naranja por debajo del 30 %. Como la velocidad, el gasto y la regeneración son variables, puedes crear un corredor pesado o uno incansable con tres números.

Ideas para ampliarlo

  • Un coste distinto para saltar.
  • Un sonido breve de agotamiento y una respiración más pesada cuando la barra está vacía.
  • Un campo de visión que se amplía un poco durante el sprint. Mira el zoom en Unreal Engine para ver cómo se mezcla el campo de visión.

Cuatro consejos para prompts de stamina

  1. Da un número a cada regla: la velocidad, el gasto, el retraso y el bloqueo.
  2. Indica dónde va la barra, en relación con la interfaz que ya existe.
  3. Pide a la IA que restaure la velocidad original.
  4. Pídele que pruebe el caso de la barra vacía, no solo el de la barra llena.

Preguntas frecuentes

¿Cómo hago un sprint con stamina en Unreal Engine 5?

Mientras la tecla esté pulsada y el jugador se mueva, sube MaxWalkSpeed y gasta stamina en cada fotograma. Regenera tras un retraso y bloquea el sprint a cero hasta que la stamina se recupere hasta un umbral.

¿Por qué el sprint se bloquea hasta que la stamina vuelve a 30?

Un margen entre el valor de vacío y el de desbloqueo evita que el sprint parpadee entre encendido y apagado cuando la stamina ronda el cero.

¿Por qué fallaron dos comprobaciones en la primera ejecución?

El personaje ya tenía un sprint propio, que fijaba la velocidad en 1000 en cada fotograma. La IA lo rodeó escribiendo su velocidad en cada fotograma en el orden correcto, sin editar el personaje.

Pruébalo en tu proyecto

Descubre lo que Ultimate Engine CoPilot puede construir en la página del producto, o consíguelo en Fab. Descubre cómo funciona el generador de Blueprints con IA.

Más creaciones de esta serie: la placa de hielo en Unreal Engine, el potenciador de velocidad en Unreal Engine y el daño por caída en Unreal Engine.

¿Qué te pareció?

Pruébalo en tu editor
1655 herramientas para Unreal Engine 5.
Obtener el plugin