Crea tu primer juego de plataforma en Unreal Engine 5
Índice de contenido
- La Elección del Género y la Curva de Aprendizaje
- Rotación de la plataforma con rotation movement
- ⚠️ El Desafío
- 1. ⚙️ Implementación: El Componente Clave
- 2. Lógica del Blueprint (Evento BeginPlay)
- 3. Prueba y Resultado
- ️ Desarrollo de Videojuegos: Plataforma Móvil (A a B) en Unreal Engine
- 1. Configuración Visual y Blueprint
- 2. Lógica del Movimiento Cíclico
- a. Inicio del Movimiento
- El Ciclo (A a B)
- 3. Alcance y Personalización
- Plataforma pad con movimiento automático de A a B con: move component to
- 1. ⚙️ Lógica de Movimiento (Move Component To)
- 2. Ciclo de Movimiento
- Pad con movimiento circular Unreal Engine 5 - Rotation movement
- 1. ⚙️ Componentes y Configuración
- 2. Lógica de Rotación (Event BeginPlay)
- Plataforma de salto automático de A a B
- 1. Componentes y Estructura
- 2. Lógica de Colisión (Event Graph)
- 3. ⏱️ Solución a la Condición de Carrera (Delay)
- Plataforma con movimiento automático de A a B con Interp to Movement
- 1. ⚙️ Componente Principal y Configuración
- 2. Lógica Dinámica: Construction Script
- 3. Integración de Plataformas Hijas
- 4. ⚖️ Comparativa de Eventos (Construction vs. BeginPlay)
- Pad con caída automática transcurrido un tiempo en Unreal Engine
- Parte 2: Plataforma de Caída con Retorno (Falling Platform with Reset)
- 1. ⚙️ Comportamiento y Variables
- Lógica del Blueprint
- Superficie Resbalosa Slippy en Unreal Engine 5
- 1. ️ Configuración Visual y Colisión
- 2. Lógica de Modificación de Movimiento
- Rotación de la plataforma con rotation movement
- 1. ️ Componentes y Configuración
- 2. Lógica del Movimiento (Event Graph)
- Herencia en las clases Blueprints o Child Blueprints, Mover BP Juntos en el runtime Unreal Engine 5
- 1. Herencia Fallida (Movimiento al Mesh)
- 2. Herencia Exitosa con Nuevo Componente
Quiero mostrarte los primeros avances que he logrado en el desarrollo de mi primer videojuego, con la esperanza de que en algún momento deje de ser un prototipo y se convierta en un producto comercial.
Comparto este proceso contigo porque, si también planeas desarrollar tu primer juego (especialmente en 3D con Unreal o Unity), esta aproximación al prototipado te puede ser muy útil.
La Elección del Género y la Curva de Aprendizaje
a. Juegos de Plataforma: La Mejor Opción para Empezar
Recomiendo iniciar con un videojuego de tipo plataforma por su sencillez y modularidad.
- Modularidad: El escenario se construye como un nivel tipo pasillo donde la lógica recae en la funcionalidad de las plataformas y obstáculos (los Blueprints).
- Complejidad Manejable: Es mucho más sencillo de gestionar que un RPG o un Shooter (que requieren lógica compleja para enemigos y sistemas de armas).
b. Unreal Engine y el Aprendizaje
Unreal Engine tiene una curva de aprendizaje pronunciada, pero el método más efectivo es:
- Hacer pequeñas prácticas y ver cursos básicos (compartiré recursos más adelante).
- Una vez aprendido lo básico, crear un proyecto limpio y replicar las funcionalidades aprendidas por tu cuenta.
Ahora si, veremos como implementar varias plataformas para un juego de tipo plataforma con Unreal Engine 5.
Rotación de la plataforma con rotation movement
Continuando con la presentación de mi primer intento de videojuego de tipo comercial en Unreal Engine, hoy te muestro cómo implementé una plataforma que rota.
⚠️ El Desafío
Este tipo de plataformas son sorprendentemente complejas, ya que el movimiento constante dificulta que el jugador salte o aterrice en ellas. Si ajustamos la velocidad de rotación, el nivel de dificultad puede aumentar hasta el punto de ser frustrante (pero divertido, si ese es el objetivo).
1. ⚙️ Implementación: El Componente Clave
La implementación es muy sencilla, ya que Unreal Engine nos proporciona un componente nativo para este propósito.
a. Configuración del Blueprint
- Creación del Actor: Mi Blueprint se llama BP_PlatformRotation.
- Definición Visual: Agregué un Cubo (Cube) al Viewport y modifiqué su escala para aplanarlo (escala: 2, 3, y 0.2 en Z) para que pareciera una plataforma.
- Componente Esencial: El secreto está en añadir el componente Rotation Movement (se encuentra en Add Component > Rotation Movement).
Este componente es el que se encarga de determinar cuánto y cómo va a rotar el actor.
b. Exposición de la Variable de Velocidad
Para controlar la velocidad de rotación de manera sencilla desde el editor de Unreal, creé una variable:
- Variable: RotationZ (Tipo Float).
- Valor por Defecto: Lo establecí en 90.
- Edición: Marqué la variable como Editable (el ojo abierto) para poder modificarla directamente en la ventana de Details del editor.
2. Lógica del Blueprint (Evento BeginPlay)
La lógica en el Blueprint es mínima, ya que delegamos casi toda la funcionalidad al componente Rotation Movement.
- Evento: Utilicé el nodo Begin Play. Este nodo se ejecuta solo una vez cuando el juego comienza, que es justo el comportamiento que necesitamos para establecer el movimiento de la plataforma.
- Target y Velocidad:
- Arrastré una referencia del componente Rotation Movement al grafo.
- Utilicé el nodo Set Rotation Rate (que solo aparece si lo arrastras desde la instancia de Rotation Movement). Este nodo establece la velocidad de rotación.
- Configuración del Eje:
- Conecté la variable editable RotationZ al eje Z del Rotation Rate. Esto indica que la plataforma rotará sobre su propio eje Z (vertical).
Aclaración sobre Rotation Rate: Aunque inicialmente pensé que Rotation Rate indicaba la cantidad de grados a rotar, en realidad, actúa como la velocidad de giro por segundo. Al cambiar el valor de 90 a 180, la plataforma giró el doble de rápido.
3. Prueba y Resultado
Al darle Play, la plataforma rota a la velocidad definida (90 por defecto).
Modificación: Si accedo a la pestaña Details y cambio el valor de RotationZ a 180, la plataforma gira el doble de rápido, haciendo el salto mucho más difícil.
De esta forma, puedes implementar una plataforma rotatoria funcional de manera muy fácil, aprovechando los componentes nativos de Unreal Engine. Recuerda: el límite es tu imaginación.

