Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Escuela Técnica Superior de Ingenieŕıa Grado en Ingenieŕıa Informática y Tecnoloǵıas Virtuales TRABAJO FIN DE GRADO Desarrollo de aplicaciones de Realidad Virtual para la evaluación neuropsicológica Meadows: Un entorno de Realidad Virtual para la evaluación de habilidades de orientación topográfica Autor: Carlos Cuevas Baliñas Tutores: Jordi Garćıa Quintanilla Joaqúın A. Ibáñez Alfonso Sevilla, julio de 2022 Agradecimientos Quisiera expresar mi agradecimiento a todos aquellos que me han acompañado durante esta etapa universitaria. En especial, a mis padres, por su apoyo incondicional, paciencia y confianza en mı́ y en mis capacidades. i Resumen Este Trabajo Fin de Grado explica de manera detallada todo el proceso seguido en el desarrollo de la herramienta Meadows , un entorno de realidad virtual para la evaluación neuropsicológica. Concretamente, la finalidad de este entorno es la evalua- ción de las habilidades de orientación topográfica anterógrada. Estas habilidades nos permiten crear mapas mentales de los entornos que nos rodean y poder navegar por ellos. Este TFG es una continuación del proyecto “Evaluación de las habilidades de orientación topográfica anterógrada mediante realidad virtual”, de Pablo Rodŕıguez Prieto, en el cual se diseñó una prueba para evaluar estas habilidades mediante realidad virtual. El presente proyecto tiene como objetivo la creación de un entorno virtual donde realizar la prueba de evaluación. El entorno debe poder visualizarse a través de un dispositivo de realidad virtual y contar con el mayor grado de realismo posible, resul- tando ser una experiencia inmersiva a nivel visual y auditivo. Además de registrar los resultados de la persona que realice la prueba. Tras un análisis previo del problema y haber realizado un diseño de la solución, se ha implementado una aplicación completa utilizando el motor de creación de vi- deojuegos Unity. Esta primera versión resulta ser una experiencia inmersiva dentro de un entorno virtual realista, cuyo funcionamiento permite la realización completa de la prueba de evaluación neuropsicológica, realizando un registro de la actividad para posterior análisis. Palabras clave: Realidad Virtual, Unity, Evaluación neuropsicológica, Orienta- ción topográfica ii Abstract This Final Degree Project explains in detail the entire process followed in the development of Meadows , a virtual reality environment for neuropsychological eva- luation. Specifically, the purpose of this environment is the evaluation of anterograde topographic orientation skills. These abilities allow us to create mental maps of the environments around us and to be able to navigate through them. This project is a continuation of the project “Evaluation of anterograde topo- graphic orientation skills through virtual reality”, by Pablo Rodŕıguez Prieto, in which a test to evaluate these skills through virtual reality was designed. The aim of this project is to create a virtual environment where the evaluation test can be performed. The environment must be able to be visualized through a virtual reality device and have the highest degree of realism possible, resulting in an immersive experience at a visual and auditory level. In addition, it has to be able to register the results of the person who completes the test. After a previous analysis of the problem and having made a design of the so- lution, a complete application has been implemented using the Unity video game creation engine. This first version turns out to be an immersive experience within a realistic virtual environment, whose operation allows the complete performance of the neuropsychological evaluation test, making a record of the activity for later analysis. Keywords: Virtual Reality, Unity, Neuropsychological evaluation, Topographic orientation iii Glosario de Términos VR = Virtual Reality (Realidad Virtual) AR = Augmented Reality (Realidad Aumentada) MR = Mixed Reality (Realidad Mixta) VE = Virtual Environments (Entornos Virtuales) PDS = Product Design Specification LTS = Long Term Support GUI = Graphic User Interface IDE = Integrated Development Environment (Entorno de desarrollo integrado) NPC = Non Playable Character iv Índice 1. Introducción 1 1.1. Realidad Virtual y Realidad Aumentada . . . . . . . . . . . . . . . . . 1 1.2. Algunas aplicaciones de la Realidad Virtual . . . . . . . . . . . . . . . 3 1.2.1. Educación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.2. Medicina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.3. Militar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.4. Ingenieŕıa y Arquitectura . . . . . . . . . . . . . . . . . . . . . . 5 1.3. Psicoloǵıa y Realidad Virtual . . . . . . . . . . . . . . . . . . . . . . . 6 1.3.1. Evaluación Neuropsicológica mediante VR . . . . . . . . . . . . 7 1.4. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.4.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.4.2. Objetivos espećıficos . . . . . . . . . . . . . . . . . . . . . . . . 9 2. Análisis 11 2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2. Definición del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.1. Problema Real . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.2. Problema Técnico - Product Design Specification . . . . . . . . 11 2.3. Análisis de Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.1. Requisitos Generales . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.2. Requisitos de Información . . . . . . . . . . . . . . . . . . . . . 16 2.3.3. Requisitos Funcionales . . . . . . . . . . . . . . . . . . . . . . . 17 2.3.4. Requisitos No Funcionales . . . . . . . . . . . . . . . . . . . . . 17 2.3.5. Matriz de Trazabilidad de Requisitos . . . . . . . . . . . . . . . 17 2.4. Planificación y Seguimiento . . . . . . . . . . . . . . . . . . . . . . . . 19 2.4.1. Dispositivo VR . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.4.2. Herramientas Software . . . . . . . . . . . . . . . . . . . . . . . 20 3. Diseño 23 3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2. Diseño del entorno virtual . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2.1. Estructura del “juego” . . . . . . . . . . . . . . . . . . . . . . . 23 3.2.2. Diseño y estructura del mapa . . . . . . . . . . . . . . . . . . . 25 3.2.3. Elementos de inmersión . . . . . . . . . . . . . . . . . . . . . . 30 3.2.4. Fases de la prueba de evaluación . . . . . . . . . . . . . . . . . . 30 3.2.5. Registro de actividad . . . . . . . . . . . . . . . . . . . . . . . . 32 3.2.6. Mecánicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.3. Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.3.1. Diagrama de Arquitectura . . . . . . . . . . . . . . . . . . . . . 33 3.3.2. Clases y Diagrama de Clases . . . . . . . . . . . . . . . . . . . . 34 4. Implementación 39 4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 v 4.2. Creación del VE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.2.1. Creación del mapa con Unity Terrain . . . . . . . . . . . . . . . 39 4.3. Integración con VR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.4. Implementación de elementos inmersivos . . . . . . . . . . . . . . . . . 44 4.4.1. Interacción con objetos y desplazamiento . . . . . . . . . . . . . 44 4.4.2. Sonidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.4.3. Elementos extra . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.5. Implementación de funcionalidades . . . . . . . . . . . . . . . . . . . . 48 4.5.1. Implementación de la Fase de Tour . . . . . . . . . . . . . . . . 48 4.5.2.Implementación de la Fase de Exploración . . . . . . . . . . . . 49 4.5.3. Implementación de la Fase de Imaginación . . . . . . . . . . . . 52 4.5.4. Implementación de la Fase de Movimiento . . . . . . . . . . . . 55 4.5.5. Exportación de datos en csv . . . . . . . . . . . . . . . . . . . . 57 4.5.6. Otros elementos . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.6. Resultado final del entorno de Meadows . . . . . . . . . . . . . . . . . 61 5. Conclusiones 65 5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.2. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.3. Propuestas de futuras ampliaciones . . . . . . . . . . . . . . . . . . . . 67 6. Bibliograf́ıa 69 A. Anexos 73 A.1. Anexo 1: Reuniones de seguimiento del TFG . . . . . . . . . . . . . . . 73 A.2. Anexo 2: Mapa conceptual de Meadows . . . . . . . . . . . . . . . . . . 75 A.3. Anexo 3: Sound Draft . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 A.4. Anexo 4: Hoja de registro . . . . . . . . . . . . . . . . . . . . . . . . . 79 A.5. Anexo 5: Listado de Assets de Unity utilizados . . . . . . . . . . . . . . 81 A.6. Anexo 6: Manual de Usuario . . . . . . . . . . . . . . . . . . . . . . . . 85 vi Índice de figuras 1.1. Relación entre Realidad Virtual y Realidad Aumentada según un conti- nuo entre la realidad y lo virtual. . . . . . . . . . . . . . . . . . . . . . 2 1.2. Previsión del número de usuarios de realidad virtual y/o aumentada a nivel mundial en 2025, según ámbito de aplicación. . . . . . . . . . . . 3 1.3. Versión anterior del entorno virtual Meadows utilizado para la evaluación neuropsicológica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.1. Dispositivo VR utilizado en este TFG - Gafas Oculus Quest 2, Meta. . 20 2.2. Logo de Unity, Unity Technologies. . . . . . . . . . . . . . . . . . . . . 21 3.1. Esquema del mapa de navegación de la prueba VR. . . . . . . . . . . . 24 3.2. Representación del mapa de Meadows como un grafo. . . . . . . . . . . 26 3.3. Diagrama de Arquitectura. . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.4. Diagrama de Clases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.1. Modelado del mapa con la herramienta Unity Terrain antes de incorporar texturas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.2. Modelado del mapa con la herramienta Unity Terrain una vez incorpo- radas las texturas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.3. Ejemplo del resultado final del aspecto de Meadows I. . . . . . . . . . . 42 4.4. Ejemplo del resultado final del aspecto de Meadows II. . . . . . . . . . 43 4.5. Ejemplo del resultado final del aspecto de Meadows III. . . . . . . . . . 43 4.6. Ejemplo del resultado final del aspecto de Meadows IV. . . . . . . . . . 43 4.7. Aspecto visual de Meadows sin post-procesado. . . . . . . . . . . . . . 47 4.8. Aspecto visual de Meadows con post-procesado. . . . . . . . . . . . . . 47 4.9. Función Update de la Fase de Exploración. . . . . . . . . . . . . . . . . 50 4.10. Diagrama de Flujo de la Fase de Exploración. . . . . . . . . . . . . . . 51 4.11. Algunas funciones de la Fase de Imaginación. . . . . . . . . . . . . . . . 53 4.12. Aspecto visual de la Fase de Imaginación. . . . . . . . . . . . . . . . . 53 4.13. Diagrama de Flujo de la Fase de Imaginación. . . . . . . . . . . . . . . 54 4.14. Diagrama de Flujo de la Fase de Movimiento. . . . . . . . . . . . . . . 56 4.15. Función para exportar datos registrados a un fichero CSV. . . . . . . . 57 4.16. Ejemplo de datos registrados en la fase de Exploración. . . . . . . . . . 58 4.17. Ejemplo de datos registrados en la fase de Imaginación. . . . . . . . . . 59 4.18. Ejemplo de datos registrados en la fase de Movimiento. . . . . . . . . . 59 4.19. Implementación del Menú de Inicio. . . . . . . . . . . . . . . . . . . . . 61 4.20. Aspecto visual final de Meadows I. . . . . . . . . . . . . . . . . . . . . 62 4.21. Aspecto visual final de Meadows II. . . . . . . . . . . . . . . . . . . . . 62 4.22. Aspecto visual final de Meadows III. . . . . . . . . . . . . . . . . . . . 62 4.23. Aspecto visual final de Meadows IV. . . . . . . . . . . . . . . . . . . . 63 4.24. Aspecto visual final de Meadows V. . . . . . . . . . . . . . . . . . . . . 63 4.25. Aspecto visual final de Meadows VI. . . . . . . . . . . . . . . . . . . . 63 vii Índice de cuadros 2.1. Matriz de Trazabilidad Requisitos Generales - Requisitos de Información. 18 2.2. Matriz de Trazabilidad Requisitos Generales - Requisitos Funcionales. . 18 2.3. Matriz de Trazabilidad Requisitos Generales - Requisitos No Funcionales. 18 3.1. Tabla con la lista de lugares del mapa y sus respectivos objetos. . . . . 26 3.2. Relación entre los vértices del grafo y ubicaciones del mapa de Meadows. 27 3.3. Relación entre las aristas del grafo y caminos entre las ubicaciones del mapa de Meadows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.4. Caminos más rápidos desde la ubicación Inicio. . . . . . . . . . . . . . 27 3.5. Caminos más rápidos desde la ubicación Campamento. . . . . . . . . . 28 3.6. Caminos más rápidos desde la ubicación Encrucijada. . . . . . . . . . . 28 3.7. Caminos más rápidos desde la ubicación Templo. . . . . . . . . . . . . 28 3.8. Caminos más rápidos desde la ubicación Cementerio. . . . . . . . . . . 28 3.9. Caminos más rápidos desde la ubicación Mirador. . . . . . . . . . . . . 29 3.10. Caminos más rápidos desde la ubicación Terraza. . . . . . . . . . . . . 29 3.11. Caminos más rápidos desde la ubicación Puerto Zepeĺın. . . . . . . . . 29 3.12. Definición de la clase Item. . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.13. Definición de la clase Ubicacion. . . . . . . . . . . . . . . . . . . . . . . 35 3.14. Definición de la clase RespuestaImaginacion. . . . . . . . . . . . . . . . 35 3.15. Definición de la clase PreguntaImaginacion. . . . . . . . . . . . . . . . 35 3.16. Definición de la clase Mision. . . . . . . . . . . . . . . . . . . . . . . . 35 3.17. Definición de la clase MisionExploracion. . . . . . . . . . . . . . . . . . 36 3.18. Definición de la clase MisionImaginacion. . . . . . . . . . . . . . . . . . 36 3.19. Definición de la clase MisionMovimiento. . . . . . . . . . . . . . . . . . 37 4.1. Tabla con los cambios de ubicaciones y objetos en la nueva versión del mapa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.2. Tabla con la lista de lugares del mapa y sus respectivos objetos en la versión actualizada de Meadows. . . . . . . . . . . . . . . . . . . . . . . 42 viii 1. Introducción 1.1. Realidad Virtual y Realidad Aumentada En los últimos años, las tecnoloǵıas de Realidad Virtual y Realidad Aumentada han experimentado un importante crecimiento en numerosos sectores y ámbitos de apli- cación. A modo de ejemplo, los dispositivos VR vieron un aumento de su popularidad a nivel mundial, vendiendo en el segundo trimestre de 2016 una cantidad de 280.000 unidades de cascos y gafas VR [1]. El crecimiento de la Realidad Aumentada se estable- ció principalmente a través de aplicaciones y juegos para dispositivos móviles mientras que la Realidad Virtual fue gracias a la industria del videojuego y el lanzamiento de dispositivos más accesibles para la población [2]. Si bien es cierto que actualmente la principal oferta de la VR proviene del sector de los videojuegos, la variedad de propuestas de experiencias inmersivas y los distintos dispositivos VR han conseguido un significativo aumento en su popularidad. Uno de los ejemplos más conocidos del auge de estas tecnoloǵıas fue el fenómeno de Pokémon Go, un juego para dispositivos móviles de Realidad Aumentada basada en geolocalización que se lanzó en 2016 y que posiblemente fue el primer acercamiento para muchos a la Realidad Aumentada. De este modo la aplicación Pokémon Go consiguióque miles de personas pasearan por sus calles “capturando Pokémon” con la ayuda de sus propios móviles [3]. Como muestran los datos, podemos observar que se trata de un mercado rentable, y que la industria VR está experimentando un crecimiento acelerado con predicciones de que su mercado global aumente a 12 billones de dólares para el año 2024 [4]. Otra evidencia del crecimiento de este sector lo encontramos en la compra de la compañ́ıa de dispositivos de realidad virtual, Oculus VR, por parte de Meta (conocida anteriormente como Facebook) en 2014 [5]. Actualmente la empresa está apostando por el concepto del Metaverso, un mundo virtual que busca ser totalmente inmersivo y funcionar a modo de realidad alternativa, donde sus usuarios se conecten mediante el uso de dispositivos VR o AR. La idea de este mundo tridimensional es que sus participantes puedan relacionarse, compartir conocimientos y entretenimiento desde una nueva perspectiva [6]. Ahora bien, ¿qué son la Realidad Virtual y la Realidad Aumentada? VR y AR no son el mismo concepto y cuentan con diferencias significativas, aunque están rela- cionadas. Por una parte, el concepto de Realidad Virtual (Virtual Reality en inglés) puede definirse como aquellos entornos tridimensionales creados con herramientas in- formáticas, visualizados por el usuario mediante algún tipo de dispositivo tecnológico, como casco o gafas de Realidad Virtual y que generan en este la sensación de estar inmersos en ese mundo virtual y ofreciendo la capacidad de interactuar con el mismo. Generalmente estos entornos transmiten los sentidos de la vista y el óıdo, pero ya exis- ten algunos casos en los que se incorporan dispositivos hápticos para añadir el sentido del tacto a la experiencia inmersiva [1, 7]. 1 Algunas caracteŕısticas importantes de la Realidad Virtual son los conceptos de Inmersión, Percepción y Telepresencia. La inmersión hace referencia a la sensación de sentirse dentro del entorno virtual, creer estar en ese entorno de verdad. El con- cepto de percepción hace referencia a la consciencia a través de los sentidos de los elementos del VE que rodean al usuario. Por último, el concepto de telepresencia , explica la capacidad de sentirse presente en un lugar, en este caso el VE, encontrándose f́ısicamente en otro [7, 8]. Por otro lado, el concepto de Realidad Aumentada (Augmented Reality en inglés) puede describirse como una combinación entre el mundo virtual y el mundo real. Aqúı, el usuario es capaz de percibir el entorno real a través de un dispositivo tecnológico, complementado con objetos virtuales e información gráfica. Estos objetos virtuales tridimensionales se integran en tiempo real con la visión virtual del mundo real [9]. En un punto intermedio entre estas dos tecnoloǵıas se sitúa la Realidad Mixta (Mixed Reality en inglés). Existen discrepancias a la hora de definir esta tecnoloǵıa, algunos expertos defienden que es una tecnoloǵıa AR a la que se le añade la inmersión ofrecida por VR, otros, que es lo mismo que AR y otros que es parecida, pero ofrece más caracteŕısticas [10]. Si es cierto que podŕıa explicarse como una mezcla entre VR y AR, donde se incorpora la interactividad de la realidad virtual con la capacidad f́ısica de la realidad aumentada. En la siguiente ilustración se puede ver una comparativa sobre cómo se posicionan VR, AR y MR en relación a la realidad [2]: Figura 1.1: Relación entre Realidad Virtual y Realidad Aumentada según un continuo entre la realidad y lo virtual. 2 1.2. Algunas aplicaciones de la Realidad Virtual Son numerosas las aplicaciones y usos que se le puede dar a las tecnoloǵıas VR. Si bien es cierto que la mayor oferta proviene del sector de los videojuegos. Muchos son los estudios que ofrecen aventuras inmersivas para jugadores que buscan nuevas mecánicas de juego y experiencias. Algunos ejemplos de los videojuegos más conocidos de esta plataforma son el Beat Saber, Superhot, Half Life Alyx o Resident Evil 4 VR, siendo estos dos últimos juegos mencionados, los ganadores de The Game Awards al mejor juego de Realidad Virtual en 2020 [11] y 2021 [12] respectivamente. No obstante, este tipo de tecnoloǵıas ofrece un amplio abanico de posibilidades más allá de los videojuegos. En este sentido, existen numerosos sectores que hacen uso de estas tecnoloǵıas en distinto tipo de aplicaciones cuyo propósito no es el entreteni- miento per se. En la siguiente ilustración se puede observar una predicción del número de usuarios según ámbito de aplicación para el año 2025 [13]. Figura 1.2: Previsión del número de usuarios de realidad virtual y/o aumentada a nivel mundial en 2025, según ámbito de aplicación. 3 1.2.1. Educación La Educación es uno de los ámbitos con mayor capacidad de aplicación de las tecnoloǵıas de VR y AR, por su capacidad de aportar soluciones a problemas concre- tos, como la dificultad que pueden encontrar algunos alumnos para comprender algunos contenidos, especialmente de las asignaturas de ciencias, que cuentan con una compleji- dad técnica mayor y conceptos abstractos [14]. Asimismo, las tecnoloǵıas virtuales han demostrado ser herramientas eficaces para afrontar la falta de motivación y atención que generan los métodos clásicos de enseñanza [15]. Además, las nuevas metodoloǵıas de innovación docente incorporan, cada vez más, los sistemas de aprendizaje basado en juegos y el concepto de gamificación. En los entornos de enseñanza-aprendizaje resultan muy estimulantes para el alumno los videojuegos, debido al carácter interactivo y dinámico que tienen [15]. Es un hecho contrastado que el uso de tecnoloǵıas VR han resultado ser positivas en el ámbito educativo, facilitando el proceso de aprendizaje por parte del alumno e incrementando su capacidad de memoria, además de estimular al alumno para sentirse motivado y alentar su trabajo individual [14, 16]. 1.2.2. Medicina El campo de la medicina es otro en el que se han incorporado este tipo de dipo- sitivos y programas. La potencia de las herramientas software actuales permiten crear imágenes y simulaciones realistas de la anatomı́a del cuerpo humano, el uso de entornos virtuales junto a estos objetos han sido una forma innovadora para el entrenamiento de equipos médicos [17]. En la rama de la ciruǵıa plástica, esto se complementa muy bien cuando se incor- poran dispositivos hápticos, generando aśı una experiencia más real ya que se transmi- ten las sensaciones del tacto por las fuerzas devueltas por el dispositivo háptico [18]. De esto modo, los profesionales y alumnos son capaces de practicar y aprender dentro de un entorno seguro y controlado, sin que existan riesgos reales [17]. 4 1.2.3. Militar El sector militar fue de los primeros en utilizar tecnoloǵıas de realidad virtual y simulación en el entrenamiento de sus tropas y rehabilitación. Por una parte, la precisión de los motores de simulación actuales, ofrecen imáge- nes con un alto grado de realismo. Los soldados pueden recibir entrenamiento en la manipulación de veh́ıculos aéreos y terrestres, al igual que para el ejercicio de estra- tegias militares en campos de batalla simulados. De esta forma, se puede realizar un entrenamiento menos costoso y en un entorno seguro [19]. Por otra parte, también se ha utilizado con objetivos de rehabilitación psicológica (más adelante, en el apartado 1.3. se profundizará en las aplicaciones en el campo de la Psicoloǵıa), sobretodo para casos relacionados con la gestión del estrés y trastornos psicológicos como el Trastorno de Estrés Postraumático (PTSD en inglés), por ejemplo, con veteranos de la guerra de Vietnam [20]. 1.2.4. Ingenieŕıa y Arquitectura La fase de diseño de producto es una parte fundamental en la ingenieŕıa. Un diseño estructurado, minucioso y consistente repercutirá en la calidad final del producto, aun aśı, siempre existen factores no controlables o errores que se pueden cometer. Con esta premisa,una de las ventajas que ha aportado la tecnoloǵıa VR a empresas de ingenieŕıa es la mejora en el desarrollo de productos y reducción de tiempo y costes de producción. El uso de VE con prototipos virtuales, que permiten la interactividad y cuentan con un grado de realismo alto, facilitan la detección de errores antes de llevar a producción los diseños. De esta manera se pueden testear distintos componentes ahorrando tiempo y presupuesto [21, 22]. En arquitectura, su uso mantiene la idea que se ha mencionado del diseño, en este caso de infraestructuras y/o edificaciones. La calidad de imagen de los softwares actua- les ofrece la posibilidad de mostrar conceptos, maquetas y diseños con gran realismo. Permitiendo, además, la exploración e interacción dentro de este entorno tridimensional [23]. 5 1.3. Psicoloǵıa y Realidad Virtual En la sección anterior se han explicado, de manera general, algunos de los distintos ámbitos de aplicación que tiene la Realidad Virtual para demostrar la capacidad de adaptación y versatilidad que tiene esta tecnoloǵıa. Otro sector, dentro del ámbito de la salud (previamente se comentó el uso de VR en medicina en el apartado 1.2.2), donde se están utilizando cada vez más distintas aplicaciones VR es el campo de la Psicoloǵıa. En concreto para este TFG, el ámbito de la Psicoloǵıa es de gran importancia y pone contexto al desarrollo del proyecto. El uso de aplicaciones VR ha demostrado ser una herramienta eficaz en psi- coloǵıa cĺınica. Uno de los usos predominantes es en el tratamiento de fobias [24]. Existen aplicaciones enfocadas en distintos tipos de fobias, por ejemplo, el miedo a las alturas, el miedo a volar en avión, fobia a las arañas o claustrofobia [25]. El uso de VE interactivos no es solamente exclusivo para el tratamiento de fobias; también existen herramientas para entrenar las dificultades en interacciones sociales o hablar en público, detectar en niños déficits de atención e hiperactividad o rehabilitación para pacientes con demencia, esquizofrenia o con trastornos de estrés postraumático. Pero ¿por qué es eficaz la Realidad Virtual en la psicoloǵıa? Para responder a esta pregunta, primero es conveniente recordar las caracteŕısticas de un VE, que se mencionaron al explicar el concepto de VR en el apartado 1.1: la inmersión, aśı como el hecho de aportar la sensación de encontrarse dentro de un mundo que no es el real, pero percibiendo todos sus elementos como si lo fuera. En el caso de las fobias, que son un tipo de trastorno de ansiedad en el cual la persona siente un temor o miedo irracional hacia objetos o situaciones concretas, su tratamiento se basa en la exposición, el acercamiento a aquellos est́ımulos que generan miedo. Con el objetivo de que en cada acercamiento se disminuya la ansiedad de manera progresiva. En ocasiones, esta exposición puede resultar dif́ıcil o potencialmente peligrosa [25]. Con la realidad virtual, sin embargo, se puede llevar al paciente a un entorno que simule las caracteŕısticas reales de aquellos elementos o situaciones que le causan malestar, mientras se tratan dichas fobias en un entorno seguro. En este sentido, se ha comprobado que induce en la persona respuestas emocionales semejantes a las que se tendŕıan en la realidad [25]. La exposición mediante VR resulta ser una forma de realizar ese acercamiento en un VE controlado y ajustado a las necesidades del paciente [24]. Por ejemplo, al igual que en un videojuego existen niveles de dificultad, se puede ajustar la prueba e incorporar distintos niveles de intensidad del est́ımulo. Adicionalmente, existe la sensación de seguridad, ya que no deja de ser una simulación y el dispositivo se puede desconectar en cualquier instante si fuese necesario. 6 1.3.1. Evaluación Neuropsicológica mediante VR Explicar el concepto de Realidad Virtual es necesario para comprender las carac- teŕısticas que ofrecen estos entornos. De la misma manera, resulta apropiado comentar sus distintos ámbitos de aplicación y justificar que no es una tecnoloǵıa que se usa ex- clusivamente en el sector de los videojuegos, sino que cuenta con una gran variedad de usos posibles, especialmente su aplicación en el campo de la psicoloǵıa, por la cantidad de beneficios y ventajas que ha demostrado aportar. Concretamente, en esta sección se profundizará en sus aplicaciones en neuropsicoloǵıa, ya que es en este contexto donde se desarrolla este TFG. La idea fundamental de este proyecto es el desarrollo de un entorno virtual de actividades para la evaluación neuropsicológica. Este TFG es una continuación del Trabajo Fin de Máster de Pablo Rodŕıguez Prieto, “Evaluación de las habilidades de orientación topográfica anterógrada mediante realidad virtual” [26], que forma parte del proyecto “Evaluación de las habilidades cognitivas de orientación topográfica mediante realidad virtual”, que es una adaptación a VE del “Estudio del funcionamiento cogni- tivo topográfico para la navegación humana” (Ibáñez, A., y Maćıas, E. (2006). Estudio del funcionamiento cognitivo topográfico para la navegación humana. TOP.NAVI. In Manual de administración.). La aportación de este TFG al proyecto se da desde la inge- nieŕıa informática ofreciendo un desarrollo de una nueva aplicación, pero es conveniente dar contexto a la aplicación del entorno virtual creado a la neuropsicoloǵıa. El objetivo buscado en este estudio es la evaluación de las habilidades de orientación topográfica, estas permiten al ser humano crear mapas mentales de los entornos y poder recorrerlos. Estos mapas mentales pueden ser nuevos, haŕıan referen- cia a la memoria topográfica anterógrada, o de entornos familiares para la persona, referentes a la memoria topográfica retrógrada [26]. La navegación y memoria espacial - capacidades con las cuales se puede estimar la posición de uno mismo en un entorno - sufren un deterioro al envejecer [27]. El método tradicional de evaluar estos deterioros o problemas han consistido básicamente, hasta la fecha, en evaluaciones neuropsicológicas en lápiz y papel. El inconveniente de este tipo de prueba es que no es capaz de reproducir de manera adecuada la complejidad de situaciones reales. Como se mencionó anteriormente, con VR se puede crear un entorno tridimensio- nal inmersivo e interactivo que puede reproducir situaciones de la vida real, además de poder controlar la aparición de los distintos elementos o est́ımulos. Los métodos VR ofrecen una mayor validez ecológica que las pruebas tradicionales, ya que se ade- cuan mejor a situaciones cotidianas. Adicionalmente, la versatilidad en la programación permite realizar registros de datos para ser analizados posteriormente [28]. 7 Para el estudio y evaluación de las habilidades de orientación topográfica an- terógrada, los investigadores del departamento de psicoloǵıa utilizaban un VE creado con la herramienta Microsoft Maquette, sin embargo, esta herramienta ya no se encuen- tra activa y no se puede acceder al mapa original, por lo que el equipo se planteó la necesidad de diseñar una aplicación propia, con un software libre, para la experimen- tación e investigación en la universidad. En la figura 1.3 se expone el aspecto visual del entorno virtual creado para el TFM de Pablo Rodŕıguez Prieto. La prueba estaba dividida en varias partes: En primer lugar, los participantes ob- servaban un v́ıdeo explicativo del entorno donde se mostraban lugares y objetos que deb́ıan ser recordados. Tras esto, al participante se le colocaban las gafas VR y teńıa que realizar el mismo recorrido mostrado en el v́ıdeo, encontrando y nombrando las ubicaciones y objetos. En la siguiente fase, se les sacaba del entorno virtual y res- pond́ıan una serie de preguntas, las cuales requeŕıan utilizar la memoria topográfica e indicar la ubicación de distintos objetos. Una parte de las preguntas eran de localiza- ción egocéntrica (uno mismo como el punto de referencia) y elresto de localización alocéntrica (tomando otro punto de referencia). Finalmente, los participantes volv́ıan al entorno y realizaban una serie de misiones en las que teńıan que buscar los obje- tos indicados siguiendo el camino más rápido, con una particularidad, y es que en algunos momentos de la prueba, se produćıa una modificación en el mapa y los parti- cipantes teńıan que usar la información que conoćıan del mapa para buscar una ruta alternativa y que fuera la más rápida. Esta prueba requiere de la supervisión del profesional, ya que todos los datos de la actividad del paciente se registran a mano en una hoja de registro. A ráız de esto, surge la propuesta de desarrollar una nueva herramienta para la evaluación neuropsicológica, que sirva como mejora a la versión existente y que cuente con un mayor grado de validez ecológica. Dando paso de esta forma, al desarrollo de este TFG. Figura 1.3: Versión anterior del entorno virtual Meadows utilizado para la evaluación neuropsicológica. 8 1.4. Objetivos Tras haber explicado qué es la tecnoloǵıa VR, sus aplicaciones y haber expuesto el contexto y los antecedentes de este TFG se manifiesta la necesidad de desarrollar una aplicación para el ejercicio de los investigadores Joaqúın Ibáñez Alfonso y Pablo Rodŕıguez Prieto, del departamento de psicoloǵıa de la Universidad Loyola Andalućıa. El propósito de este TFG es la implementación de una nueva prueba de evaluación que facilite el registro de la actividad del paciente y que cuente con un alto grado de validez ecológica. Se definen los siguientes objetivos: 1.4.1. Objetivo general Diseñar e implementar en Unity un entorno de Realidad Virtual funcional que realice un registro de actividad para la evaluación neuropsicológica de las habili- dades de orientación topográfica anterógrada. 1.4.2. Objetivos espećıficos Ampliar los conocimientos y adquirir destreza en el uso y posibilidades del motor de creación de videojuegos Unity 3D. Desarrollar una aplicación que sea compatible y soporte el uso de tecnoloǵıas VR. Crear un entorno virtual que se ajuste al esquema proporcionado por el departa- mento de psicoloǵıa y tenga el mayor grado de realismo posible. Hacer posible la interacción con el mundo virtual creado mediante gafas de Reali- dad Virtual. Crear una experiencia VR inmersiva y envolvente tanto a nivel visual como au- ditivo. Implementar en Unity todas las fases de la prueba de evaluación original. Implementar dinámicas de gamificación en el funcionamiento de la aplicación, incorporando los elementos caracteŕısticos de videojuegos: Mecánicas, game loop, menú, misiones, niveles y puntuación. Realizar un registro de la actividad de la persona que realice la prueba de eva- luación VR y exportar un archivo con los resultados. 9 2. Análisis 2.1. Introducción En este segundo caṕıtulo se explicará de manera detallada todo el estudio previo de la aplicación solicitada. Se describirá de manera técnica el proyecto a desarrollar, se enumerarán los requisitos que debe cumplir la aplicación y finalmente se hablará de la planificación seguida de cara al cumplimiento de los objetivos definidos en el apartado anterior y las herramientas que se utilizarán en el proceso de desarrollo. 2.2. Definición del Problema 2.2.1. Problema Real El programa que se solicita es un entorno de Realidad Virtual que funcione como prueba de evaluación neuropsicológica. Se busca un diseño de un VE que se ajuste a la estructura del mapa utilizado en la prueba actual y que cuente con el mayor grado de realismo posible. La prueba debe contar con tareas para la evaluación de las habilidades de orientación topográfica anterógrada (aprender a desplazarse por entornos nuevos) y el programa debe realizar un registro de la actividad del sujeto al hacer la prueba. Esta prueba se puede plantear como un videojuego en cuanto a estructura y funcionamiento se refieren: Pantalla de inicio, escenarios, niveles y misiones. La prueba final en el entorno deberá ser una experiencia inmersiva tanto a nivel visual como auditivo. 2.2.2. Problema Técnico - Product Design Specification Siguiendo la metodoloǵıa PDS , explicada en la asignatura de Ingenieŕıa del Software, se define el problema desde la perspectiva del desarrollador, con el objetivo de definir de manera técnica y estructurada las especificaciones de la aplicación a desarrollar. Funcionamiento Se definen las funcionalidades que integrará la prueba de evaluación en VR: En primer lugar, siguiendo la estructura general que tiene cualquier videojuego actual y tomando algunos de sus elementos, la aplicación de Realidad Virtual contará con una GUI a modo de menú de inicio, pensado para que el investigador elija lo que se va a hacer (Iniciar prueba, elegir nivel y/o dificultad o salir de la aplicación). 11 Al seleccionar el inicio de la prueba, antes del comienzo de esta, se recogerán datos del participante o paciente, de cara al posterior registro de actividad. Tras esto, vendŕıa la ejecución de la prueba, en la que el participante mediante el dispositivo VR explorará el entorno virtual y realizará las misiones mostradas en cada fase de la prueba. Finalmente, la actividad del “jugador”quedaŕıa registrada y se exportará a un archivo para posterior análisis por parte del psicólogo. Entorno Se determinan los aspectos externos ligados al desarrollo del proyecto: Entorno Software: El desarrollo de la prueba se llevará a cabo utilizando el motor f́ısico para la creación de videojuegos multiplataforma Unity, concretamente se utilizará la versión 2020.3.26. Esta versión es LTS, lo que garantiza que el software recibe mantenimiento regular por parte de sus desarrolladores en caso de encontrar fallos y que se pueda acceder a documentación actualizada. Este software es una plataforma de desarrollo libre y permite crear aplicaciones tanto para Microsoft Windows, Mac OS y Linux. Lo que lo hace una herramien- ta adecuada frente a otras alternativas de pago. En este caso, la creación del programa se hará en el sistema operativo Windows. En cuanto al lenguaje de programación, se utilizará C#, que es el lenguaje so- portado por Unity y como IDE, Microsoft Visual Studio junto a las extensiones correspondientes de Unity. Dentro del proyecto de Unity será necesaria la importación e instalación de plugins para la integración con VR y assets de la Asset Store de Unity para la creación del entorno tridimensional. Entorno Hardware: El programa de Unity final se podrá utilizar en equipos (portátiles u ordenado- res de sobremesa) con sistema operativo Windows y que cumplan los requisitos gráficos mı́nimos, al igual que soporten la conexión y uso con dispositivos VR. En cuanto al dispositivo de gafas de Realidad Virtual, este proyecto se realizará utilizando las gafas Oculus Quest 2 de Meta. Entorno de Usuario: El usuario final al que está dirigida la aplicación son profesionales del campo de la neuropsicoloǵıa y no es necesario ningún conocimiento técnico para el uso de esta aplicación. 12 https://unity.com/ Vida Esperada Por enmarcarse dentro de un proyecto de investigación es dif́ıcil especificar de manera precisa la vida esperada de la aplicación. Este desarrollo parte de la base de que ya existe una prueba diseña. Es una continuación del proyecto existente con el objetivo de ser una versión mejorada, con un VE sea más realista y que la prueba requiera menos de la intervención del psicólogo. Por tanto, se espera que este proyecto sirva como punto de partida y tenga una duración prolongada, además de que se pueda seguir ampliando y mejorando a lo largo del tiempo. El utilizar una versión de Unity LTS también ofrece la posibilidad de que el pro- yecto pueda ser extendido. Se trata de una versión que recibe soporte continuo durante dos años desde el momento de su publicación y cuenta con la máxima estabilidad. Se realizan actualizacionesperiódicas que corrigen errores, pero no introducen herramien- tas o tecnoloǵıas adicionales, por lo que queda asegurada la compatibilidad con las herramientas utilizadas en este proyecto a largo plazo. Ciclo de mantenimiento Al ser este proyecto una primera versión desarrollada en Unity, será requerido un mantenimiento regular de cara a arreglar posibles “bugs” en el funcionamiento de la prueba que se reporten con los primeros usos de esta. A su vez, por la visión de futuro del proyecto, serán necesarias ampliaciones y mejoras en los niveles, mecánicas y registro de datos del desempeño del participante. Competencia Actualmente existen herramientas que utilizan la tecnoloǵıa VR para la evalua- ción y entrenamiento neuropsicológico. Algunas de estas herramientas se utilizan para la detección de déficits de atención o la evaluación de aspectos atencionales e hiperac- tividad en niños. Un ejemplo es “The Virtual Classroom”. En cuanto a la evaluación de funciones ejecutivas, se han usado algunas pruebas que incorporaban tareas de planificación y memoria en distintos entornos como por ejemplo en supermercados o simulando ser un dependiente de una tienda de helados con el “Ice Cream Seller Test” [28]. Aún aśı, actualmente no existen más herramientas VR para la evaluación de las habilidades de orientación topográfica anterógrada. Por lo que este proyecto resulta ser una herramienta innovadora y con perspectiva de futuro en el campo de la neuropsico- loǵıa. 13 Aspecto Externo El software será entregado como un ejecutable para los equipos del departamen- to de psicoloǵıa de la universidad Loyola Andalućıa. Se proporcionará un manual de usuario en formato PDF con las indicaciones de cómo utilizar el programa y cómo se exporta el registro de actividad del sujeto. Como se ha mencionado, al seguir la estructura de un videojuego y tener los elementos caracteŕısiticos de este, el VE contará con una GUI para la selección del inicio del programa y para las indicaciones de las misiones a realizar dentro de cada una de las fases de la prueba. Estandarización La herramienta de Unity se programará con el lenguaje de programación C#. Se seguirán las buenas prácticas de programación del principio “Clean Code” o código limpio en español, término utilizado por el ingeniero de software Robert Cecil Martin en su libro “Clean Code: A Handbook of Agile Software Craftsmanship” [29]: La secuencia de ejecución del programa seguirá una lógica y estructura sencilla. La relación entre las distintas partes del código será claramente visible. Las clases y funciones cumplirán tareas espećıficas y comprensibles a simple vista. Serán reducidas y con pocas ĺıneas de código. La nomenclatura seguida para variables, clases y métodos será intencionada y con nombres auto explicativos. Conseguir un código sencillo y legible. Que pueda ser fácilmente comprendido de cara a posteriores desarrollos y mejoras por parte de distintas personas. Calidad y Fiabilidad Al tratarse de un TFG, el responsable principal de la calidad de la herramienta desarrollada en Unity y fiabilidad del sistema será el alumno Carlos Cuevas Baliñas, siempre estando bajo la supervisión del tutor académico Jordi Garćıa Quintanilla para controlar el correcto desarrollo del proyecto. Por otra parte, con el fin de que el entorno de Unity cumpla con los requisitos para considerarse una prueba válida para la evaluación de habilidades de orientación topográfica, se harán reuniones de control con los investigadores del departamento de psicoloǵıa de la universidad, Joaqúın Ibáñez Alfonso y Pablo Rodŕıguez Prieto. 14 Programa de Tareas El modelo de desarrollo del proyecto que será llevado a cabo tendrá diferentes partes: Primero se realizará un análisis y estudio previo de la prueba actual para la evaluación neuropsicológica, con el objetivo de comprender y conocer la estructura de la prueba y poder aśı especificar las mecánicas de juego y tareas a realizar en el proyecto de Unity. Tras esto, se realizará un diseño de la solución. Se estructurarán los distintos niveles de la prueba, definiendo sus mecánicas y diseñando el flujo del funcionamiento. También la arquitectura general del proyecto de Unity y las clases a implementar. Se realizará la implementación en Unity comenzando con la creación del en- torno virtual, seguido con la conexión y configuración del dispositivo VR y finalmente la implementación de clases, funciones y scripts para el funcionamiento del “videojuego”. Pruebas Tratando la aplicación como un videojuego, se espera que este tenga un fun- cionamiento efectivo en todos los niveles de la prueba. Se espera que funcione en los dispositivos donde se ejecute el programa y que se conecte correctamente con el dis- positivo VR. Las mecánicas de juego que realizará la persona que lleve las gafas y mandos deben funcionar sin ningún tipo de “glitch” que altere el transcurro normal de la prueba. Además, debe registrarse la actividad del participante y exportarse en un fichero. Con el objetivo de cumplir todas estas funcionalidades se llevarán a cabo pruebas, basadas en testeo en vivo, “jugando” al videojuego creado. Se comprobará el funciona- miento de cada mecánica implementada y no se desarrollarán nuevas mientras existan fallos en el funcionamiento. Seguridad Se definen aspectos generales sobre la seguridad del sistema. El programa se eje- cuta a nivel local en ordenadores personales por lo que los responsables de la seguridad del equipo donde se ejecuta son de los propietarios. Al funcionar como un videojuego, no es necesario ningún método especial de acceso o contraseñas. En cuanto a los datos recogidos durante “la partida”, estos son puras estad́ısticas de la actividad del sujeto en la propia prueba. No existen datos sensibles o personales más allá del identificador de la persona que realiza la prueba. No hay tratamiento ni recogida de datos personales que puedan infringir la Ley de Protección de Datos. 15 2.3. Análisis de Requisitos En este apartado se listarán todos los requisitos que debe satisfacer la aplicación de Unity de cara a solucionar el problema existente y aśı obtener un VE que sirva de prueba de evaluación de las habilidades de orientación topográfica. 2.3.1. Requisitos Generales A continuación, se definen los objetivos a alto nivel: RG-01: La aplicación debe incorporar un entorno virtual realista. RG-02: La aplicación debe poder utilizarse con gafas de realidad virtual. RG-03: El funcionamiento de la aplicación debe permitir realizar la prueba de evaluación en el entorno digital. RG-04: La aplicación debe hacer un registro de la ejecución del participante en la prueba de evaluación. 2.3.2. Requisitos de Información A continuación, se presentan los requisitos de información, que describen la in- formación relevante que va a registrar el VE: RI-01: La aplicación debe almacenar un identificador del sujeto que va a realizar la prueba de evaluación neuropsicológica. RI-02: La aplicación debe registrar los datos correspondientes a la primera fa- se de la prueba de evaluación: Localización de ubicaciones y objetos y tiempo transcurrido. RI-03: La aplicación debe registrar los datos correspondientes a la segunda fase de la prueba de evaluación: Respuestas ante preguntas de memoria y tiempo transcurrido. RI-04: La aplicación debe registrar los datos correspondientes a la tercera fase de la prueba de evaluación: Localización de objetos, registro de camino realizado y tiempo transcurrido. 16 2.3.3. Requisitos Funcionales Las necesidades básicas que debe satisfacer el programa vienen dadas por los siguientes requisitos funcionales: RF-01: El investigador debe ser capaz de introducir por teclado el identificador del sujeto que va a realizar la prueba. RF-02: El participante de la prueba debe poder visualizar el entorno tridimen- sional con un dispositivo VR. RF-03: El investigadordebe poder elegir entre diferentes acciones al iniciar la aplicación. RF-04: La persona que utilice las gafas de realidad virtual debe poder desplazarse por el entorno tridimensional. RF-05: La persona que utilice las gafas de realidad virtual debe poder recoger objetos del entorno tridimensional. RF-06: La persona que utilice las gafas de realidad virtual debe poder interactuar con una GUI para responder preguntas. 2.3.4. Requisitos No Funcionales A continuación, con los requisitos no funcionales se determinan ciertas restriccio- nes que deben cumplirse: RNF-01: La realización de la prueba con VR debe aportar una experiencia inmersiva a nivel visual y auditivo. RNF-02: El entorno tridimensional debe ajustarse al mapa proporcionado por el departamento de psicoloǵıa. RNF-03: El aspecto visual del mapa debe contar con el mayor grado de realismo posible. 2.3.5. Matriz de Trazabilidad de Requisitos Después de haber especificado todos los requisitos, se debe garantizar que estos van a cumplir los objetivos establecidos. Una herramienta gráfica muy útil para esto es la elaboración de matrices de trazabilidad. Una matriz de trazabilidad es una tabla en la que se relacionan todos los requisitos planteados con los objetivos (requi- sitos generales) establecidos y sirve para visualizar que resultado que alcanzará cada requisito. Las siguientes tablas muestran las matrices de trazabilidad de los requsitos generales respecto a los requisitos de información, requisitos funcionales y requisitos no funcionales respectivamente. 17 RI RG RG-01 RG-02 RG-03 RG-04 RI-01 - - - X RI-02 - - - X RI-03 - - - X RI-04 - - - X Cuadro 2.1: Matriz de Trazabilidad Requisitos Generales - Requisitos de Información. RF RG RG-01 RG-02 RG-03 RG-04 RF-01 - - X X RF-02 - X - - RF-03 - - X - RF-04 - X - - RF-05 - X X - RF-06 - X X - Cuadro 2.2: Matriz de Trazabilidad Requisitos Generales - Requisitos Funcionales. RNF RG RG-01 RG-02 RG-03 RG-04 RNF-01 X X - - RNF-02 X - - - RNF-03 X - - - Cuadro 2.3: Matriz de Trazabilidad Requisitos Generales - Requisitos No Funcionales. 18 2.4. Planificación y Seguimiento Todo lo explicado previamente en este caṕıtulo era necesario como punto de par- tida para el posterior diseño y desarrollo del producto pedido. El objetivo era poder definir bien el programa que se va a desarrollar y desglosar todas aquellas funcionali- dades que debe cumplir el producto final. Un último paso antes de iniciar la etapa de diseño de la solución e implementación, es comentar los aspectos organizativos y de planificación del proyecto, al igual que definir la metodoloǵıa y los recursos que se van a utilizar en dicho desarrollo. Al tratarse de un TFG, será el alumno el encargado de ejecutar todas las etapas del desarrollo y de la aplicación de Unity. Si se dividen las partes de un videojuego siguiendo un esquema sencillo, este podŕıa contar con una parte de “Game Design”, en la cual se definen las mecánicas de juego, misiones y narrativa, otra parte de “Level Design”, que cubriŕıa el diseño de escenario y todos los aspectos visuales y sonoros del videojuego, y por último, la programación, que se basaŕıa en la implementación en śı. En este caso, todas estas tareas serán llevadas a cabo por el alumno Carlos Cuevas Baliñas, del grado de Ingenieŕıa Informática y Tecnoloǵıas Virtuales. El desarrollo de este TFG estará supervisado en todo momento por el tutor académico Jordi Garćıa Quintanilla. Se establece un seguimiento de los objetivos del TFG con una reunión mensual mı́nima. El alumno o el tutor cuando lo vea conveniente podrá solicitar una reunión (En el anexo A.1 se muestra un listado completo con todas las reuniones realizadas con el tutor académico). Por otro lado, Joaqúın Ibáñez Alfonso será también tutor de este TFG por la base neuropsicológica. También se definen los distintos recursos hardware y software que se utilizarán a lo largo del desarrollo del proyecto, algunos de estos ya se han mencionado previamente pero ahora se describirán con detalle. 2.4.1. Dispositivo VR Como el programa que se quiere desarrollar es un entorno de Realidad Virtual, es necesario un dispositivo VR. Se da por supuesto, que se utilizará un ordenador personal para el desarrollo en cuestión. Las gafas VR de las que se dispone son las Oculus Quest 2 , ahora llamadas Meta Quest 2, desarrolladas por Meta. Estas gafas ahora mismo se encuentran entre las más populares dentro del mercado por su relación calidad-precio. Estas gafas tienen la capacidad de almacenar internamente videojuegos y progra- mas y además ejecutarlos con su propia potencia gráfica. Sin embargo, de cara a poder implementar una herramienta, que aunque requiera de más potencia gráfica sea realis- ta, se va a conectar el dispositivo a un ordenador mediante un cable Oculus Link . Aśı se podrá testear todo el desarrollo utilizando la potencia de un ordenador. 19 https://store.facebook.com/es/es/quest/products/quest-2/ Figura 2.1: Dispositivo VR utilizado en este TFG - Gafas Oculus Quest 2, Meta. 2.4.2. Herramientas Software En cuanto a herramientas software, los programas utilizados son: Unity 3D v2020.3.26 Unity es un motor de videojuegos en tiempo real desarrollado por Unity Tech- nologies. Cuenta con un motor gráfico para poder renderizar juegos en 2D y 3D y con un motor f́ısico que permite simular de manera realista interacciones f́ısicas dentro del videojuego como podŕıan ser colisiones entre objetos, fuerzas, etc. Las razones por las cuales se ha decidido utilizar Unity para este proyecto son: Se trata de un programa muy intuitivo de utilizar, con una curva de aprendizaje sencilla. También por la experiencia previa en el uso de este programa ya que es una herramienta que se ha utilizado en varias asignaturas a lo largo del grado. Es compatible con el desarrollo de entornos y juegos de Realidad Virtual y cuenta con plugins que facilita la conexión con este tipo de dispositivos. Las gafas Oculus Quest 2 son compatibles con el desarrollo en Unity. Concretamente, esta versión cuenta con númerosas herramientas para el desarrollo VR. Cuenta con una licencia Personal gratuita. Unity exige la adquisición de licencia a partir de un tope de ingresos de 100 mil dólares. Unity proporciona en su página oficial una documentación extensa sobre todas las funcionalidades que ofrece . Unity cuenta con una tienda de assets para videojuegos, la Unity Asset Store. La Unity Asset Store permite a desarrolladores, animadores o expertos en modelado subir sus modelos y assets. Existen númerosos recursos que son gratuitos para usarlos en tus proyectos y esto reduce de manera significativa el tiempo y coste de creación de videojuegos. La versión 2020.3.26 se trata de una versión LTS, por lo que asegura el manteni- miento y correcto funcionamiento del programa por parte de los desarrolladores. 20 https://unity.com/ https://docs.unity.com/ https://assetstore.unity.com/ Como lenguaje de programación, el entorno se desarrollará utilizando el lenguaje C#, que es el lenguaje propio de Unity y toda la documentación está basada en este lenguaje de programación. Además, es el más utilizado por los usuarios de Unity. Como IDE se usará Microsoft Visual Studio 2022 con sus correspondientes extensiones de Unity y C#. Figura 2.2: Logo de Unity, Unity Technologies. Latex Como herramienta de elaboración del presente documento, se utiliza Overleaf para la edición del docuemento en LATEX. La decisión de utilizarlo en vez de Word es por la búsqueda del aprendizaje de una nueva herramienta y obtener un resultado visual más elegante. Draw.io Draw.io es una plataforma open source para la creación de diagramas. Las ilus- traciones sobre diagramas de clase y diagramas de flujo que se mostrarán más adelante en el documento se realizarán con este programa. Microsoft Teams Para la comunicación y reuniones con el tutor, o con el departamento de psicoloǵıa se ha utilizadola herramienta Microsoft Teams. 21 3. Diseño 3.1. Introducción En este caṕıtulo se aborda todo el diseño previo a la implementación del entorno virtual Meadows. Se mostrará todo el diseño del mapa en el que se realiza la prueba, basado en el mapa creado por Pablo Rodŕıguez Prieto en su TFM [26] con la herra- mienta Microsoft Maquette. Se explicará de manera detallada cada una de las fases que componen la prueba de evaluación como las misiones que se realizarán dentro de estas y los datos que se registran. Desde la perspectiva de un videojuego, se hablará de las mecánicas a implementar y todos los aspectos de carácter audiovisual. También se mostrarán los diseños de la arquitectura del sistema, el listado de clases y diagramas de clases. 3.2. Diseño del entorno virtual En este apartado se expone de manera detallada todo el diseño y estructura general del VE. Como se ha mencionado previamente en el documento, el desarrollo de este proyecto puede considerarse como un videojuego, ya que comparte muchos elementos caracteŕısticos con estos. La finalidad de la aplicación no es el puro entrete- nimiento, sino un uso cĺınico de cara al diagnóstico y evaluación. Ahora bien, para el funcionamiento de esta prueba son necesarios una GUI para el usuario final, niveles y tareas que superar y mecánicas de juego que tiene que realizar el paciente/participante. 3.2.1. Estructura del “juego” Siguiendo con la idea de que el desarrollo de este proyecto puede afrontarse como el desarrollo de un videojuego, es importante establecer los elementos importantes que caracterizan a un videojuego y le dan vida, de cara al posterior desarrollo, al igual que la estructura de las diferentes partes que componen el programa final. A modo esquemático, podemos establecer que este programa tendrá dos partes bien diferencias a alto nivel. La primera de estas, será todo lo relacionado con la interfaz de usuario. Lo primero que debe tener la prueba es un menú de inicio que permita elegir entre diferentes opciones, principalmente y de manera obligatoria deben aparecer opciones que permitan comenzar “la partida” o salir de la aplicación, de manera adicional y si el tiempo lo permite, incorporará más acciones, por ejemplo, un menú de opciones para editar elementos como sonido, resolución, controles, etc. 23 El segundo bloque seŕıa el juego en śı, en este caso, la prueba de evaluación. Esta prueba consta de varias fases, que serán explicadas más adelante en la sección 3.2.4, pero a modo de resumen, se compone de una primera fase en la que se muestra el entorno, la siguiente en la que se explora el entorno tras haber sido mostrado y finalmente una fase en la que se realizan una serie de misiones, realizándose en todas estas el registro de actividad para la evaluación . Para aclarar toda la estructura del programa se puede observar en la siguiente ilustración un esquema del mapa de navegación de todas las partes del juego. Figura 3.1: Esquema del mapa de navegación de la prueba VR. En cuanto a elementos de un videojuego, los más importantes que se adquieren para este proyecto son: Mapa Todo videojuego requiere de un escenario donde desarrollar su acción. El mapa es un elemento fundamental para este proyecto, no solo por la necesidad de un espacio f́ısico donde realizar las acciones, sino porque espećıficamente para este proyecto uno de los objetivos definidos es la creación de un entorno que sea realista e inmersivo mediante VR. En algunos juegos los mapas son de mundo abierto, ofreciendo libertad total al jugador, mientras que en otros el recorrido es controlado y lineal. Para este caso, el mapa es reducido en cuanto a tamaño, por tratarse de un TFG con sus respectivas limitaciones de tiempo y por basarse en un mapa ya diseñado. Si es cierto, que se dota de cierta libertad al sujeto que realice la prueba para moverse por el entorno, ya que el objetivo es hacer una evaluación de ese movimiento. Niveles Los videojuegos se estructuran en diferentes niveles o fases con sus respectivas misiones en las que se desarrolla y progresa la acción. En algunos, cada nivel está asociado a un mapa. En este proyecto toda la acción se realizará en el mismo entorno y como se pudo ver en la ilustración 3.1, la prueba de evaluación se compone de distintas fases o niveles en las que se realizarán las distintas tareas. 24 Misiones La manera en la que avanza la acción de un videojuego es mediante la realización de misiones. En cada nivel hay una serie de misiones a completar y para este proyecto no iba a ser menos. En cada fase de la prueba de evaluación habrá que realizar una serie de tareas, tras completar una misión se pasará a la siguiente y se avanzará a la siguiente fase de la prueba de evaluación una vez se hayan completado todas las misiones. Sonido Los elementos sonoros, música y banda sonora en un videojuego son funda- mental para la experiencia de usuario, acompañan a las acciones que se realizan y aportan realismo en las interacciones. Este proyecto contará también con elementos auditivos, los cuales también se piden como requisito de cara a lograr que el VE sea una experiencia inmersiva. El diseño sonoro del entorno se explicará más adelante. 3.2.2. Diseño y estructura del mapa Uno de los puntos fundamentales de este proyecto es el mapa, debido a que será este el que sea explorado mediante VR durante la evaluación. En los requisitos quedó definido que la estructura del mapa debe cumplir las indicaciones del esquema proporcionado por el departamento de psicoloǵıa, ya que este TFG, es una mejora de la prueba actual, por lo que se quiere actualizar este mapa. También se especificó que el VE debe contar con el mayor grado de validez ecológica posible, es decir, debe ser un entorno realista. Por lo tanto, el primer paso a realizar es la definición del mapa, sus ubicaciones y respectivos objetos. En el Anexo A.2 se puede ver el esquema proporcionado que sirve de gúıa para la creación del entorno. Esta seŕıa la lista de ubicaciones y objetos de Meadows: 25 Localizaciones Objetos Inicio - Campamento Taza roja, Nubecitas, Hamaca de rayas Castillo - Camino Inicio a Campamento Zorro Encrucijada - Templo Pelota de baloncesto, conejo, búho Estanque Rana morada Cementerio Estatua del pensador, pelota verde, pelota roja, pelota negra, pelota amarilla, pelota azul Mirador Estatua del mirador Arco de piedra - Terraza Caja de herramientas roja, pipa, piano, flexo azul Pasarela Escalera de la pasarela Puerto Zepeĺın Caja de herramientas azul, sierra, hacha naranja, escalera roja, Zepeĺın Camino Puerto Zepeĺın a Encru- cijada Estatua del poeta Cuadro 3.1: Tabla con la lista de lugares del mapa y sus respectivos objetos. La conexión de los distintos lugares que componen el mapa es de vital importan- cia, uno de los elementos que se evalúan en esta prueba es la orientación espacial y memoria topográfica. En concreto, en una de las fases se pedirá realizar la mi- sión por el camino más rápido. La disposición de sitios y objetos en el mapa no puede ser arbitraria. Para definir más fácilmente estos caminos, como se enseñó durante la asignatura de Matemáticas I, del primer curso del grado, podemos interpretar el mapa como un grafo. El mapa de Meadows se interpreta entonces como un grafo G=(8,9) definido por un conjunto de V=8 vértices (ubicaciones) y E=9 aristas (caminos) que unen pares de vértices (Ver ilustración 3.2). Figura 3.2: Representación del mapa de Meadows como un grafo. 26 Los vértices los podemos escribir de la forma V={A,B,C,D,E,F,G,H} y haŕıan referencia a las ubicaciones: Vértice Ubicación A Inicio B Campamento C Encrucijada D Templo E Cementerio F Mirador G Terraza H Puerto Zepeĺın Cuadro 3.2: Relación entre los vértices del grafo y ubicaciones del mapa de Meadows. En cuanto a las aristas, las escribimos como E={C1,C2,C3,C4,C5,C6,C7,C8,C9} siendo los caminos entre ubicaciones:Arista Camino C1 Inicio-Campamento C2 Inicio-Encrucijada C3 Encrucijada-Templo C4 Encrucijada-Cementerio C5 Encrucijada-Mirador C6 Encrucijada-Terraza C7 Terraza-Inicio C8 Campamento-Puerto Zepeĺın C9 Puerto Zepeĺın-Encrucijada Cuadro 3.3: Relación entre las aristas del grafo y caminos entre las ubicaciones del mapa de Meadows. Las siguientes tablas muestran loscaminos más rápidos entre las distintas ubi- caciones, tomadas en pares: Ubicación Inicio Ubicación Destino Camino Rápido Inicio Campamento C1 Inicio Encrucijada C2 Inicio Templo C2-C3 Inicio Cementerio C2-C4 Inicio Mirador C2-C5 Inicio Terraza C7 Inicio Puerto Zepeĺın C1-C8 Cuadro 3.4: Caminos más rápidos desde la ubicación Inicio. 27 Ubicación Inicio Ubicación Destino Camino Rápido Campamento Inicio C1 Campamento Encrucijada C1-C2 Campamento Templo C1-C2-C3 Campamento Cementerio C1-C2-C4 Campamento Mirador C1-C2-C5 Campamento Terraza C1-C7 Campamento Puerto Zepeĺın C8 Cuadro 3.5: Caminos más rápidos desde la ubicación Campamento. Ubicación Inicio Ubicación Destino Camino Rápido Encrucijada Inicio C2 Encrucijada Campamento C2-C1 Encrucijada Templo C3 Encrucijada Cementerio C4 Encrucijada Mirador C5 Encrucijada Terraza C6 Encrucijada Puerto Zepeĺın C9 Cuadro 3.6: Caminos más rápidos desde la ubicación Encrucijada. Ubicación Inicio Ubicación Destino Camino Rápido Templo Inicio C3-C2 Templo Campamento C3-C2-C1 Templo Encrucijada C3 Templo Cementerio C3-C4 Templo Mirador C3-C5 Templo Terraza C3-C6 Templo Puerto Zepeĺın C3-C9 Cuadro 3.7: Caminos más rápidos desde la ubicación Templo. Ubicación Inicio Ubicación Destino Camino Rápido Cementerio Inicio C4-C2 Cementerio Campamento C4-C2-C1 Cementerio Encrucijada C4 Cementerio Templo C4-C3 Cementerio Mirador C4-C5 Cementerio Terraza C4-C6 Cementerio Puerto Zepeĺın C4-C9 Cuadro 3.8: Caminos más rápidos desde la ubicación Cementerio. 28 Ubicación Inicio Ubicación Destino Camino Rápido Mirador Inicio C5-C2 Mirador Campamento C5-C2-C1 Mirador Encrucijada C5 Mirador Templo C5-C3 Mirador Cementerio C5-C4 Mirador Terraza C5-C6 Mirador Puerto Zepeĺın C5-C9 Cuadro 3.9: Caminos más rápidos desde la ubicación Mirador. Ubicación Inicio Ubicación Destino Camino Rápido Terraza Inicio C7 Terraza Campamento C7-C1 Terraza Encrucijada C6 Terraza Templo C6-C3 Terraza Cementerio C6-C4 Terraza Mirador C6-C5 Terraza Puerto Zepeĺın C6-C9 Cuadro 3.10: Caminos más rápidos desde la ubicación Terraza. Ubicación Inicio Ubicación Destino Camino Rápido Puerto Zepeĺın Inicio C8-C1 Puerto Zepeĺın Campamento C8 Puerto Zepeĺın Encrucijada C9 Puerto Zepeĺın Templo C9-C3 Puerto Zepeĺın Cementerio C9-C4 Puerto Zepeĺın Mirador C9-C5 Puerto Zepeĺın Terraza C9-C6 Cuadro 3.11: Caminos más rápidos desde la ubicación Puerto Zepeĺın. 29 3.2.3. Elementos de inmersión La tecnoloǵıa VR es capaz de simular entornos con un alto grado de realismo, conseguir que el usuario sienta que realmente se encuentra dentro del VE y pueda percibir los est́ımulos que le rodean e interactúe con ellos. El objetivo de este proyecto es que la prueba sea lo más realista posible, que suponga una experiencia inmersiva tanto a nivel visual como auditivo. Por esto, un diseño de los elementos inmersivos es necesario para cumplir este objetivo. La Realidad Virtual funciona en psicoloǵıa por la capacidad de imitar situacio- nes y entornos reales, tiene mayor validez ecológica que las pruebas de evaluación tradicionales de lápiz y papel. Si estos entornos se crean con assets que tengan un alto grado de realismo, se podrá inducir en la persona sensaciones y comportamientos que puedan evaluarse más tarde [30]. A la hora de la implementación del VE, se realizará la búsqueda de assets en la Asset Store de Unity, siempre se usarán recursos gratuitos y mientras sea posible, que cuenten con cierto grado de realismo. El otro elemento importante para asegurar la sensación de presencia en el entorno virtual es el sonido. Ya hemos comentado que es un elemento imprescindible para todo videojuego y por tanto también lo es aqúı. El mapa de Meadows no deja de ser un entorno natural, si queremos que se transmita el realismo, no podemos dejar una experiencia sin sonido. Habrá sonidos ambientes, que provengan de animales o generados por la interacción con los mandos, por ejemplo. Siguiendo la metodoloǵıa de la asignatura de Digital Sound Design, se crea un Sound Draft con la lista de sonidos a incorporar, diferenciados por tipos y con indica- ciones de uso, repeticiones y edición (ver Anexo A.3), tras esto se buscan en plataformas de sonido sin copyright y se descargan para su posterior implementación. 3.2.4. Fases de la prueba de evaluación En este apartado se procede a explicar en qué consisten las distintas fases que componen la prueba de evaluación. La prueba original requiere de la supervisión del profesional y todo el registro se anota a mano. El diseño de estas fases vaŕıa respecto al original con el objetivo de hacer la prueba lo más automatizada posible, aunque siempre se supervise de manera externa. Fase de Tour: Esta primera fase sirve como introducción a la prueba de evaluación. En esta fase los participantes visualizarán un v́ıdeo que presente todo el entorno de Meadows, indicando las distintas ubicaciones y objetos del mapa que deben recordar. Este v́ıdeo es importante para que los participantes reciban una primera noción del mapa ya que en la siguiente etapa tendrán que repetir lo que han visto en el v́ıdeo. 30 En la prueba original, el v́ıdeo lo mostraban antes de ponerse las gafas VR y entrar en el mundo virtual, como mejora, para este proyecto la idea es que este v́ıdeo se reproduzca también en el dispositivo VR. Fase de Exploración: La Fase de Exploración es el segundo nivel de la prueba de evaluación y el pri- mero en el que ya hay interacción por parte del “jugador”. En esta fase el sujeto debe repetir el camino mostrado en el v́ıdeo, indicando los objetos que deb́ıa recordar. Como mejora a la prueba original, en esta fase se implementará un sistema de pistas por si el sujeto se equivoca al repetir el camino. Ya que hasta ahora era el investiga- dor el que le daba indicaciones. Cuando llega a la ubicación deseada, se tendrán que recoger todos los objetos. Es necesario aclarar que aunque se defina la prueba para que se pueda realizar individualmente, el investigador supervisará, ayudará y anotará cualquier aspecto que sea necesario. Fase de Imaginación: Durante esta fase, en la prueba original, el sujeto saĺıa del mundo virtual y res- pond́ıa una serie de preguntas utilizando únicamente sus recuerdos. Estas preguntas se dividen en preguntas de localización Egocéntrica (siendo uno mismo el punto de referencia) y preguntas de localización Alocéntrica (tomando como punto de referencia otra clave). Como se ha mencionado, para que la prueba se pueda realizar de manera propia, se plantea implementar esta fase como un quiz en VR. Aparecerán varias preguntas con varias opciones y el “jugador” tendrá que contestar. Fase de Movimiento: En este último bloque de misiones, el participante, dentro del entorno virtual de Meadows, desde una ubicación de inicio, tiene que buscar y señalar una serie de objetos que se encuentran en otra ubicación, pero en este caso, deben realizar el camino más rápido posible entre las dos ubicaciones (Estos caminos se han definido previamente y pueden verse en el apartado 3.2.2). Esta fase tiene un componente especial, en varios momentos de la prueba, se produce una modificación del entorno, por lo que se modifica el camino más rápido. El jugador debe usar sus conocimientos sobre el entorno para planificar y realizar una ruta alternativa. 31 3.2.5. Registro de actividad Al ser una prueba de evaluación, la ejecución de la prueba resultará en un registro de actividad y una puntuación. Se plantea que el VE deUnity, tras la realización de cada fase, exporte en un fichero con extensión .csv los resultados de la fase. Los datos que se quieren almacenar son los que se muestran la hoja de registro, documento que se puede ver en el Anexo A.4 y que fue proporcionado por los investigadores. Los datos que se quieren guardar para cada fase son: Fase de Exploración: Reconocimiento de ubicación y reconocimiento de obje- tos. Fase de Imaginación: Recuerdo de localización de un objeto concreto y tiempo de respuesta. Fase de Movimiento: Reconocimiento de una ubicación pedida, reconocimiento de un objeto pedido, camino realizado, si es el camino más rápido o uno alterna- tivo y el tiempo que tarda. 3.2.6. Mecánicas Quedan listadas las mecánicas que se deben implementar en Unity de cara a la jugabilidad en el VE con el dispositivo Oculus Quest 2: Desplazamiento del jugador por el entorno de Meadows utilizando los mandos del dispositivo Oculus Quest 2. No se define en un inicio si se programará un movimiento continuo o mediante teletransporte. Recoger los objetos encontrados de la escena. Interactuar con una GUI en VR para responder preguntas tipo Quiz. 32 3.3. Arquitectura Esta sección está orientada a la explicación de la arquitectura general del proyecto, donde se mostrarán diagramas que ayuden a comprender el funcionamiento y elementos que utiliza la aplicación. 3.3.1. Diagrama de Arquitectura Al tratarse de un proyecto de Unity, la tarea de definir de una arquitectura se simplifica, debido a que el propio editor de Unity ya ofrece muchas clases propias, capas y componentes que facilitan el posterior desarrollo. Meadows se trata de un entorno virtual pensado para ser ejecutado a nivel local, por lo que no es necesario el uso de servidores. Igualmente, los resultados de la evalua- ción se exportan como fichero, por lo que tampoco es necesario ningún almacenamiento en bases de datos. Por lo menos en esta primera versión del proyecto. De manera que el diagrama de arquitectura de Meadows es simple, como se puede observar en la siguiente figura. Figura 3.3: Diagrama de Arquitectura. Game Engine Todo lo que es el funcionamiento de la aplicación se controla por el Game En- gine proporcionado por Unity. Este Game Engine soporta el entorno donde la persona con el dispositivo VR va a interactuar. Por una parte, realiza toda la gestión de la ejecución del programa a alto nivel, calcula las posibles f́ısicas, renderiza los elementos visuales y reproduce los sonidos. Por otra parte, gestiona el control del jugador por el entorno según las señales de entrada recibidas por el dispositivo. Respecto a lo que es el funcionamiento de la prueba, cada fase tendrá su propio Manager en el que se defina el funcionamiento. Estas clases se explicarán en el apartado de Clases de esta misma sección. 33 Input Device El dispositivo de entrada en este caso son las gafas VR Oculus Quest 2. Estas permiten a la persona visualizar todo el VE y poder interactuar con este mediante los controladores. Este bloque también representa la inmersión en el mundo de Meadows. Output El registro de actividad con los resultados de la prueba de evaluación se exporta con ficheros para su posterior análisis. 3.3.2. Clases y Diagrama de Clases Como añadido a lo explicado en el apartado anterior, se presentan las clases diseñadas para implementar mediante scripts de Unity. Las clases se mostrarán en formato tabla, indicando sus atributos y tipos y el propósito que tienen para el proyecto de Unity. Todas estas clases servirán como punto de partida para poder implementar la lógica de las fases de Exploración, Imaginación y Movimiento. Clases: Item Clase para representar un objeto del entorno tridimensional Atributos + id int Identificador del objeto + nombre string Nombre del objeto Cuadro 3.12: Definición de la clase Item. 34 Ubicacion Clase para representar una localización de Meadows Atributos + id int Identificador de la ubicación + nombre string Nombre de la ubicación + items List<GameObject> Objetos que se encuentran dentro de la ubi- cación. Se utiliza como tipo GameObject en vez de Item para poder acceder al resto de propiedades de Unity incorporadas en el item + anchorObser- vacion GameObject Punto de observación que desde donde se co- loca el sujeto de la prueba para realizar la búsqueda de items dentro de una ubicación + numeroItems int Número indicador de la cantidad de objetos en la ubicación Cuadro 3.13: Definición de la clase Ubicacion. RespuestaImaginacion Clase para representar la respuesta de una pregunta Atributos + respuesta string Texto con la respuesta + esCorrecta bool Indicador de si la respuesta es correcta o falsa Cuadro 3.14: Definición de la clase RespuestaImagina- cion. PreguntaImaginacion Clase para representar una pregunta tipo quiz con múltiples opciones de respuesta Atributos + pregunta string Texto con el enunciado de la pre- gunta + respuestas List<RespuestaImaginacion> Lista con las respuestas posibles de la pregunta Cuadro 3.15: Definición de la clase PreguntaImaginacion. Mision Clase para representar una misión genérica. De esta clase heredan las misiones correspondientes a cada fase de la prueba. Atributos + id int Identificador de la misión + descripcion string Objetivo de la misión Cuadro 3.16: Definición de la clase Mision. 35 MisionExploracion Clase para representar una misión de la fase de Exploración. Hereda de la clase Mision. Atributos + id int Identificador de la misión (heredado de Mi- sion) + descripcion string Objetivo de la misión (heredado de Mision) + ubicacionOb- jetivo Ubicacion Ubicación a la que debe llegar el jugador en la misión Cuadro 3.17: Definición de la clase MisionExploracion. MisionImaginacion Clase para representar una misión de la fase de Imaginación. Hereda de la clase Mision. Atributos + id int Identificador de la misión (heredado de Mi- sion) + descripcion string Objetivo de la misión (heredado de Mision) + tipo string Tipo de la pregunta de la misión de imagina- ción. Puede ser Egocéntrica o Alocéntrica + preguntaIma- ginacion PreguntaImaginacion Pregunta que se hace en la misión de imagi- nación Cuadro 3.18: Definición de la clase MisionImaginacion. 36 MisionMovimiento Clase para representar una misión de la fase de Movimiento. Hereda de la clase Mision. Atributos + id int Identificador de la misión (heredado de Mi- sion) + descripcion string Objetivo de la misión (heredado de Mision) + descripcionE- vento string Texto con la descripción de la modificación del mapa que se ha producido + ubicacionOb- jetivo Ubicacion Ubicación a la que debe llegar el jugador en la misión + tipoBusque- daItem bool Indicador de si en la misión de movimiento hay que encontrar item + itemBuscado GameObject Objeto del entorno que hay que buscar en la misión de movimiento. Si tipoBusquedaItem es False será un objeto nulo + caminoOpti- mo List<Ubicacion> Lista con el camino más rápido existente en- tre la ubicación actual y la ubicación objetivo + obstruccion- Camino GameObject Modificación del mapa que bloquea algún ca- mino. Se utiliza cuando tipoBusquedaItem es False Cuadro 3.19: Definición de la clase MisionMovimiento. 37 Diagrama de clases: En la siguiente figura se muestra un esquema del diagrama de clases con el objetivo de comprender la relación entre las distintas clases que se han diseñado y explicado en las tablas anteriores. Interpretamos el tipo GameObject de Unity como tipo primitivo para el diagrama y para los controladores de las fases de la prueba (FaseExploracion- Manager, FaseImaginacionManager y FaseMovimientoManager) solo se muestran los atributos públicos que son más relevantes. La clase cuenta con más variables que se usan internamente para el correcto funcionamiento. Figura 3.4: Diagrama de Clases. 38 4. Implementación 4.1. Introducción Este caṕıtulo consta de todas las explicaciones relacionadas a la implementación
Compartir