desarrollo unity 3d videojuegos cipsa
15
marzo
2021

La programación visual es un modelo novedoso de programación que va haciéndose presente cada vez más plataformas y herramientas de desarrollo.

Algunos ejemplos de lenguajes y herramientas que hacen uso de la programación visual en diferentes ámbitos son los siguientes:

  • Aprendizaje temprano de fundamentos de programación: Scratch

Scratch - Unity y la programación visual con Bolt

  • Programación visual asociada a microcontroladores (Arduino/BBC Micro): Scratch, MakeCode, ArduinoBlocks, LabView

Microcontroladores - Unity y la programación visual con BoltMicrocontroladores 2 - Unity y la programación visual con Bolt

  • Herramientas de diseño 3D: Beetle Blocks

Beetle Blocks - Unity y la programación visual con Bolt

Si estás interesado en ampliar tus conocimientos en Unity 3D, en nuestros Cursos de Videojuegos en Barcelona y Bilbao encontrarás todas las herramientas necesarias para desarrollar tus proyectos.

Como puede verse, tanto la programación visual como la edición de flujos de trabajo mediante sistemas de bloques o módulos y líneas de flujo, se aplica cada vez con más frecuencia en diferentes ámbitos. Sin embargo, ¿Cómo se aplica todo esto en el ámbito de la programación con Unity? La respuesta es Bolt.

Programación visual en Unity 3D con Bolt

bolt programación visual

Unity requiere crear pequeños programas para determinar el comportamiento de los elementos que conforman los proyectos tales como el movimiento de cámaras, personajes, enemigos. Estos reciben el nombre de scripts y se codifican empleando el lenguaje de programación C#.

La siguiente el código predeterminado de un script de Unity en C# mostrando los métodos Start() y Update() que se ejecutan al iniciarse el proyecto e iterativamente con cada imagen respectivamente:

Start Update - Unity y la programación visual con Bolt

No obstante, ahora es posible desarrollar estos scripts de manera visual empleando diferentes complementos para Unity disponibles en el Assets Store de Unity. Algunos de ellos son:

  • PlayMaker
  • uNode
  • FlowReactor

Inicialmente Bolt era un complemento de pago, pero a partir de la versión 2020 de Unity, éste fue adquirido e integrado como parte de Unity.

Diagramas de flujos en Unity 3D

Bolt es un complemento integrado en Unity que permite el desarrollo de diagramas de flujo y macros reutilizables en Unity empleando programación visual basada bloques y enlaces. Estos realizan el mismo trabajo que los scripts tradicionales implementados en C# creando diagramas de flujo que determinan la secuencia de operaciones a realizar partiendo de los eventos:

La siguiente imagen muestra un diagrama de flujo predeterminado en Bolt mostrando los bloques eventos Start y Update equivalentes a los métodos Start() y Update() de los scripts:

Diagramas de flujos - Unity y la programación visual con Bolt

Los diferentes bloques que podemos emplear pueden diferenciarse en las siguientes categorías:

  • Control: Permite redirigir el flujo de ejecución en diferentes direcciones en función de una condición o valor:

Ejemplo: Diagrama de flujo que muestra un bloque repetitivo ForLoop que genera una secuencia de ejecuciones, y un bloque condicional Branch que bifurca la ejecución en función de una condición.

Control - Unity y la programación visual con Bolt

  • Valores: Representan valores de entrada para los diagramas de flujo semejantes a los parámetros empleados para configurar los scripts convencionales. Estos pueden representar valores de diferentes tipos tales como números, textos, posiciones, orientaciones, colores…, etc.
  • Acción: Representa acciones tales como orientar o mover un elemento, hasta otras más concretas como aplicar una fuerza, o modificar un material:

Ejemplo: El siguiente diagrama muestra la rotación de un elemento en los ejes X, Y e Z 30 grados por segundo empleando el bloque Rotate:

Bloque rotate - Unity y la programación visual con Bolt

  • Operaciones: Representan operaciones aritméticas y condicionales tales como sumas, restas, comparaciones…, etc.

Ejemplo: El siguiente diagrama muestra la definición de una suma entre dos valores de entrada de tipo decimal empleando el bloque Add.

Bloque add - Unity y la programación visual con Bolt

  • Eventos: Son bloques que inician la ejecución cuando se producen ciertos sucesos como el inicio del juego, el refresco de pantalla, o eventos más puntuales como colisiones o solapamiento entre elementos dentro de la escena.

Ejemplo: Diagrama de flujo que muestra la aplicación de una fuerza sobre un elemento al pulsarse la barra espaciadora o hacer clic con el botón izquierdo del ratón mediante los bloques de eventos OnKeyboardInput y OnMouseDown.

OnKeyboardInput OnMouseDown - Unity y la programación visual con Bolt

Si estás interesado en ampliar tus conocimientos en Programación visual con Unity 3D, en nuestros Cursos de Videojuegos en Barcelona y Bilbao encontrarás todas las herramientas necesarias para desarrollar tus proyectos.

Diagramas de estados en Unity 3D

Bolt permite crear diagramas de estados en los que diferentes módulos creados a partir de diagramas de flujos que implementan una determinada tarea se interconectan mediante transiciones para dar lugar a comportamientos más complejos.

Diagramas de estados - Unity y la programación visual con Bolt

Las transiciones se activan al producirse ciertas circunstancias permitiendo que un elemento se comporte de diferentes modos según ciertas condiciones. Por ejemplo, podemos hacer que un elemento desempeñe un comportamiento de vigilancia y cambie a un comportamiento ofensivo al detectarse la presencia de otros elementos hostiles.

Conclusión

El empleo de Bolt para crear diagramas de flujo para tareas simples y su posterior reutilización permitiendo desarrollar diagramas de estados más complejos permite crear con Unity cualquier tipo de comportamientos sin necesidad de escribir ni una línea de código:

Diagramas de estados 2 - Unity y la programación visual con Bolt

Si estás interesado en ampliar tus conocimientos en Programación visual con Unity 3D, en nuestros Cursos de Videojuegos en Barcelona y Bilbao encontrarás todas las herramientas necesarias para desarrollar tus proyectos.

Author

Ángel Aguinaga

Profesor de Programación y Bases de Datos de la Sede Bilbao. Formador experimentado en áreas como .Net, Java, BB.DD., Python, Desarrollo y programación Web.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Recibe de primero nuestras ofertas de empleo y noticias