Plataforma con movimiento automático de A a B
¡Hola! He mejorado la redacción de tu texto, estructurando la explicación de la plataforma móvil (de A a B) en Unreal Engine, detallando el componente clave, la lógica del Blueprint y el flujo del ciclo.
️ Desarrollo de Videojuegos: Plataforma Móvil (A a B) en Unreal Engine
Continuamos con el propósito de mostrarte cómo desarrollar tu primer videojuego de plataformas. En este video, te voy a explicar la implementación de una plataforma móvil que se desplaza de un punto A a un punto B de forma cíclica.
Esta es una de las primeras plataformas que creé para el proyecto y, aunque hay otras más sencillas, esta es un pilar fundamental en cualquier juego de plataformas (como Crash o Mario).
1. Configuración Visual y Blueprint
El Blueprint de la plataforma, que se encuentra en mi carpeta My Blueprints/Plataformas, contiene la lógica de movimiento.
a. El Mesh (Cilindro Aplanado)
- Geometría: El Viewport muestra un cilindro que ha sido aplanado.
- Escalado: Para obtener la forma de plataforma, escalé el cilindro en los ejes X e Y, y reduje la escala en el eje Z a 0.2 para que estuviera comprimido.
- Renombre: El mesh del cilindro está renombrado como Platform Mesh.

b. Variables Clave
End Location Vector (Vector 3D) Editable y Show 3D Widget Representa la posición final (B) a la que se moverá la plataforma. El widget 3D permite manipular el destino directamente en el editor.
Start Location Vector (Vector 3D) No Editable La posición inicial (A). Se calcula, pero de forma relativa, por lo que suele ser (0, 0, 0).
Move Duration Float Editable El tiempo que tarda la plataforma en ir de A a B.
Stop Duration Float Editable El tiempo que la plataforma estará pausada al llegar a cada extremo (A o B).

2. Lógica del Movimiento Cíclico
El movimiento animado de la plataforma se maneja a través del evento Event BeginPlay y un nodo especializado.
a. Inicio del Movimiento
El flujo comienza en Event BeginPlay (el evento se ejecuta una sola vez cuando el Blueprint se construye en el nivel).
- Pausa Inicial (Delay): Utilizo un nodo Delay para pausar el hilo durante la Stop Duration (por defecto, $2$ segundos), evitando que la plataforma se mueva inmediatamente al iniciar el juego.
- Movimiento Animado: El componente clave es el nodo Move Component To.
- Este nodo es ideal para mover un componente de manera progresiva (animada), no inmediata.
- Componente: El Target es el Platform Mesh.
- Destino: Se mueve hacia End Location (posición B).
- Duración: El movimiento se realiza durante el tiempo definido en Move Duration.
Importante (Movimiento Relativo): Este nodo utiliza la posición relativa (Target Relative Location), no global. Esto simplifica mucho la lógica, ya que la posición inicial (A) siempre es $(0, 0, 0)$ respecto al Blueprint.

El Ciclo (A a B)
La plataforma va de A a B, y de B a A, creando un ciclo continuo:
- Llegada a B: Una vez que el Move Component To finaliza, se ejecuta un segundo nodo Delay (usando otra vez la Stop Duration) para pausar la plataforma en el punto B.
- Retorno a A: Después de la pausa, se utiliza otro nodo Move Component To para mover la plataforma de vuelta a su posición inicial, Start Location (posición A), utilizando el mismo Move Duration.
- Bucle: Una vez completado el retorno a A, la ejecución regresa al primer Delay, reiniciando el ciclo.
3. Alcance y Personalización
Con esta lógica tan sencilla, ya tenemos un comportamiento completo que podemos personalizar:
- Dificultad: Variar la Move Duration para acelerar o ralentizar la plataforma.
- Recorrido: Como la End Location es un Vector 3D, el movimiento no está limitado al eje X; podemos hacer que se mueva en los ejes Y y Z (verticalmente) o en diagonal.
Esto demuestra que con componentes básicos y una lógica simple, se pueden crear funcionalidades complejas esenciales para cualquier juego de plataformas.
Plataforma pad con movimiento automático de A a B con: move component to
Te voy a explicar cómo crear un Blueprint para una plataforma o muro que se desliza de una posición A a una posición B, basándose en el tamaño real de su mesh. Este tipo de objeto es perfecto para recrear obstáculos, como los muros que golpean al jugador en juegos como Crash Bandicoot.
Parámetros Iniciales del Blueprint
El Blueprint está diseñado para ser configurable desde el editor de Unreal. Los parámetros clave que debemos ajustar son:
- Loop (Booleano): Determina si el movimiento se repetirá en un bucle continuo o se detendrá al llegar al destino.
- Initial Delay (Float): El tiempo que esperará el objeto antes de empezar a moverse.
- Factores de Desplazamiento (Vector X, Y, Z): Indica el factor de multiplicación para el movimiento en cada eje (ej: si es 1 en X, se moverá una vez el tamaño de la caja en X).
Espanol a ingles
Gem personalizado
¡Hola! He mejorado la redacción de tu bloque de texto, organizando la explicación del Blueprint de la plataforma deslizante y el uso del nodo Move Component To basado en las dimensiones del mesh.
Desarrollo de Videojuegos: Plataforma Deslizante con Dimensiones Relativas
En este video, te voy a explicar cómo crear un Blueprint para una plataforma o muro que se desliza de una posición A a una posición B, basándose en el tamaño real de su mesh. Este tipo de objeto es perfecto para recrear obstáculos, como los muros que golpean al jugador en juegos como Crash Bandicoot.
Parámetros Iniciales del Blueprint
El Blueprint está diseñado para ser configurable desde el editor de Unreal. Los parámetros clave que debemos ajustar son:
Loop (Booleano): Determina si el movimiento se repetirá en un bucle continuo o se detendrá al llegar al destino.
Initial Delay (Float): El tiempo que esperará el objeto antes de empezar a moverse.
Factores de Desplazamiento (Vector X, Y, Z): Indica el factor de multiplicación para el movimiento en cada eje (ej: si es 1 en X, se moverá una vez el tamaño de la caja en X).
1. ⚙️ Lógica de Movimiento (Move Component To)
La funcionalidad principal se logra mediante el nodo Move Component To, que ya hemos utilizado en otras plataformas.
- a. Preservar la Rotación
Componente Target: El objetivo del movimiento es el Platform Mesh. - Mantener Rotación: En el nodo, establecemos la rotación actual del mesh. Esto es vital para preservar cualquier rotación que le hayamos aplicado manualmente al Blueprint en el editor. Si no se preserva, el componente asumiría una rotación de cero, perdiendo la orientación deseada.
b. Cálculo del Desplazamiento Relativo
El corazón de este Blueprint es calcular el destino (posición B) basándose en las dimensiones del objeto, lo que permite que el movimiento sea proporcional al tamaño de la plataforma.
- Obtener Dimensiones: Utilizamos el nodo Get Actor Bounds. Este nos devuelve el tamaño real de la caja contenedora del mesh del actor (las dimensiones de la caja).
- Multiplicación por el Factor: Multiplicamos el valor del tamaño de la caja por la variable Factor de Desplazamiento (que viene del editor).
- Ejemplo: Si la caja mide 200 unidades en X, y el Factor es 1, el desplazamiento total será de 200 unidades. Si el Factor es 2, el desplazamiento será de 400 unidades.
- Destino Final: El resultado de la multiplicación es el desplazamiento relativo que le pasamos al nodo Move Component To.
2. Ciclo de Movimiento
Una vez que el objeto se ha desplazado, el Blueprint gestiona el tiempo de pausa y el regreso a la posición inicial (A).
- Pausa en B (Delay): Al finalizar el movimiento a B, se introduce un nodo Delay para pausar la ejecución durante un tiempo definido (el delay del cierre).
- Regreso a A: Se llama nuevamente al nodo Move Component To.
- Destino: En este caso, el desplazamiento se establece en cero en los factores. Esto le indica al componente que regrese a la posición inicial u original (posición A).
- Pausa en A (Delay): Una vez de vuelta en A, se introduce otro Delay para la pausa final.
- Control de Bucle:
- Si la variable Loop es True, la ejecución vuelve al inicio del ciclo (al primer Delay).
- Si es False, la ejecución se detiene.
Con estos pasos, hemos creado un Blueprint sencillo pero robusto, ideal para obstáculos que se mueven proporcionalmente a su tamaño:

Pad con movimiento circular Unreal Engine 5 - Rotation movement
Te muestro cómo puedes crear la siguiente plataforma. Es un objeto sencillo que gira sobre su propio eje a una velocidad controlable, un obstáculo clásico en cualquier juego de plataformas.
1. ⚙️ Componentes y Configuración
El Blueprint para esta plataforma es uno de los más directos de implementar.
a. El Mesh y Componente Principal
- Mesh: Utilizo un cilindro al que se le ha modificado la escala a 0.2 en el eje Z para que luzca como una superficie aplanada.
- Componente de Movimiento: La funcionalidad de rotación se delega al componente Rotation Movement. Simplemente debes añadirlo al Blueprint a través de la opción Add Component.
b. Variable de Control
Para hacer la plataforma configurable, expuse una única variable:
- Variable: Velocity (Tipo Float).
- Propósito: Esta variable determina la velocidad angular de la plataforma. Si el valor es 20, y lo duplicas a 40, la plataforma girará el doble de rápido.
2. Lógica de Rotación (Event BeginPlay)
- La configuración del giro se realiza al inicio, en el evento Event BeginPlay.
- Referencia del Componente: Obtenemos una referencia del componente Rotation Movement que agregamos previamente.
- Establecer Velocidad (Set Rotation Rate):
- Arrastramos el nodo Set Rotation Rate desde la referencia del componente Rotation Movement. Este nodo es el que controla la velocidad de giro.
- Target: El Target es el componente Rotation Movement.
- Aplicar Velocidad al Eje Z:
- Conectamos la variable Velocity directamente al eje Z del nodo Set Rotation Rate.
- Resultado: Esto hace que el objeto gire sobre su eje Z (el eje vertical), que es precisamente lo que se desea en una plataforma giratoria.
- Otros Ejes: Los ejes X e Y se mantienen en cero, ya que no queremos que la plataforma rote en esos ejes (si aplicáramos un valor, por ejemplo, en Y, la plataforma giraría y se volcaría, lo cual podría ser útil para otro tipo de obstáculo, pero no para este).
De esta manera, tan solo con un componente y la definición de la velocidad, tienes una plataforma giratoria lista para usar.

