Depurar un Blueprint – Programación Visual

publicado en: Blueprints, Uncategorized | 0

En esta entrada, nos enfocaremos en como depurar un Blueprint ( Plano ). En primer lugar, el sistema de depuración tiene como objetivo buscar errores y corregirlos. Esto no puede ser de mucha utilidad si usamos un simple plano con unos cuantos nodos, pero esto sería de gran ayuda cuando la cosa se pone complicada. Y hablamos de muchos nodos, muchas conexiones y un error que nos produce malestar general.

Como cualquier otro entorno de desarrollo profesional, los blueprint cuentan con este sistema de depuración, que es muy eficiente. Entonces lo primero que hacemos al usarlo, es entender que se nos ha presentado un Bug.

Depurar un Blueprint en Unreal Engine
Depurando un error en programación

Errores lógicos para depurar en una aplicación

Un Bug, es un fallo en el programa, es decir no se comporta como realmente nosotros esperamos. Estos errores, pueden ser tango lógicos como fallos cruciales en la infraestructura del programa o lenguaje como tal.

Piense en el siguiente ejemplo.

If edadJugador > 18 then
print ( “El jugador es mayor de edad”)
Else
print ( “El juagdor no es mayor de edad”)
end if

En el anterior ejemplo de un programa escrito de manera tradicional, primero que todo se establece que edad tiene un jugador, para mostrar si es mayor de edad. El algoritmo como tal suena como esto, Si edad jugador es mayor que 18 entonces, se muestra el mensaje en pantalla de que si es mayor de edad.

Entonces de acuerdo a su nivel de experiencia, esto puede ser lo mas correcto, pero no lo es del todo. Resulta que si la variable contiene el número 18, el jugador no sería mayor de edad, pero dependiendo el país de donde leas esto, entenderás que si es mayor de edad.

Esto se conoce como error lógico, es decir nosotros hemos implementado de manera incorrecta el algoritmo. En tal caso la computadora hará lo que tiene que hacer, procesara las instrucciones tal como se las hemos indicado, y no nos dará ninguna información.

Para depurar esto, no existen herramientas, solo nuestro sentido intacto de lo que debe suceder, entonces para corregir esto, el código debería quedar de la siguiente manera.

If edadJugador => 18 then
print ( “El jugador es mayor de edad”)
Else
print ( “El jugador no es mayor de edad”)
end if

Aquí, la gran diferencia es que usamos, igual o mayor ( =>), entonces el asunto funciona como realmente se espera, si la variable tiene el número 18, o uno mayor que ese valor, el jugador es mayor de edad.

Errores de compilación para depurar en programación

En este punto, nos encontramos con otro tipo de Bug, que sucede en el momento de compilar un proyecto. Estos errores impiden que el programa se compile, y nos muestra una información relevante en pantalla. Hablando de un lenguaje tradicional escrito, si nos esquivamos en alguna palabra clave del lenguaje, el compilador nos dirá que algo sucede mal, y en algunos casos nos señala el punto del error o muy serano al mismo. Esto nos ayuda a corregirlo.

Depurando un Blueprint

El proceso para depurar un blueprint, implica en mayor parte, mirar como va su flujo de ejecución y de esta manera encontrar errores y corregirlos.

Lo que tenemos que tener  en cuenta al depurar un plano.
Lo que tenemos que tener en cuenta al depurar un plano.

Lo primero a tener en cuenta, es que debemos establecer un filtro en la opción señalada en la imagen ( Debug Filter ), esto es un blueprint que esta puesto en escena.

Visualizando el proceso de depuración

En este punto, al ejecutar el programa y presionar la tecla F, vemos el flujo hacia donde se dirije. Como estamos usando un nodo Flip Flop, que intercambia entre dos estados, esperamos que cuando se presione denuedo el flujo tenga como salida el estado B del nodo.

Creando puntos de interrupción en el blueprint al momento e depurar

Es posible crear un punto de interrupción en los nodos respectivos. Esto implica que cuando el flujo de ejecución del programa llegue a ese nodo, se detiene el programa y nos señala ese punto de interrupción.

Para implementar un punto de interrupción lo hacemos sobre el nodo que desamas de la siguiente manera. Clic derecha y seleccionamos del menú emergente la opción “Breack Point”.

Creando un punto de interrupción en el proceso de depurar un Blueprint
Creando un punto de interrupción en el proceso de depurar un Blueprint

Igualmente, teniendo el nodo seleccionado puede presionar la tecla F9 y el resultado sería el mismo al mostrar sobre el nodo un circulo rojo.

Cuando el flujo, llegue a ese lugar, el programa se detiene y nos señala ese nodo como tal.

Depurando un punto de interrupción
Depurando un punto de interrupción

Cuando el punto de ruptura se lleva acabo, y el programa se detiene, observamos como el flujo de ejecución va la salida pertinente. En este momento en la barra de herramientas, vemos diferentes opciones que nos pueden ayudar a hacer ciertas tareas que brindan soporte a la depuración.

Barra de herramientas al depurar un punto de interrupción
Barra de herramientas al depurar un punto de interrupción

De igual manera puede desactivar estos puntos de interrupción, pero dejando una marca visible que implica que algo queda pendiente en este punto. Esto se hace seleccionado el nodo, clic derecho y en el meno emergente “Disable Break Point”.

Punto de interrupción desactivado
Punto de interrupción desactivado

De igual manera, puede eliminar los puntos de ruptura en ese mismo menú flotante.

Visualizando el contenido de las variables en tiempo de depuración

Otra alternativa que se nos presenta, es poder visualizar el contenido de una variable en el depurador. Para hacerlo, de clic derecho en el pin de salida de una variable, y seleccione la opción “Watch this Value”

Opción Watch this Value al depurar un plano

El resultado será que en el momento de la visualización del script a depurar, veamos que valor tiene la variable como tal.

Visualizando valores de las variables en tiempo de depuración

Evidentemente esto no termina aquí, existen muchas otras opciones para depurar de manera nuestras aplicaciones desarrolladas en Un real Engine. Por ejemplo en el menú Window de la parte superior del bueprint, por encima de la barra de herramientas, encontramos la opción “debug” y “Developers tools”

Herramientas de depuración
Herramientas de depuración

Todo este sistema tiene como objetivo ayudarle cuando se presente un error, y tenga que solucionarlo. En este punto, el buen programador no es el que comente errores, es que que desarrolla la capacidad de solucionarlos en el mejor tiempo posible, esto lo hace eficiente.

0

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *