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

Puerta con llaves en Unreal Engine: crea una puerta que necesita dos llaves con IA

Puerta con llaves en Unreal Engine: llave roja y azul, contador Keys 0/2 y una puerta de piedra que sube 400 unidades al tener ambas, con una petición a la IA.

Una puerta con llaves en Unreal Engine se reduce a tres ideas sencillas: una llave que se puede recoger, un contador que recuerda qué llaves tienes y una puerta que hace una sola pregunta cuando la tocas. ¿Tengo las dos? Si es así, se abre. Si no, lo dice. La forma más fácil de construirla es pedirle a una IA el sistema completo en una sola petición, con sus llaves, su puerta y su texto en pantalla.

En este paso a paso, Ultimate Engine CoPilot construye una puerta de piedra que solo se abre cuando tienes una llave roja y una llave azul. Tienes el prompt exacto, un bug que la IA encontró en la pantalla y una explicación sencilla de cómo funciona una puerta de dos llaves.

Qué hace la puerta terminada

Hay una puerta de piedra en la nieve y dos llaves, una roja y una azul. En la parte superior de la pantalla, un pequeño texto dice “Keys 0/2”. Tocas la puerta y dice “Door locked, you need two keys”. Recoges la primera llave: “Keys 1/2”. La segunda llave: “Keys 2/2”. Ahora tocas la puerta y se desliza hacia arriba.

El jugador sobre la nieve cerca de la puerta de piedra, con otro personaje a su lado

La puerta de piedra a la izquierda y el jugador sobre la nieve.

El prompt

Copia esto, cambia los colores o el tiempo de deslizamiento y mira qué construye la IA:

Make a door that needs two keys. Create BP_KeyPickup in /Game/Series/EP41_TwoKeyDoor, a floating spinning key with a Color variable, red or blue, that is collected when the player touches it, with a small pop of particles replaced by a quick scale-down. Create BP_TwoKeyDoor in the same folder, a stone door 300 units wide and 400 high that slides up 400 units over 1.5 seconds once the player has collected both a red and a blue key. Show a small text in the top centre below the existing Blizzard box: Keys 0/2, Keys 1/2, Keys 2/2, and Door opened. If the player touches the door with fewer than two keys, show Door locked, you need two keys for 2 seconds. Keep the slide height and time as variables. Place the door near the player start, a red key 800 units to its left and a blue key 800 units to its right. Then play test it: touch the door with no keys and check the locked text, collect the red key and check Keys 1/2, collect the blue key and check Keys 2/2, touch the door and check it opens, and fix anything that does not work.

Fíjate en cómo la petición cuenta una pequeña historia. Sin llaves: cerrada. Una llave: sigue cerrada. Dos llaves: abierta. Cada estado tiene su propio texto, y la IA construye y prueba cada uno de ellos. Y fíjate en los números: 400 unidades, 1,5 segundos y 2 segundos. Se convierten en variables que puedes cambiar.

Cómo lo construye la IA

La IA empieza leyendo el proyecto. Encuentra el recuadro Blizzard en el HUD y dónde termina, para que el texto de las llaves pueda ir justo debajo. También revisa una puerta anterior de otro episodio, para reutilizar el material de piedra.

Después aparecen los assets: un enum de color con Red y Blue, dos materiales de llave, el Blueprint de la llave, el Blueprint de la puerta y el pequeño widget de HUD para el texto. Los materiales se aplican en el Construction Script, así que la llave muestra el color correcto en el editor antes de pulsar Play. La puerta consigue su deslizamiento con un Timeline. Cuando tocas una llave, esta se lo comunica a la puerta, se reduce hasta desaparecer en 0,2 segundos y se elimina a sí misma.

El grafo de eventos de BP_TwoKeyDoor con las comprobaciones de las llaves y el Timeline de deslizamiento

El grafo de la puerta: el contacto comprueba las dos llaves y después el Timeline sube la puerta.

La prueba de juego y un bug