Plataforma de salto automático de A a B
Te mostrarte cómo crear un Blueprint para una Plataforma de Salto (o Jump Pad). Al entrar en contacto con ella, el personaje es impulsado automáticamente a una altura predefinida.
1. Componentes y Estructura
La plataforma se define por dos elementos clave que trabajan juntos:
- Platform Mesh: El componente visual (en este caso, un cilindro aplanado con escala 0.2 en Z).
- Box Collision (Collider): El área de detección de colisiones.
- Implementación: Se agrega como un Box Collision dentro del Mesh.
- Escalado: Es importante escalarlo para que sobresalga ligeramente del mesh, asegurando una detección de colisión efectiva.
2. Lógica de Colisión (Event Graph)
La funcionalidad de salto se basa en dos eventos del Box Collision: On Component Begin Overlap (al iniciar la colisión) y On Component End Overlap (al finalizarla).
a. Variables Clave
El Blueprint tiene una variable esencial para la personalización:
Jump Z Factor (Float): Un factor que permite modificar la altura de salto de la plataforma. Si el factor es 5, el salto será mucho más alto que el valor predeterminado del personaje.
b. Evento de Inicio de Colisión (On Component Begin Overlap)
Este evento maneja el impulso del salto:
- Detección de Actor: El nodo devuelve el Other Actor que tocó la plataforma.
- Casteo a Personaje: Es crucial castear el Other Actor al personaje jugable (en mi caso, ThirdPersonCharacter o Reina). Esto asegura que solo el jugador active la lógica y nos da acceso a sus funciones.
- Acceso a Movimiento: Obtenemos una referencia al componente Character Movement del personaje casteado.
- Ajuste de Velocidad de Salto:
- Cálculo:
- Multiplicamos el valor base del salto del personaje (por defecto, la Jump Z Velocity) por nuestro Jump Z Factor (ej: $200 * 5 = 1000$).
- Aplicación: Usamos el nodo Set Jump Z Velocity para aplicar este nuevo valor de salto al personaje.
- Cálculo:
- Ejecución del Salto: Finalmente, llamamos a la función Jump del personaje para que se impulse.
c. Evento de Finalización de Colisión (On Component End Overlap)
Este evento es fundamental para restablecer el salto a su valor original una vez que el personaje abandona la plataforma. Sin esto, el personaje conservaría la capacidad de realizar saltos potenciados incluso fuera de ella.
- Casteo y Movimiento: Se realiza el mismo casteo y se obtiene el Character Movement del personaje.
- Restablecimiento de Velocidad:
- Cálculo Inverso: Dividimos la velocidad de salto actual del personaje (que es la potenciada, ej: 1000) por el Jump Z Factor (ej: $1000 / 5 = 200$).
- Aplicación: Se aplica este valor (200) nuevamente al Jump Z Velocity del personaje.
- Advertencia de Precisión: Es vital usar valores que no generen decimales infinitos al multiplicar y dividir, para evitar problemas de precisión en el factor de salto.
3. ⏱️ Solución a la Condición de Carrera (Delay)
Existe un problema común donde el salto no se activa si el personaje toca la plataforma mientras ya está en el aire (salvo que esté justo en contacto con el suelo). Esto es una Condición de Carrera interna de Unreal.
- Solución: Para mitigar esto, inserté un pequeño Delay (0.05 segundos) justo después del casteo exitoso.
- Propósito: Este retraso da tiempo al sistema para que la variable interna del personaje (IsFalling o similar), que controla si puede saltar o no, se restablezca, permitiendo que la función Jump se ejecute correctamente.
Con estos pasos, tienes una plataforma de salto flexible y reutilizable, lista para añadir verticalidad a tus niveles.
Plataforma con movimiento automático de A a B con Interp to Movement
Te voy a mostrar una segunda implementación para una plataforma que se mueve de un punto A a un punto B. Esta versión es mucho más sencilla de codificar, ya que utiliza el componente nativo de Unreal Engine, Interp To Movement, que automatiza gran parte del proceso.
1. ⚙️ Componente Principal y Configuración
- El componente Interp To Movement (similar al de Rotation Movement) gestiona el movimiento lineal entre múltiples puntos.
- Implementación: Simplemente agregas el componente Interp To Movement al Blueprint.
- Puntos de Control (Control Points): Este componente permite definir las posiciones relativas a las que se moverá la plataforma.
- Modo Estático: Si desconectas el script, puedes definir los puntos de movimiento directamente en el panel de Details del componente (por ejemplo, definir varios puntos en el eje X, Y, o Z).
- Modo Ping Pong: Puedes configurar la opción Ping Pong para que la plataforma se mueva en ciclo constante entre el último y el primer punto definido.
- Limitación: A mi juicio, la desventaja principal de este componente es que no ofrece una forma evidente de añadir una pausa o Delay en los puntos finales (A o B).
Espanol a ingles
Gem personalizado
¡Claro! He mejorado la redacción de tu texto, estructurando la explicación de la plataforma móvil con el componente Interp To Movement, destacando sus ventajas, limitaciones y la diferencia entre usar Construction Script y Event BeginPlay.
Plataforma Móvil con Interpolación (Interp To Movement)
Te voy a mostrar una segunda implementación para una plataforma que se mueve de un punto A a un punto B. Esta versión es mucho más sencilla de codificar, ya que utiliza el componente nativo de Unreal Engine, Interp To Movement, que automatiza gran parte del proceso.
1. ⚙️ Componente Principal y Configuración
El componente Interp To Movement (similar al de Rotation Movement) gestiona el movimiento lineal entre múltiples puntos.
Implementación: Simplemente agregas el componente Interp To Movement al Blueprint.
Puntos de Control (Control Points): Este componente permite definir las posiciones relativas a las que se moverá la plataforma.
Modo Estático: Si desconectas el script, puedes definir los puntos de movimiento directamente en el panel de Details del componente (por ejemplo, definir varios puntos en el eje X, Y, o Z).
Modo Ping Pong: Puedes configurar la opción Ping Pong para que la plataforma se mueva en ciclo constante entre el último y el primer punto definido.
Limitación: A mi juicio, la desventaja principal de este componente es que no ofrece una forma evidente de añadir una pausa o Delay en los puntos finales (A o B).
2. Lógica Dinámica: Construction Script
Aunque podríamos usar el Event Graph (Event BeginPlay), utilicé el Construction Script para añadir los puntos de control dinámicamente y vincular el movimiento a una variable externa (el 3D Widget).
a. Inicialización del Movimiento
- Referencia del Componente: Obtenemos el componente Interp To Movement.
- Tiempo de Movimiento: Inicializamos el Duration del componente con mi variable Move Duration. Esto define el tiempo que tardará en recorrer todos los puntos de control.
b. Definición Dinámica de Puntos
Utilizamos la función Add Control Point Position del componente para definir la trayectoria:
- Punto A (Origen): Agregamos la posición relativa 0, 0, 0.
- Punto B (Destino): Agregamos la posición definida por el End Location (la variable de vector expuesta con el 3D Widget).
3. Integración de Plataformas Hijas
La razón principal para buscar esta implementación era garantizar la integración de Blueprints hijos.
- Problema: Si queremos que un bloque o un enemigo se mueva solidariamente con la plataforma, debe ser un hijo de la plataforma móvil.
- Solución: Al mover la plataforma móvil dentro del nivel (la raíz), el bloque que es hijo de la misma se moverá en conjunto, tal como se demostró en la prueba en el nivel.
4. ⚖️ Comparativa de Eventos (Construction vs. BeginPlay)
Al intentar mover la lógica al Event BeginPlay, la plataforma se movió inesperadamente al origen del mundo (0, 0, 0) antes de iniciar su movimiento.
- Event BeginPlay: Se ejecuta cuando el nivel ya está construido. La posición relativa del Blueprint ya está establecida en el mundo, causando que el nodo Interp To Movement la mueva al origen global antes de ir al destino.
- Construction Script: Se ejecuta antes de que el mundo esté completamente construido o al construirse el componente mismo. Esto permite que el movimiento se inicialice correctamente desde su posición de origen relativa sin irse al (0, 0, 0) del nivel.
- Conclusión: Aunque ambos pueden implementar el movimiento, el Construction Script en este caso maneja mejor el concepto de posición relativa inicial para el componente Interp To Movement.
Esta implementación ofrece una alternativa rápida a la plataforma móvil, aunque con la limitación del Delay en los puntos finales.

