Referencias entre Blueprints en Unreal Engine 5

Video thumbnail

Te voy a mostrar cómo puedes referenciar tus Blueprints, lo cual es bastante útil. Por ejemplo, en la siguiente acción, tengo un coleccionable —tal como puedes ver en pantalla— que, por defecto, se encuentra oculto. Para poder visualizarlo, tengo que destruir algunas cajas. Tú defines cuántas quieres colocar y cómo quieres que se comporten, pero esa es la idea general.

Fíjate que, antes de ejecutar el juego, ya estamos viendo el coleccionable en el editor:

Collecionable

Para mi implementación, tengo que destruir una determinada cantidad de cajas. En este caso, he establecido que sean siete. Aquí lo estoy seleccionando, y esta propiedad es la que me indica cuántas cajas deben destruirse, que en este caso es 7. Para hacer el ejemplo más sencillo, voy a colocar solo una.

Fíjate que al comenzar no se visualiza. Una de estas cajas es la que tenemos justo aquí abajo. Si la destruyo, ahí puedes ver que el coleccionable aparece. Y en este punto, claro, ya entra en juego la implementación que tú tengas.

¿Cómo funciona todo esto?

Vamos a comenzar con el Blueprint llamado CrystalHighCollect, que es justamente este que tenemos en la imagen anterior.

Aquí puedes ver que tengo una propiedad llamada Show When Crystal Destroyed. Esta propiedad me indica cuándo se debe mostrar el cristal.

Algo interesante es que estoy aplicando una condición:

Si el valor es cero, significa que quiero mostrarlo siempre, por defecto.
Es decir, no quiero usar la funcionalidad de referencia entre Blueprints.

Si coloco uno o más, el cristal estará oculto hasta que se destruyan suficientes cajas.

Esto lo controlamos desde la lógica que se encuentra en el evento BeginPlay.

Var BP


Aquí es donde entra la verdadera lógica: en los Blueprints referenciados, es decir, en los componentes o actores que tienen una relación directa con este coleccionable.

Is valid Node

Y ahí está el truco: podemos comunicarnos entre Blueprints. Aquí ya depende de ti qué lógica quieres implementar, pero lo esencial es entender cómo se establece esta comunicación.

Para poder referenciar un Blueprint desde el editor, tenemos un pequeño selector (parecido al de color). Le das clic, y ahí seleccionas el Blueprint que quieres referenciar —como se muestra en la imagen inicial.

Conclusiones

Lo que hagas dentro de ese Blueprint ya depende completamente de ti.
En mi caso, lo que hace esta función es incrementar en uno la propiedad CrystalDestroyed, que te mostraba al inicio. Esta propiedad indica cuántos cristales se han destruido, y una vez que se alcanza la cantidad esperada, se muestra el coleccionable en el nivel.

Y eso sería prácticamente todo.

Esta técnica de referenciar Blueprints puede aplicarse a muchísimas cosas. Por ejemplo:

  • Si tienes una puerta y quieres que se abra cuando se cumpla determinada condición.
  • Si el jugador tiene un cierto objeto en el inventario.
  • O si se completa alguna acción en otro Blueprint.

Todo esto se puede lograr perfectamente usando referencias entre Blueprints.

Acepto recibir anuncios de interes sobre este Blog.

Hablaremos sobre las referencias entre Blueprints en UE5 para poder incovar funciones de un BP desde otro BP.

- Andrés Cruz

In english