Creación de enemigos aleatorios con física en Unreal Engine

Clase 12 de 18Curso de Creación de Videojuegos de Realidad Virtual

Resumen

¿Cómo crear un blueprint para enemigos en Unreal Engine?

Al desarrollar un videojuego en Unreal Engine, es crucial crear interacciones dinámicas. Aquí, exploramos cómo establecer un blueprint que permite generar enemigos, como figuras geométricas aleatorias, con propiedades transformativas para aumentar la experiencia de juego. Este proceso incluye el uso de static meshes, enumeradores y configuraciones aleatorias para lograr un comportamiento impredecible y envolvente en tus juegos.

¿Cómo se importan y configuran los static meshes?

Para empezar, necesitamos importar nuestras figuras geométricas desde la carpeta de assets. Asegúrate de que las figuras, como conos, cubos, cilindros y esferas, están en la carpeta assets/meshes. La importación se realiza seleccionando todos los archivos y eligiendo la opción importar todo. A continuación, se puede asignar un color base a estas figuras usando materiales, por ejemplo, aplicándoles un color naranja de forma provisional.

# Importar los static meshes
importarDirecto "assets/meshes"

¿Cómo se puede cambiar aleatoriamente el static mesh?

El objetivo es que un blanco (enemigo) pueda cambiar su forma de una esfera a cualquier otra figura: cilindro, cono o cubo. Esto se logra mediante una función que selecciona al azar una de las opciones utilizando un enumerador.

  1. Crear el Enumerador:
    • Añade las figuras en un enumerador para tener una lista de opciones.
cilindro, esfera, cono, cubo
  1. Configurar la Variable y Selector:
    • Usa el enumerador como variable y configúralo para elegir aleatoriamente una figura al instanciar el blueprint.
# Variable ENUM para figuras
variable: listaBlancos

¿Cómo asignar transformaciones relativas?

Para proporcionar variaciones visuales y de comportamiento de nuestros blancos, necesitamos configurar escalas y rotaciones aleatorias:

  1. Configuración de Rotación:
    • Usar la función random rotator para rotar las figuras al azar.
// Generar rotación aleatoria
random rotator
  1. Escala Aleatoria:
    • Generar un rango aleatorio de escalas, por ejemplo, entre 0.4 y 1.0, para que las figuras aparezcan con diferentes tamaños.

¿Cómo incorporar física y añadir impulso?

La animación al arrojar los blancos al aire agrega movimiento dinámico:

  1. Simulación de Física:
    • Habilitar la opción de simular física para los static meshes.
  2. Añadir Impulso:
    • Usa addImpulse para lanzar las figuras hacia arriba con un valor generado aleatoriamente entre dos rangos.
// Impulso en vector Z
randomFloat(700, 1100)

¿Cómo generar enemigos aleatoriamente en el mundo del juego?

Finalmente, necesitamos integrar estas configuraciones en el entorno del juego mediante otro blueprint que se encargue de generar objetos de manera aleatoria y continua:

  1. Crear Generador de Figuras:
    • Un blueprint tipo actor que usará la función spawn actor from class para instanciar blancos a intervalos regulares.
// Tiempo de retraso entre spawns
randomFloat(3, 4)
  1. Definir Punto de Origen:
    • Determina la ubicación del origen para que las figuras aparezcan desde un punto específico en tu escenario del juego.

Cada configuración resalta cómo Unreal Engine permite personalizar la interactividad y animación de elementos en el juego, mejorando así la jugabilidad. Esta guía facilita un enfoque intermedio para aquellos interesados en diseñar entornos dinámicos que respondan a eventos aleatorios, asegurando una experiencia única en cada ejecución del juego.

En tu próxima inmersión en Unreal, alienta a continuar experimentando y ampliando tus habilidades, explotando al máximo cada función que este potente motor ofrece.