Pad con caída automática transcurrido un tiempo en Unreal Engine
Vamos a explorar la implementación de otra plataforma, que es visualmente simple pero funcionalmente crucial: una plataforma que desaparece (se cae) después de un breve periodo de tiempo al ser pisada.
Parte 2: Plataforma de Caída con Retorno (Falling Platform with Reset)
Te presento un Blueprint muy interesante: una plataforma que cae al contacto y, pasado un tiempo, regresa automáticamente a su posición inicial.
1. ⚙️ Comportamiento y Variables
Esta plataforma combina la simulación física (para la caída) con la lógica de movimiento (para el retorno).
- Comportamiento: Al pisar la plataforma, inicia un temporizador. Al finalizar el tiempo, la plataforma cae.
- Retorno: Después de un segundo Delay, la plataforma se mueve de nuevo a su posición inicial y restablece su estado.
Variables Expuestas:
- Duration (Float): El tiempo que transcurre desde que el jugador la toca hasta que la plataforma comienza a caer.
- Return to Origin (Booleano): Si está activada, la plataforma regresará a su posición original después de la caída.
- Return Duration (Float): El tiempo que tarda la plataforma en volver a su posición inicial.
Lógica del Blueprint
La clave de este Blueprint es la modularidad, lograda mediante el uso de Eventos Personalizados (Custom Events). Estos eventos permiten crear Blueprints hijos que hereden la lógica, pero personalicen acciones específicas, como el cambio de material.
a. Preparación y Almacenamiento (Start Location)
Al inicio, se guarda la posición global del componente raíz (Root) en la variable Start Location. Esta posición es vital para que la plataforma pueda volver a su sitio, independientemente de dónde haya caído.
b. Inicio de Colisión y Caída (Begin Overlap)
- Colisión: El evento se activa al pisar la plataforma.
- Evento Collision (Custom Event): Se llama a un evento personalizado (ej: Evento Colisión). Este evento se encarga de la lógica visual (ej: cambiar el color del material para indicar que la plataforma está a punto de caer).
- Temporizador (Delay): Se introduce el Delay basado en la variable Duration.
- Evento Falling (Custom Event): Se ejecuta este evento personalizado cuando el tiempo termina. Dentro de este evento, se llama al nodo Set Simulate Physics del Mesh y se establece en True, lo que provoca la caída de la plataforma por gravedad.
c. Retorno al Origen (Return to Origin)
- Esta lógica se ejecuta si la variable Return to Origin está activada:
- Pausa de Caída: Se usa un Delay (ej: 2 segundos) para esperar a que la plataforma caiga completamente y se detenga.
- Restablecer Físicas: Se llama a Set Simulate Physics y se establece en False para detener la simulación de caída.
- Movimiento de Retorno: Utilizamos el nodo Move Component To para mover el Mesh de vuelta a la Start Location guardada. El tiempo de movimiento es determinado por Return Duration.
- Restablecer Material: Se llama a otro evento personalizado (ej: Reset Material) para que la plataforma regrese a su color o material base, indicando que está lista para ser usada de nuevo.
Con este sistema, se logra el comportamiento de caída y reinicio que es clásico en muchos juegos de plataforma.

