En la lectura anterior exploramos la importancia de realizar pruebas de funcionamiento del código y pruebas con usuarios para garantizar que un proyecto cumpla con sus objetivos. Sin embargo, las pruebas son solo el primer paso; identificar errores y áreas de mejora es esencial, pero lo más importante es actuar para corregirlos y optimizar las funcionalidades. Aquí es donde entra el proceso de refinamiento.
En esta lectura, nos enfocaremos en cómo detectar y corregir errores en proyectos XR utilizando herramientas como el debugging y el Profiler de Unity. También veremos cómo la comparación entre la Ventana de Escena y la Ventana de Juego puede ser clave para identificar errores visuales y de interacción. Finalmente, utilizaremos un ejemplo práctico del Huerto XR para mostrar cómo se puede aplicar este proceso de refinamiento de manera efectiva.
Detectar errores durante las pruebas técnicas y con usuarios es una tarea fundamental. En la lectura pasada les mostramos dos herramientas de Unity para hacer pruebas. Ahora, vamos a entrar en detalle sobre estas estrategias y herramientas.
El debugging es una técnica fundamental que te permite inspeccionar el comportamiento de tu código en tiempo real, ayudándote a identificar y solucionar errores de manera efectiva. En Unity, el debugging se realiza principalmente a través de Microsoft Visual Studio, el entorno de desarrollo integrado (IDE) que se conecta directamente con Unity.
Edit > Preferences > External Tools
en Unity y selecciona Microsoft Visual Studio en el campo External Script Editor.ControladorCultivos.cs
.Los puntos de interrupción se utilizan, como su nombre lo indica, para detener la ejecución del programa en un punto específico del script, esto puede ser muy útil para identificar componentes críticos dentro de nuestro código, inspeccionar valores o evaluar comportamientos.
En este caso de ejemplo, el punto de interrupción te permitirá pausar la ejecución cada vez que encuentres un cultivo maduro y analizar el estado del programa justo antes de incrementar el contador.
Imagina que, en tu Huerto XR, la UI que muestra la cantidad de tomates maduros no actualiza correctamente. Configurar un punto de interrupción en el método que actualiza el conteo y utilizar las herramientas de debugging puede ayudarnos a verificar el valor actual del contador, el alimento que se está utilizando y qué ruta recorrió el programa para llegar a ese punto en específico.
El Profiler de Unity es una herramienta integrada que te permite analizar el rendimiento del proyecto en tiempo real. Es invaluable para identificar problemas relacionados con el uso de recursos, tiempos de carga, y cuellos de botella gráficos o de interacción.
Window > Analysis > Profiler
para abrir la ventana del Profiler.Retomando el ejemplo del Huerto XR, imagina que la tablet presenta retrasos al contar los tomates maduros. Abre el Profiler y examina la categoría UI para analizar si el problema está relacionado con el procesamiento gráfico de la tablet o con la lógica del código que actualiza los conteos. Ajusta el código o las animaciones según sea necesario.
Unity proporciona dos vistas principales para trabajar con proyectos: la Ventana de Escena y la Ventana de Juego. Compararlas puede ser muy útil para identificar errores relacionados con la disposición de objetos o la interacción.
Caso de uso:
En Unity, organiza tus ventanas de tal forma que puedas ver al mismo tiempo la ventana Escena y la ventana Juego. Posteriormente, ejecuta tu Huerto XR. Al estar en ejecución, puedes hacer cambios que no se van a guardar dentro de tu proyecto final. Puedes aprovechar ambas ventanas para, por ejemplo, cambiar la posición de objetos y evaluar cómo lo verá tu usuario final; o ver si el objeto player está ingresando en una zona de trigger para hacer el seguimiento de una funcionalidad. La ventaja de hacer esto último, es que puedes ver los coliders y como colisionan, o puedes ver que ocurre con los objetos desde sus componentes, como la Transformada.
Una vez identificados los errores, es momento de corregirlos. El refinamiento no solo se trata de resolver bugs, sino también de optimizar el código y mejorar la experiencia del usuario. Aquí hay algunas estrategias clave que puedes tener en cuenta:
Imaginemos que estás probando tu proyecto de Unity y encuentras los siguientes problemas. Antes de leer la solución, piensa qué podrías hacer para identificar y corregir estos errores utilizando las herramientas que te presentamos en esta lectura.
¿Qué podrías hacer?
¿Cómo identificas el problema y planteas formas de resolverlo?
¿Cómo verificarías la posición de los árboles?
Listo! Ya conoces algunas herramientas y métodos para hacer pruebas de tu aplicación, es hora de que hagas el refinamiento necesario, de acuerdo con tus hallazgos y los resultados de tus pruebas. Recuerda que cuando hablamos de "refinamiento", nos referemos a mejorar las funcionalidades o hacer nuevas implementaciones de ser necesario. Por ejemplo, mejorar su aspecto visual y comportamiento, o agregar la detección de otros eventos... Todo esto según sea necesario y detectado en las pruebas.