Doce comprobaciones, y todas pasan: “Keys 0/2” al principio, el mensaje de puerta cerrada, y luego “Keys 1/2” tras la llave roja y “Keys 2/2” tras la azul. La puerta se desliza, unas 200 unidades a mitad del recorrido, y termina exactamente 400 unidades más arriba.

Entonces la IA mira una captura y encuentra un bug real. El texto de las llaves estaba anclado arriba a la izquierda, así que quedaba medio fuera de la pantalla. Volvió a anclar el texto arriba al centro, lo bajó un poco, por debajo del recuadro Blizzard, y comprobó de nuevo.

El informe

El informe de la IA con la descripción de los Blueprints de la llave y la puerta, la colocación y los puntos con los que podrías tropezar

Qué se construyó, dónde está y a qué prestar atención.

El informe enumera las variables: SlideHeight (400) y SlideTime (1.5) en la puerta, y el color de la llave en cada llave. Te dice a qué prestar atención:

  • Una llave informa a la primera puerta que encuentra en el nivel, así que dos puertas en un mismo nivel requerirían algo más de trabajo.
  • La puerta toma prestado el material de piedra, M_DoorStone, del episodio anterior.
  • Si se recoge una llave mientras se muestra el mensaje de puerta cerrada, el texto mantiene ese mensaje hasta que se agotan sus 2 segundos, y después muestra el recuento.
  • El terreno de esa zona es irregular, así que la puerta queda unas 200 unidades por debajo del punto de partida del jugador y las llaves están a alturas ligeramente distintas.
  • El menú principal del proyecto sigue apareciendo sobre la pantalla al empezar a jugar.

La prueba también teletransportó al jugador a cada lugar. Por eso el vídeo muestra una ejecución real.

Cómo funciona una puerta de dos llaves, en palabras sencillas

Cada llave tiene un color. Cuando el jugador toca una llave, esta le dice a la puerta: soy la roja, o soy la azul. La puerta guarda dos respuestas, tengo la roja y tengo la azul, y actualiza el texto con el recuento de cuántas son verdaderas.

Cuando el jugador toca la puerta, una bifurcación comprueba ambas respuestas a la vez. Si las dos son verdaderas, se reproduce el Timeline, la puerta sube la altura indicada durante el tiempo de deslizamiento y el texto dice “Door opened”. Si no, el texto dice “Door locked” y un temporizador de dos segundos lo retira. Como la altura y el tiempo de deslizamiento son variables, puedes hacer una puerta pesada o una trampilla rápida con dos números.

Ideas para ampliarlo

  • Una tercera llave, una dorada.
  • Un sonido breve al recoger una llave y un sonido grave de piedra cuando se abre la puerta.
  • Llaves que se muestren como iconos en la pantalla, en lugar de texto.

Cuatro consejos para prompts de puertas con llaves

  1. Describe cada estado con su propio texto.
  2. Da la altura y el tiempo de deslizamiento como números.
  3. Indica dónde va cada pieza, en relación con el punto de partida del jugador.
  4. Pide a la IA que pruebe el caso de la puerta cerrada, no solo el de la puerta abierta.

Preguntas frecuentes

¿Cómo hago una puerta que necesita dos llaves en Unreal Engine 5?

Dale un color a cada llave. Cuando se toca una llave, la puerta registra ese color y actualiza un contador. Cuando el jugador toca la puerta, ábrela solo si las dos respuestas son verdaderas.

¿Cómo muestro cuántas llaves tiene el jugador?

Usa un pequeño widget de texto que la puerta actualice tras cada recogida: Keys 0/2, 1/2 y 2/2, y después “Door opened”.

¿Puedo poner dos puertas en un mismo nivel?

No tal como está construido. Una llave informa a la primera puerta que encuentra en el nivel, así que dos puertas requerirían algo más de trabajo.

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 presión en Unreal Engine, la palanca y el puente en Unreal Engine y el prompt de interacción en Unreal Engine.

¿Qué te pareció?

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