Superficie Resbalosa Slippy en Unreal Engine 5
Te voy a presentar un Blueprint muy interesante: la implementación de una superficie resbalosa. Esta plataforma modifica el comportamiento de movimiento del jugador mientras este está en contacto con ella, logrando el efecto de deslizamiento.
1. ️ Configuración Visual y Colisión
La plataforma utiliza una estructura estándar de Blueprint con colisión:
Mesh: Aunque inicialmente era un cubo, ahora estoy utilizando un asset comprado para darle un mejor aspecto. Visualmente, no tiene misterio.
Colisión: Utilizo un Box Collision (que debe estar en paralelo o contenido con el Mesh) para detectar el contacto del personaje.
2. Lógica de Modificación de Movimiento
La clave está en manipular las propiedades del componente Character Movement del jugador al entrar y salir de la colisión.
a. Evento de Inicio de Colisión (On Component Begin Overlap)
Cuando el personaje entra en contacto con la plataforma:
- Detección y Casteo: Se utiliza el Box Collision para detectar el Other Actor. Se realiza un Casteo para confirmar que el actor es el jugador (Character).
- Acceso al Movimiento: Obtenemos una referencia al componente Character Movement del jugador.
- Modificación de Propiedades (Efecto Resbaloso):
- Gravedad Fricción (Ground Friction): Se establece la fricción en cero (0). El valor por defecto en Unreal suele ser 8. Al eliminar la fricción, el personaje se desliza.
- Desaceleración al Frenar (Braking Deceleration Walking): Se reduce este valor a, por ejemplo, 350 (el valor por defecto suele ser 2000). Reducir la desaceleración hace que el personaje tarde más en detenerse después de que el jugador suelta la tecla de movimiento, acentuando el efecto resbaloso.
b. Evento de Fin de Colisión (On Component End Overlap)
Este evento es esencial para que el cambio no sea permanente. Cuando el personaje sale de la plataforma:
- Restablecimiento: Se obtienen las mismas propiedades (Ground Friction y Braking Deceleration Walking) del componente Character Movement.
- Valores por Defecto: Se les asignan sus valores por defecto (8 para Ground Friction y $2000$ para Braking Deceleration Walking).
Importancia del Restablecimiento: Si no restablecemos estos valores al salir, el personaje conservaría el comportamiento de deslizamiento en el resto del nivel.
Con esta lógica, hemos creado una superficie que manipula las propiedades de movimiento del jugador para lograr el efecto resbaloso deseado.

