El sistema de Blueprints de Unreal Engine ayuda a los desarrolladores crear videojuegos de una forma más sencilla y mucho más visual, añadiendo características a las clases de juego existentes. Los Blueprints son assets dentro del editor de Unreal Engine y se clasifican en nodos interconectados. A través de agregar y conectar nodos se consiguen hacer diferentes elementos para crear juegos complejos. En este articulo te explicaremos cómo funciona y te daremos una serie de tips de blueprints para que programar te resulte más sencillo.
Algunas de sus opciones son crear, implementar o modificar cualquier elemento. Los blueprints crean mallas, materiales o personajes. Además, permiten interactuar con el entornos o los menús y crear cámaras y perspectivas.
Este método no sustituye a la programación C++, sino que es un complemento, ya que los dos sistemas están perfectamente coordinados e integrados entre sí.
Hay diferentes tipos de blueprints.
Conforme el código va creciendo, acabamos teniendo muchas variables. Por ello, es buena idea ir organizándolas en categorías. Existe la posibilidad de ir ocultándolas para que el trabajo resulte más fácil, tanto para nosotros, como para el resto del equipo.
Vamos a nuestras variables, como vemos en la siguiente imagen y seleccionamos una de ellas. En el panel de detalles, veremos una opción llamada Category. Aquí podemos escribir la categoría que queramos, y de esta forma tendremos nuestra categoría creada.
La próxima vez que queramos añadir una variable a esta categoría podemos seleccionarla fácilmente dentro del desplegable. Adicionalmente, podemos crear subcategorías, añadiendo la barra vertical “|” la que está en la combinación de ALT GR + 1.
Creando Category 1 | Sub Category 1. Aquí vemos como queda:
También podemos arrastrar las variables a la categoría deseada para poder ordenarlas de una forma más rápida.
Una de las ventajas fundamentales de Blueprints, es que sirve para prototipar mecánicas que queramos probar de una forma muy sencilla por su rapidez a la hora de programar.
Hay que tener cuidado ya que muchas veces, mientras vamos haciendo pruebas, nuestro código va creciendo horizontalmente sin control. Para evitar problemas sería buena idea que cuando comprobemos las partes que funcionan, las vayamos agrupando en funciones, para poderlas reutilizar más adelante. Esto nos aportará una mayor visibilidad y creará un código más sostenible.
En este ejemplo se ha creado un código que refleja un disparo desde la posición de la cámara hacia delante. Si encuentra algún actor que funciona con físicas le meterá un impulso que lo desplace.
Al comprobar este esquema, ya sabemos que esta parte del código funciona. Es posible que lo usemos más veces a lo largo de nuestra programación. Si más adelante queremos cambiar este código, podemos pasarlo a una función de forma rápida y sencilla, sin tener que copiarlo y pegarlo.
Para hacer esto basta con seleccionar todo el código, darle al botón derecho y seleccionar Collapse To Function. Seleccionaremos el nombre que le queremos dar a la función y listo.
De esta forma quedará mucho más ordenado y es mucho más práctico. Si queremos alterar el funcionamiento del disparo solo tenemos que acudir a esta función.
Un error muy común que se comete cuando se empieza a trabajar con Blueprints es cuando queremos alterar un solo valor y copiamos todos los valores en la estructura. Cuanto más grande sea la estructura, mucho más complicado. Este es un ejemplo de lo que hacen muchas personas:
Si la estructura tiene cientos de valores puede ser una tarea titánica. Para hacer esto de forma fácil y sencilla, tenemos el Set Member.
Utilizando esta herramienta, solo se modificarán los valores que pongamos en el Set Member. Los que no incluyamos seguirán con el valor que ya tenían. Siendo mucho más simple y sencillo de ajustar.
Si os fijais en el ejemplo anterior de la estructura, habéis podido observar que hemos esquivado parte de un nodo para evitar atravesarlo con 2 bolitas.
Esto podemos crearlo si arrastramos la línea, dejándola en un espacio en blanco. Cuando salga el desplegable de Unreal, introducimos “.” y aparecerá la opción Reroute node.
Otra opción fácil, es hacer doble click en medio de una línea y nos la crea instantáneamente.
Y por último, pulsando ALT en una línea de conexión, romperemos este vínculo con cualquier nodo que esté conectado de una forma rápida. Asimismo, cuando pulsamos Ctrl, podemos desconectarla de un nodo y conectarla a otro. Así, evitaremos tener que borrar la conexión y crearla de nuevo.
A la hora de asignar eventos a un dispatcher, también conocido como delegados, si asignamos muchos a la propia conexión del Bind event del propio evento nos creará un spaguetti muy molesto y difícil de seguir como código.
La forma en la que vemos aquí las líneas rojas interferirá en el propio blueprint. Además, nos obligará a tener los eventos cerca de donde iniciamos el Bindeo. Pero hay una forma de solventar esto.
Podemos arrastrar un Create Event ya que este hará una conexión con el Evento que seleccionemos en el desplegable. Esto nos permitirá colocar los eventos o las funciones que más nos convengan.
Hay que tener en cuenta que si creamos el evento, solo nos dejará asignar los mismos parámetros que el Dispatcher. La mejor opción será crear el evento desde el Create Matching Event. Desde aquí será más sencillo ya que nos creará un evento con los inputs que sean puramente necesarios.
Este truco se lo recomendamos a las personas que quieran dejar las líneas perfectamente alineadas. Muchas veces esta manía de dejar las líneas perfectas nos puede hacer perder mucho tiempo reordenado el código. Hay un método simple para hacer esto de manera rápida y sencilla.
Si presionamos la tecla “Q” se creará una unión recta entre todos los nodos que tengamos seleccionados.
Este sistema es extremadamente flexible y poderoso, ya que brinda a los diseñadores la capacidad de utilizar de forma virtual, la gama completa de conceptos y herramientas que hasta ahora, solo estaban disponibles para los programadores. Los Blueprints nos han acercado el mundo de la programación y nos ahorran tanto tiempo como esfuerzo en todas nuestras creaciones.
Con estos tips seguro que programar a través de los blueprints de Unreal Engine te resultará mucho más fácil. Si quieres volverte un experto, en UTHUB tenemos un grado y un postgrado en programación de videojuegos en Unreal Engine. ¡Infórmate!