Rotación de la plataforma con rotation movement
Te mostraré la implementación de una plataforma que gira sobre su propio eje. El efecto esperado es que el jugador rote junto con la plataforma al posicionarse sobre ella.
1. ️ Componentes y Configuración
El Blueprint de esta plataforma es uno de los más sencillos, ya que utiliza un componente nativo de Unreal Engine.
- Mesh: Aunque puedes usar cualquier figura (como un cubo), yo he sustituido el mesh por un asset comprado para mejorar la apariencia.
- Componente Clave: El elemento central es el componente Rotation Movement. Debes agregarlo al Blueprint para poder aplicar el movimiento de giro.
Variable de Personalización
Solo expuse una variable para controlar el movimiento:
- Rotation Factor (Float): Este valor no indica el grado de giro (ej: 90 grados), sino que representa la velocidad de rotación.
2. Lógica del Movimiento (Event Graph)
La rotación se aplica al inicio del juego y se basa en la variable Rotation Factor.
- Referencia: Obtenemos una referencia al componente Rotation Movement.
- Establecer Velocidad: Utilizamos el nodo Set Rotation Rate (que se saca de la referencia del componente Rotation Movement).
- Aplicación del Factor:
- Conectamos la variable Rotation Factor directamente al eje Z del nodo Set Rotation Rate.
- Eje Z: El movimiento se aplica al eje Z para que la plataforma gire horizontalmente (sobre su eje vertical). Puedes experimentar con los otros ejes (X o Y) para rotaciones en diferentes planos.
Ejemplo: Si el factor es 10, la plataforma gira lentamente. Si lo duplicas a 20, girará el doble de rápido, aumentando la dificultad para el jugador.
Con esta implementación, tienes una plataforma giratoria dinámica que puedes ajustar fácilmente para tus niveles.


Herencia en las clases Blueprints o Child Blueprints, Mover BP Juntos en el runtime Unreal Engine 5

1. Herencia Fallida (Movimiento al Mesh)
Esto es una extensión de la explicación anterior sobre la diferencia entre aplicar movimiento al Platform Mesh (el objeto visible) o al Default Scene Root (la raíz del Blueprint). El objetivo aquí es demostrar cómo la estructura padre-hijo afecta la herencia del movimiento.
Antes, determinamos que mover el Platform Mesh era la solución para que la plataforma se moviera de un punto A a un punto B de forma relativa, sin irse al origen (0, 0, 0) del mundo.
El Problema del Componente Hijo
- Jerarquía: Si intentamos hacer que un cubo (un Blueprint independiente) se mueva con la plataforma, lo primero que haríamos es hacerlo hijo de la plataforma en el Outliner.
- Resultado Inesperado: Al ejecutar, el cubo no se mueve con la plataforma.
- Causa: El movimiento se está aplicando al componente Platform Mesh (el hijo del Root), pero hemos anexado el cubo como hijo del Default Scene Root (la raíz). El Root no se está moviendo, solo su hijo (Mesh), por lo que el cubo se queda quieto.
- Importante: La herencia de movimiento y posición solo funciona si el objeto hijo está anidado bajo el componente que se está moviendo.
2. Herencia Exitosa con Nuevo Componente
Para demostrar la herencia correcta, cambié la implementación de movimiento de la plataforma.
Componente de Movimiento Automático
En lugar de usar el nodo Move Component To en el Event Graph, utilizaremos un componente nativo de Unreal:
- Interp To Move: Similar a cómo el componente Rotation Movement automatiza la rotación (como se mostró en otro video), el Interp To Move automatiza el movimiento entre puntos.
La Solución de la Jerarquía
Al cambiar la implementación y usar el componente Interp To Move, observamos la clave de la jerarquía:
- Estructura: El componente Interp To Move se encuentra al mismo nivel que el Default Scene Root.
- Movimiento del Padre: Si anexamos el cubo como hijo directo del Default Scene Root (que ahora es el componente movido por el Interp To Move a través de su árbol), ambos se mueven.
Conclusión: La clave para el movimiento de componentes hijos es identificar cuál es el componente padre que está recibiendo las actualizaciones de posición, y hacer que el nuevo objeto sea su hijo directo.
Acepto recibir anuncios de interes sobre este Blog.
Aprende a crear plataformas para tu videojuego en Unreal Engine 5. Descubre cómo usar Blueprints para hacer plataformas rotatorias, móviles de A a B y de salto (jump pads) con esta guía completa y ejemplos prácticos