Videojuego de memoria para Realidad Virtual y Aumentada con las Oculus Rift
Abstract
El proyecto se ha realizado en colaboración con la empresa edataconsulting y consiste en crear un videojuego en Unity, para Realidad Virtual, en un escenario 3D. Con este proyecto, se busca aprender a utilizar las nuevas formas de interacción humano-máquina y aprender a utilizar el motor gráfico de Unity. Las principales características son, una tabla de mejores puntuaciones, guardado de partida automático, diferentes niveles de dificultad, posibilidad de añadir diferentes tipos de juego con facilidad.
Full text
VIDEOJUEGO DE MEMORIA PARA REALIDAD VIRTUAL Y AUMENTADA CON LAS OCULUS RIFT Trabajo de fin de grado Tutor: Agustín Trujillo Pino Co-Tutor de empresa: Tobias Kammann Autor: Óscar García Sierra 2016-2017
pág. 2 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Índice de contenido Agradecimientos ............................................................................................................... 1 Resumen ........................................................................................................................... 2 Abstract ............................................................................................................................ 2 1 Introducción ................................................................................................................... 3 1.1 Estructura del documento ...................................................................................... 3 1.2 Objetivos ................................................................................................................. 4 1.3 Planificación inicial .................................................................................................. 5 1.4 Justificación de las competencias específicas ...................................................... 10 1.5 Metodología de desarrollo ................................................................................... 11 2 Realidad Virtual ........................................................................................................... 13 2.1 ¿Qué es? ................................................................................................................ 13 2.2 Historia .................................................................................................................. 13 2.3 Software ................................................................................................................ 14 2.4 Hardware .............................................................................................................. 15 3 Análisis ......................................................................................................................... 17 3.1 Estudio de aplicaciones similares ......................................................................... 17 3.2 Requisitos .............................................................................................................. 17 3.3 Diagrama de casos de uso .................................................................................... 19 3.4 Mockups ................................................................................................................ 22 3.5 Modelo de negocio ............................................................................................... 29 3.6 Normativa y legislación ......................................................................................... 30 3.6.1 Reglamento que afecta al TFG ....................................................................... 30 3.6.2 Licencias del software .................................................................................... 30 4 Desarrollo .................................................................................................................... 33 4.1 Alcance de la implementación .............................................................................. 33 4.2 Diseño arquitectónico ........................................................................................... 37 4.3 Modelo de la base de datos .................................................................................. 38 4.4 Tecnologías ........................................................................................................... 41 4.4.1 C# .................................................................................................................... 42
pág. 3 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria 4.4.2 Unity Personal ................................................................................................ 42 4.4.3 SketchUp ........................................................................................................ 43 4.4.4 Visual Studio ................................................................................................... 44 4.5 Pruebas ................................................................................................................. 45 4.6 Despliegue ............................................................................................................. 46 4.6.1 Despliegue para equipos de sobremesa. ....................................................... 47 4.6.2 Despliegue para equipos móviles .................................................................. 48 5 Conclusiones ................................................................................................................ 51 5.1 Líneas futuras ........................................................................................................ 52 6 Anexos ......................................................................................................................... 53 6.1 Anexo I: Manual de usuario .................................................................................. 53 6.2 Anexo II: Referencias ............................................................................................ 58 6.2.1 Consultas terminológicas ............................................................................... 58 6.2.2 Recursos: Software ......................................................................................... 58 6.2.3 Hardware ........................................................................................................ 58 6.2.4 Tutoriales ........................................................................................................ 59 6.2.5 Normativa y legislación .................................................................................. 59 6.3 Anexo III: Logos ..................................................................................................... 59
pág. 4 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Índice de ilustraciones Ilustración 1: Planificación inicial detallada. .................................................................... 7 Ilustración 2: Diagrama de la planificación inicial del proyecto. ...................................... 8 Ilustración 3: Gafas de VR Oculues Rift .......................................................................... 13 Ilustración 4 : Gafas de VR PlayStation ........................................................................... 13 Ilustración 5: Componentes de las Oculus Rift, cámaras, mandos y gafas. ................... 15 Ilustración 6 : Gafas de VR de Samsung y Oculus, Gear VR ............................................ 16 Ilustración 7: Diagrama de casos de uso ........................................................................ 19 Ilustración 8: Primera versión del proyecto ................................................................... 22 Ilustración 9: Menú del prototipo .................................................................................. 23 Ilustración 10: Configuración de la partida impresa por consola de Unity .................... 23 Ilustración 11: Boceto a mano de la vista superior de la escena. .................................. 24 Ilustración 12 : Modelo 3D del escenario, visto desde arriba. ....................................... 25 Ilustración 13: Modelo 3D del escenario, visto en perspectiva. .................................... 25 Ilustración 14: Modelo 3D de la mesa de juego. ............................................................ 26 Ilustración 15: Boceto a mano de la tabla de puntuaciones. ......................................... 26 Ilustración 16: Modelo 3D de la tabla de puntuaciones. ............................................... 27 Ilustración 17: Modelo 3D señal de tutoriales. .............................................................. 28 Ilustración 18: Transportador enfocado con la mirada. ................................................. 33 Ilustración 19: Panel de control, habitación número 1 .................................................. 34 Ilustración 20: Consola para abrir el menú de puntuaciones. ....................................... 35 Ilustración 21: Panel de máximas puntuaciones. ........................................................... 35 Ilustración 22: Panel de tutorial. .................................................................................... 36 Ilustración 23: Menú interno del juego. ......................................................................... 36 Ilustración 24: Diagrama de clases de la estructura de datos. ....................................... 39 Ilustración 25: Estructura de un archivo XML ................................................................ 40 Ilustración 26: Archivo SaveGame.bin abierto desde el Notepad++. ............................ 41 Ilustración 27: Interfaz gráfica predeterminada de Unity. ............................................. 43 Ilustración 28: Interfaz de usuario del SketchUp. .......................................................... 44 Ilustración 29: Interfaz de usuario de Visual Studio predeterminada. .......................... 45 Ilustración 30: Panel de despliegue de Unity. ................................................................ 47 Ilustración 31: Dialogo de External Tools ....................................................................... 49 Ilustración 32: Página web de Oculus para firmar las aplicaciones. .............................. 49 Ilustración 33: Portada del manual de usuario. ............................................................. 54 Ilustración 34: Primera página del manual, con la instalación y menú principal. .......... 55
pág. 5 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Ilustración 35: Segunda página del manual, con el menú de partida. ........................... 56 Ilustración 36: Tercera página del manual, con los controles. ....................................... 57 Ilustración 37: Primera versión del logo. ........................................................................ 60 Ilustración 38: Segunda versión del logo. ....................................................................... 61 Ilustración 39: Icono de la segunda versión del logo. .................................................... 61
pág. 6 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Índice de tablas Tabla 1: Planificación inicial .............................................................................................. 6 Tabla 2: Estado de la planificación final. .......................................................................... 9 Tabla 3: Comparativa de otras aplicaciones en el meracado. ........................................ 17 Tabla 4: Tabla de especificación de Abrir menú. ............................................................ 20 Tabla 5: Tabla de especificación de Completar nivel. .................................................... 21 Tabla 6: Tabla de especificación de Gestionar partida. .................................................. 21 Tabla 7: Lean Canvas ...................................................................................................... 29
pág. 1 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Agradecimientos A mi tutor Agustín Trujillo Pino por aconsejarme y ayudarme durante todo el transcurso del Trabajo de Fin de Grado. A la empresa de edataconsulting por aportar el material necesario, a todos los miembros que la forman, por tratarme como a uno más y en especial a Tobias Kammann por su implicación y su gran atención en todo momento, sin el cual todo esto no hubiera sido posible. A todos mis compañeros que me han acompañado durante estos 4 años de grado, pues sin ellos nunca hubiera llegado hasta aquí. A Guillermo Cubero, Carla Cabestrero, Adrián Louro y Saskia Santana, por aportar ideas al proyecto, probar las demos del juego, su ánimo y su apoyo en cada momento. A mi padre, mi hermana y mi pareja, por siempre estar cuando más se les necesita y sin fallarme en ningún momento.
pág. 2 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Resumen El proyecto se ha realizado en colaboración con la empresa edataconsulting 1 y consiste en crear un videojuego en Unity, para Realidad Virtual, en un escenario 3D. Con este proyecto, se busca aprender a utilizar las nuevas formas de interacción humano-máquina y aprender a utilizar el motor gráfico de Unity. Las principales características son, una tabla de mejores puntuaciones, guardado de partida automático, diferentes niveles de dificultad, posibilidad de añadir diferentes tipos de juego con facilidad. Abstract The project has been done in collaboration with the edataconsulting company and consists in create a video game in Unity, for Virtual Reality, in a 3D scenery. With this project, you will learn to use the new forms of human-machine interaction and learn how to use the Unity graphics engine. The main features are, a scoreboard of best scores, automatic save of the game, different levels, easy way to add new types of games. 1 Empresa colaboradora, fue la responsable de ceder las herramientas necesarias para el desarrollo del proyecto. Fundada en 2003 y con sede en Gelsenkirchen (Alemania).
pág. 9 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Tarea 1.4: Estudio de las posibilidades que permite la Realidad Virtual Diseño / Desarrollo / Implementación 200 Tarea 2.1: Diseño de las mecánicas del juego. Tarea 2.2: Diseño de la arquitectura del programa Tarea 2.3: Diseño del escenario 3D, sus animaciones y sonidos. Tarea 2.4: Implementación de las mecánicas. Tarea 2.5: Mejoras visuales, sonido, lógica. Evaluación / Validación / Prueba 80 Tarea 3.1: Comprobación de las mecánicas del juego. Tarea 3.2: Comprobación de las animaciones y sonidos. Tarea 3.3: Comprobación de integridad y solidez. Documentación / Presentación 60 Tarea 4.1: Realización de la memoria Tarea 4.2: Realización de la presentación. Tabla 2: Estado de la planificación final. El trabajo comenzó a principios de enero de 2017, por estas fechas se comenzó a realizar los primeros tutoriales propuestos por Unity. En estos tutoriales, se explica cómo utilizar la herramienta de Unity de forma básica y como programar algo sencillito dentro del entorno. Los tutoriales se desarrollan tanto para C#, como para JavaScript. Una vez concluido los tutoriales, se realizó la incorporación dentro de edataconsulting. Una vez allí se comenzó con la instalación de todas las herramientas necesarias para poder continuar el proyecto. A parte, se pudo probar las diferentes aplicaciones que se encontraban en aquel momento en el mercado para poder conocer mejor las posibilidades que ofrecía. Estas tareas, llevaron un poco más tiempo del esperado. En la fase de diseño, no hubo una gran dificultad a la ahora de ajustarse a lo previsto en un principio, pero si que se produjeron diferentes adversidades durante el desarrollo que produjeron que se necesitara más tiempo para poder concluir esta fase,
pág. 10 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria pues el lenguaje y la tecnología utilizada eran totalmente desconocidas. Una vez resueltas estas adversidades se pudo continuar con el correcto desarrollo de esta misma. En las dos últimas fases se necesitó un poco más de tiempo, para así poder asegurar un trabajo sólido y fiable. 1.4 Justificación de las competencias específicas Las tareas de investigación, análisis, diseño e implementación llevadas a cabo han permitido el desarrollado de las siguientes competencias propuestas para alcanzar la asignatura de Trabajo de Fin de Grado: • FB01. Capacidad para la resolución de los problemas matemáticos que puedan plantearse en la ingeniería. Aptitud para aplicar los conocimientos sobre: álgebra lineal, cálculo diferencial e integral, métodos numéricos, algorítmica numérica, estadística y optimización. o Justificación FB01. Durante el desarrollo del proyecto se plantearon problemas espaciales, al tener que situar objetos distribuidos de forma equidistante en una semicircunferencia, los cuales, no eran siempre la misma cantidad. • CII01. Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y normativa vigente. o Justificación CII01. Como se puede ver en este documento y en el proyecto en general, el desarrollo del trabajo es propio de un ingeniero. Los pasos dados, así como las soluciones propuestas manifiestan la necesidad del uso de los conocimientos y las capacidades propios de nuestra área de estudio. • CII06. Conocimiento y aplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas, analizando la idoneidad y complejidad de los algoritmos propuestos. o Justificación CII06. Durante la ejecución de cualquier videojuego, es importante no realizar procesos muy pesados, para evitar que el usuario pueda experimentar lentitud durante la ejecución de este mismo.
pág. 11 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria • CII07. Conocimiento, diseño y utilización de forma eficiente los tipos y estructuras de datos más adecuados a la resolución de un problema. o Justificación CII07 Mirar justificación CII01 • CII16. Conocimiento y aplicación de los principios, metodologías y ciclos de vida de la ingeniería de software. o Justificación CII16. Mirar justificación CII01 • CII17. Capacidad para diseñar y evaluar interfaces persona computador que garanticen la accesibilidad y usabilidad a los sistemas, servicios y aplicaciones informáticas. o Justificación CII17. Nos encontramos ante un proyecto en Realidad Virtual, por lo tanto, las interfaces de usuario deben estar adaptadas a este tipo de interacción humano-maquina. • IS04. Capacidad de identificar y analizar problemas y diseñar, desarrollar, implementar, verificar y documentar soluciones software sobre la base de un conocimiento adecuado de las teorías, modelos y técnicas actuales. o Justificación IS04. Mirar justificación CII01. 1.5 Metodología de desarrollo Para la realización de este trabajo se ha seguido el modelo de ciclo de vida en espiral, el cual consiste en dividir el desarrollo en ciclos o iteraciones y cada ciclo en cuatro fases o tareas. El número de iteraciones de esta metodología variará según los requisitos definidos y finalizará cuando se logre un producto mínimo viable. Antes de comenzar un nuevo ciclo, se comprobaban los objetivos cumplidos en las fases anteriores. Tras esto, se establecerá el punto de partida y la meta a conseguir en la nueva fase. Cada nuevo ciclo terminado, generará una nueva versión de la aplicación, que será más completa que la anterior. Cada fase está planificada con la siguiente estructura: • Determinar los objetivos.
pág. 12 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria En esta tarea se define la meta a lograr en esta iteración. Así se identifican las limitaciones del ciclo y sus riesgos. • Análisis del riesgo. Se analizan los riesgos que se presentan en la fase y se definen nuevas estrategias que permitan minimizar los riesgos encontrados. • Desarrollar, verificar y validar. El desarrollo se divide en tareas. Esto permite cubrir todos los objetivos fijados. A continuación, se comienza con el desarrollo, realizando las tareas planificadas y, finalmente, probar y verificar los objetivos. • Planificar. Finalmente se revisa el proyecto y se decide si continuar con la iteración actual. Se comprobará los objetivos marcados para ese ciclo, se revisará los requisitos y, si fuera necesario, se mejoraría la funcionalidad implementada. Tras superar este punto, se comenzará una nueva fase. Tras múltiples iteraciones, se habrá obtenido un producto mínimo viable que cumplirá con los requisitos definidos en un principio.
pág. 13 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Ilustración 3: Gafas de VR Oculues Rift Ilustración 4 : Gafas de VR PlayStation 2 Realidad Virtual 2.1 ¿Qué es? La Realidad Virtual o VR de sus siglas del inglés Virtual Reality, son dispositivos que te permiten introducirte dentro de un entorno totalmente creado por ordenador y que la forma de interactuar con la maquina sea lo más natural posible, como por ejemplo cuando quieres mirar para un lado, no uses un ratón, si no que gires la cabeza. Estos dispositivos, pueden ir de los más sencillo, que sería solamente unas gafas, a incluso dispositivos que te permiten capturar tu movimiento dentro de una sala y el movimiento de tus manos, para ello se necesitan cámaras y unos mandos especiales, que permitan realizar un seguimiento preciso de los movimientos realizados. 2.2 Historia A partir de 2016, la Realidad Virtual ha sufrido un crecimiento muy espontaneo, con la aparición de los primeros dispositivos para el consumidor, Oculus Rift (Ilustración 3), seguido de las HTC Vive, después de esos, empezaron a aparecer más gafas de otras compañías como las de Microsoft, las HoloLens, pero estas son de Realidad Aumentada y Sony con sus PlayStation VR (Ilustración 4), desarrolladas en exclusiva para su última consola, la PlayStation 4 Pro. Con la aparición de todos estos dispositivos y otros menos conocidos, la tecnología ha ido evolucionando de forma muy rápida y ha ido introduciéndose en el
pág. 14 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria mercado. Donde mayor acogida ha tenido, es en el sector de los videojuegos, pero es cierto que también tiene un gran impacto en el sector empresarial, pudiendo realizar algunas tareas de una forma más sencilla y eficiente, ahorrando así costes y tiempo. 2.3 Software Para poder comenzar a desarrollar, cualquier tipo de aplicación, para VR es necesario tener una serie de programas mínimos: • Motor gráfico 3D. En nuestro caso, se hizo uso de Unity 5.5 y 5.6, pues es gratuito y está muy bien documentado, aunque ya hablaré más delante de Unity. Es imprescindible tener un motor gráfico 5 , debido a que debemos de generar un escenario donde nuestro usuario se encontrará y también será donde se ejecuté toda nuestra aplicación. • Programa de diseño 3D. En este ámbito existen diferentes alternativas, desde aplicaciones muy potentes y profesionales como Maya, que es de pago, otra como Blender, que es gratuita, pero no opté por ninguna de estas dos, pues no tenía experiencia en ninguna de ellas, así que opté por SketchUp, en el cual ya tenía algo de experiencia y es mucho más sencillo de utilizar, aunque no tiene el mismo número de herramientas que cualquiera de las otras nombradas. • Entorno de desarrollo. Unity, permite elegir entre dos lenguajes a la hora de programar su lógica. Podemos optar por JavaScript o C#. En nuestro caso optamos por C#, por ser el más parecido a Java (lenguaje que se imparte durante el grado) y, por lo tanto, se debe desarrollar en el entorno propio de Microsoft, el Visual Studio. 5 Es una herramienta de desarrollo, que provee al videojuego de un motor de renderizado para los gráficos 2D y 3D, motor físico o detector de colisiones, sonidos, scripting, animación, inteligencia artificial, redes, streaming, administración de memoria y un escenario gráfico.
pág. 15 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria 2.4 Hardware Para poder testar bien la aplicación que se va a desarrollar y hacerse una idea de cómo va a ser la experiencia por parte del usuario es necesario tener en posesión, al menos unas gafas de VR. Como ya expliqué anteriormente, hay diferentes tipos de gafas, no hemos decantado por la opción de Oculus, pues tienes dos variantes, una para dispositivos de escritorio y otra para dispositivos móviles Samsung. Por supuesto, las dos variantes de Oculus no son iguales y pasaremos a describirlas en las siguientes líneas: • Dispositivo de escritorio, compuesto no solamente por las gafas, también tiene cuatro cámaras y dos mandos (Ilustración 5), uno para cada mano, con todo esto el dispositivo de escritorio, puede manejar diferentes formas de interaccionar con la máquina, se puede tocar con una mano un botón, agarrar un objeto e incluso lanzarlo. A parte, tiene más potencia que el dispositivo móvil, por lo cual puede ejecutar juegos con mejor calidad gráfica y mayor complejidad computacional. Ilustración 5: Componentes de las Oculus Rift, cámaras, mandos y gafas.
pág. 16 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria • Dispositivo móvil, compuesto solamente por unas gafas, con una pequeña zona táctil y cuatro botones, como se puede observar en la Ilustración 6. Es mucho más portable, pues solo es necesario llevar el móvil y las gafas donde se coloca el mismo, pero se depende de la autonomía del dispositivo. Se le puede agregar un mando Bluetooth, con el que facilitar el control. Ilustración 6 : Gafas de VR de Samsung y Oculus, Gear VR
pág. 17 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria 3 Análisis 3.1 Estudio de aplicaciones similares Actualmente en el mercado hay diferentes opciones de videojuegos en Realidad Virtual. Durante el análisis, no se ha encontrado ninguna opción parecida a la que nosotros ofrecemos, pero si es cierto que toda aplicación en este entorno es un competidor y por lo tanto nos centraremos en las que se asemejan más a la nuestra. En Tabla 3 se puede observar una comparativa entre las aplicaciones que más se asemejan a la nuestra y que ofrecen cada una de ellas. Aplicación Desarrollador Fecha de Lanzamiento Fortalezas Debilidades Proton Pulse Justin Moravetz Q1 2017 Compatible con todas las plataformas de VR actuales, puntuaciones, vidas límite. No tiene tiempo límite cada partida, produce mareo, apartado gráfico mejorable. Esper 2 Coatsink Q1 2016 Entretenido, un tutorial muy completo e integrado en el juego. Falta de competición, controles complicados. Tabla 3: Comparativa de otras aplicaciones en el meracado. Como ya explicamos, no se encuentra en el mercado ninguna aplicación que este pensada, para ejercitar la memoria y la vez competir con uno mismo para mejorar. Esper 2, es de rompecabezas, pero no ejercitas la memoria, solamente la agilidad mental, por otro lado, Proton Pulse, si introduce una característica más competitiva, al introducir puntuaciones y vidas limite. 3.2 Requisitos A continuaciones pasamos a describir los diferentes requisitos de usuario capturados durante la etapa de análisis de nuestro proyecto. Estos se han redactado
pág. 18 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria en forma de historias de usuario, pues es la mejor forma de administrar los requisitos y adaptarnos a futuros cambios. Al ser un videojuego, solo hemos detectado un rol posible, el jugador, y del cual tratan todas las historias de usuario. A continuación, se pasa a describir las historias de usuario de los requisitos funcionales: • Como jugador, quiero poder continuar mi anterior partida, para no perder el progreso conseguido. • Como jugador, quiero poder crear una nueva partida, para poder comenzar el juego de nuevo. • Como jugador, quiero poder moverme por el mapa, para poder avanzar por los diferentes niveles. • Como jugador, quiero poder ver mis mejores puntuaciones, para poder mejorarlas. • Como jugador, quiero poder cambiar la dificultad de la partida, para poder adaptarla a mi nivel. • Como jugador, quiero que el sistema guarde la partida, para no perder el progreso obtenido durante la partida. • Como jugador, quiero que cuando consiga un acierto se me recompense, para motivarme a continuar. • Como jugador, quiero que cuando se termine el tiempo de la partida, el espacio de juego se limpie. • Como jugador, quiero poder activar o desactivar el control con mando, para poder moverme libremente por el mapa. Ahora continuaremos con las historias de usuario de los requisitos no funcionales: • Como jugador, quiero que se puede ejecutar en dispositivos GearVR • Como jugador, quiero que se pueda ejecutar en modo escritorio.
pág. 25 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Ilustración 12 : Modelo 3D del escenario, visto desde arriba. Ilustración 13: Modelo 3D del escenario, visto en perspectiva. También fue necesario el diseño y modelado 3D, de los siguientes objetos: • La mesa de la habitación 1, donde se desarrolla el juego, que podemos observar en la Ilustración 14.
pág. 26 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Ilustración 14: Modelo 3D de la mesa de juego. • La tabla de puntuaciones, que fue primero dibujada a mano, Ilustración 15, y luego se modeló en 3D como se ve en la Ilustración 16. Ilustración 15: Boceto a mano de la tabla de puntuaciones.
pág. 27 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Ilustración 16: Modelo 3D de la tabla de puntuaciones.
pág. 28 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria • Las señales donde se colocan los mensajes del tutorial, Ilustración 17. Ilustración 17: Modelo 3D señal de tutoriales. En todos estos modelos 3D se les añadió color y animaciones una vez dentro de Unity, utilizando la herramienta correspondiente para cada una de las dos tareas.
pág. 29 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria 3.5 Modelo de negocio El modelo de negocio, que seguiría nuestro juego, sería el que mantienen actualmente muchos de los videojuegos independientes. Esto quiere decir, que pondríamos el juego a la venta antes de que estuviera terminado totalmente, utilizando así a los jugadores como fuente de información para seguir mejorando y a la vez manteniendo el desarrollo con los ingresos obtenidos. Por otro lado, intentaríamos que alguna web o “youtuber 6 ” hiciera publicidad, para aumentar la viralidad de nuestro producto. Para tener una idea global de nuestro producto y de las cosas que ofrecemos con él, nos apoyaremos en el Lean Canvas adaptado a videojuegos de la Tabla 7, la versión estándar suele ser la mostrada en la. Plataforma Mecánicas Dinámica Estética Jugadores -Oculus Rift -GearVr -Windows - Cada acierto suma 10 puntos. - Se aumenta el multiplicador de puntuación en 1 unidad por cada acierto. - El multiplicador se reinicia por cada fallo a 1. - Competitividad. - Progresión. - Sencillo. - Competitivo. - Relajante. - Personas que poseen dispositivos de realidad virtual. - Personas que les guste competir contra si mismos y mejorar. Componentes Comportamientos - Puntuación. - Niveles de dificultad. - Tiempo límite. - Sonidos. - Animaciones. - Tabla de puntuaciones. - Responder encuestas. - Leer emails. - Recomendaciones. Costes Ingresos - Gastos en el desarrollo del videojuego. - Publicidad. - Publicarlo en la Oculus Store. - Pago por adquisición. Tabla 7: Lean Canvas 6 Persona que se dedica profesionalmente a realizar videos y subirlos a la plataforma de YouTube.
pág. 30 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria 3.6 Normativa y legislación 3.6.1 Reglamento que afecta al TFG El Real Decreto 1393/2007, de 29 de octubre, por el que se establece la ordenación de las enseñanzas universitarias oficiales, y su actualización en el Real Decreto 861/2010, de 2 de julio, indica que todas las enseñanzas oficiales concluirán con la elaboración y defensa de un Trabajo Fin de Título (en adelante, TFT) que ha de formar parte del plan de estudios, señala además, que el TFT deberá realizarse en la fase final del plan de estudios y estar orientado a la evaluación de las competencias asociadas al título. • Artículo 3.- Definición A los efectos de este Reglamento, con la denominación “Trabajo Fin de Título”, se designa a una asignatura que consiste en el desarrollo de un trabajo relativo a las competencias propias de la titulación, realizado de forma autónoma e individualizada por un estudiante universitario, bajo la orientación de un tutor académico que actuará como dinamizador y facilitador del proceso de aprendizaje. • Artículo 4.- Finalidad El TFT tiene por objetivo elaborar un trabajo en el que el estudiante universitario desarrolle las competencias y los conocimientos adquiridos, teóricos y prácticos como culminación de sus estudios y como preparación para el desempeño futuro de actividades profesionales en el ámbito correspondiente a la titulación obtenida. 3.6.2 Licencias del software En este proyecto, se hacen uso principalmente de seis elementos software de terceros: • Unity Personal • SketchUp • Visual Studio Community • ReSharper • Android Studio • Oculus Utilities for Unity 5
pág. 31 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Cada uno de ellos tiene sus términos legales y sus diferentes licencias del software, las cuales pasaremos a describir a continuación: • Unity Personal La versión de Unity Personal, permite desarrollar con fines comerciales, siempre que se cumpla el siguiente requisito: es necesario que la compañía que la esté utilizando, no supere los 100.000€ en ingresos brutos anuales o haya recaudado fondos superando esa misma cifra. En este caso, se deberá pasar a otra versión de Unity de pago según la cantidad de ingresos generados por la empresa. • SketchUp Para poder hacer uso comercial de cualquier material generado por esta aplicación es necesario adquirir una versión Pro de este mismo. • Visual Studio Community La versión de Visual Studio Community tiene dos tipos de restricciones para su uso, aun las que nos concierne es la primera: o Para usuarios individuales: Cualquier desarrollador individual puede usar Visual Studio Community para crear sus propias aplicaciones gratuitas o de pago. o Para organizaciones Un número ilimitado de usuarios dentro de una organización puede usar Visual Studio Community para los siguientes escenarios: en un entorno aprendizaje en clase, para investigación académica o para contribuir en proyectos de código abierto. • ReSharper La versión de ReSharper de estudiante, deja terminantemente prohibida la comercialización de cualquier producto desarrollador con esta aplicación. • Android Studio • Oculus Utilities for Unity 5
pág. 32 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Tanto Android Studio, como Oculus Utilities for Unity 5, no ponen ningún tipo de impedimento a la hora de comercialización de los productos realizados con ambos softwares.
pág. 33 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria 4 Desarrollo 4.1 Alcance de la implementación A continuación, se pasará a describir las características que fueron implementadas durante el desarrollo del proyecto: • El jugador puede continuar su anterior partida desde el menú de carga accionando el botón “Play Game”. • El jugador puede crear una nueva partida y empezar de cero desde el menú de carga accionando él botón de “New Game”, después se mostrará un dialogo para confirmar si se desea borrar la anterior partida. • El jugador puede moverse por el mundo en los transportadores, Ilustración 18 , enfocando la mirada a ellos y dándole al botón de acción. Ilustración 18: Transportador enfocado con la mirada. • El jugador, si dispone de un mando, puede usar este para moverse, activándolo desde el menú. Solo en Oculus Rift, no en GearVr. • El jugador puede iniciar un nivel, entrando en alguna de las habitaciones y buscando el panel de control de ese nivel y accionando el botón “Start”, Ilustración 19. • El jugador puede desbloquear diferentes niveles según avanza y completa cada nivel. • El jugador puede elegir la dificultad del nivel desde el panel de control, Ilustración 19.
pág. 34 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Ilustración 19: Panel de control, habitación número 1 • El jugador puede abortar un nivel, abriendo el panel de control y accionando el botón “Stop”, Ilustración 19. • El jugador puede observar sus mejores puntuaciones, abriendo el panel de puntuaciones, accionando el dispositivo de la Ilustración 20, que abrirá el panel de la Ilustración 21.
pág. 41 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Ilustración 26: Archivo SaveGame.bin abierto desde el Notepad++. 4.4 Tecnologías Como ya hemos comentado anteriormente el motor gráfico elegido has sido Unity, en este motor gráfico, los lenguajes de programación permitidos son JavaScript y C#, al conocer bastante bien Java, he optado por programar la lógica del juego en C# pues es muy parecidos, tanto a la hora de sintaxis, como a la hora de organización del código. Al haber elegido C#, te ves obligado a tener que utilizar Visual Studio como IDE
pág. 42 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria de programación. Para modelar los objetos en 3D se ha optado por la herramienta SketchUp, la cual nos permite exportar a Collada (.dae) y luego importarlo desde Unity. 4.4.1 C# Es un lenguaje de programación que apareció en el año 2000 y actualmente va por la versión 6.0. Es un lenguaje de programación orientado a objetos, desarrollado y estandarizado por Microsoft como parte de su plataforma .NET, que después fue aprobado como un estándar por la ECMA e ISO. Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET, similar al de Java, aunque incluye mejoras derivadas de otros lenguajes. Aunque C# forma parte de la plataforma .NET, ésta es una API, mientras que C# es un lenguaje de programación independiente diseñado para generar programas sobre dicha plataforma. Ya existe un compilador implementado que provee el marco Mono - DotGNU, el cual genera programas para distintas plataformas como Windows, Unix, Android, iOS, Windows Phone, Mac OS y GNU/Linux. 4.4.2 Unity Personal Es un motor de videojuego multiplataforma creado por Unity Technologies, que fue lanzado el 30 de mayo de 2005 y actualmente se encuentra en la versión 5.6 estable. Unity está disponible como plataforma de desarrollo para Microsoft Windows, OS X, Linux. La plataforma de desarrollo tiene soporte de compilación con diferentes tipos de plataformas. A partir de su versión 5.4.0 ya no soporta el desarrollo de contenido para navegador a través de su plugin web, en su lugar se utiliza WebGL. Unity tiene dos versiones: Unity Professional (pro) y Unity Personal. La primera versión de Unity se lanzó en la Conferencia Mundial de Desarrolladores de Apple en 2005. Fue construido exclusivamente para funcionar y generar proyectos en los equipos de la plataforma Mac y obtuvo el éxito suficiente como para continuar con el desarrollo del motor y herramientas. Unity 3 fue lanzado en septiembre de 2010 y se centró en empezar a introducir más herramientas que los estudios de alta gama por lo general tienen a su disposición, con el fin de captar el interés de los desarrolladores más grandes, mientras que proporciona herramientas
pág. 43 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria para equipos independientes y más pequeñas que normalmente serían difíciles de conseguir en un paquete asequible. En la Ilustración 27 se muestra como es la interfaz de usuario de la aplicación. Como se puede observar en la parte central, se encuentra la zona donde se colocan los objetos en el escenario, a la derecha se pueden observar las características de cada objeto, en la parte izquierda se encuentra la jerarquía de los objetos dentro de la escena y en la parte inferior el navegador de archivos y la consola. Aunque es totalmente personalizable al gusto de cada desarrollador. Ilustración 27: Interfaz gráfica predeterminada de Unity. 4.4.3 SketchUp es un programa de diseño gráfico y modelado en tres dimensiones (3D) basado en caras. Su fecha de lanzamiento es agosto de 2000 y actualmente se encuentra en la versión 16.1. Está pensado para entornos de arquitectura, ingeniería civil, diseño industrial, diseño escénico, GIS, videojuegos o películas. Es un programa desarrollado por @Last Software, empresa adquirida por Google en 2006 y finalmente vendida a Trimble en 2012. Su principal característica es poder realizar diseños en 3D de forma sencilla. El programa incluye entre sus recursos un tutorial en vídeo para aprender paso a paso cómo se puede diseñar y modelar el propio ambiente. Permite conceptualizar y
pág. 44 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria modelar imágenes en 3D de edificios, coches, personas y cualquier objeto o artículo que imagine el diseñador o dibujante, además de que el programa incluye una galería de objetos, texturas e imágenes listas para descargar. En la Ilustración 28 se muestra como es la interfaz de usuario de la aplicación. Al ser un programa de modelado 3D la mayoría de la interfaz es una ventana donde utilizar las diferentes herramientas, que estas distribuidas por los laterales de esa misma ventana. Las barras de herramientas se pueden colocar en la posición que más cómodo sea para el usuario. Ilustración 28: Interfaz de usuario del SketchUp. 4.4.4 Visual Studio Es un entorno de desarrollo integrado (IDE, por sus siglas en inglés) para sistemas operativos Windows. Su fecha de lanzamiento fue 1 de mayo de 1997 y actualmente se encuentras por la versión 2017. Soporta múltiples lenguajes de programación, tales como C++, C#, Visual Basic .NET, F#, Java, Python, Ruby y PHP, al igual que entornos de desarrollo web, como ASP.NET MVC, Django, etc. A partir de la versión 2005, Microsoft ofrece gratuitamente las Ediciones Express, que son versiones básicas separadas por lenguajes de programación o plataforma enfocadas a estudiantes y programación amateur. Estas ediciones son
pág. 45 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria iguales que el entorno de desarrollo comercial, pero sin características avanzadas de integración. En la Ilustración 29 se puede observar la interfaz de usuario del Visual Studio. Como en la mayoría de los IDEs 7 en el espacio central se dispone la ventana donde escribir las líneas de código, justo debajo se encuentra la consola y en la parte derecha de la aplicación el navegador de archivos. Como en la mayoría de los IDEs este se puede personalizar tanto en color, como en aspecto, pudiendo ajustar el tamaño de cada zona, añadir diferentes paneles y cambiarlos de lugar. Ilustración 29: Interfaz de usuario de Visual Studio predeterminada. 4.5 Pruebas Durante el desarrollo de la aplicación, se realizaron numerosas pruebas, para comprobar que la calidad era siempre la esperada. La mayoría de las pruebas se basaron principalmente en ejecutar la aplicación y simular diferentes escenarios posibles. 7 Del inglés Integrated Development Environment, entorno de desarrollo integrado , es una aplicación informática que proporciona servicios integrales para facilitarle al desarrollador o programador el desarrollo de software.
pág. 46 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Para ellos fue necesario que usuarios reales probaran la aplicación y detectaran errores durante su ejecución, con esto también se conseguía un feedback 8 importante, para poder mejorar más la aplicación. Al ser un entorno 3D realizar pruebas programáticas era más complicado que encontrar potenciales usuarios que pudieran probar nuestra aplicación, reportarnos los errores encontrados y proporcionarnos información muy valiosa sobre cómo mejorar la aplicación o simplemente comentarnos que aspectos les gustaban más. Los usuarios escogidos para este tipo de pruebas fueron tanto compañeros de clase como compañeros de la empresa. Ambos colectivos reportaron diferentes fallos, estéticos, técnicos o simplemente aportaron su opinión y dieron ideas para mejorar el proyecto. 4.6 Despliegue Gracias a la herramienta Unity, el despliegue en diferentes plataformas se facilita consideradamente, esta misma dispone de un panel (Ilustración 30), que permite seleccionar para que plataforma deseas desplegar la aplicación y en un solo clic se pone en marcha. 8 Retroalimentación, conjunto de reacciones o respuestas que manifiesta un receptor respecto a la actuación del emisor, lo que es tenido en cuenta por este para cambiar o modificar su mensaje.
pág. 47 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Ilustración 30: Panel de despliegue de Unity. 4.6.1 Despliegue para equipos de sobremesa. En las siguientes líneas se pasará a describir los diferentes pasos que se deben seguir si queremos desplegar nuestra aplicación: 1. Primero, una vez dentro de la herramienta Unity iremos a la barra superior e iremos a File>Build Settings…, esto nos llevará al panel de la Ilustración 30, que ya vimos anteriormente. 2. A continuación, deberemos seleccionar la plataforma PC, Mac & Standalone. 3. Si venimos de otra plataforma, deberemos dar clic en Switch Platform. 4. Por último, le daremos al botón de Build y nos saldrá un dialogo de donde deseamos que se guarde nuestra aplicación ya desplegada en el lugar elegido.
pág. 48 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Una vez concluido estos pasos, solo será necesario dirigirnos al lugar donde se realizó el despliegue y ejecutar la aplicación resultante del proceso. 4.6.2 Despliegue para equipos móviles Si se quiere desplegar en dispositivo móvil, los pasos a seguir para desplegarlo son parecidos, pues se debe seleccionar la plataforma Android. Además, se debe realizar una serie de configuraciones, debido a que tanto Oculus como Android no permiten ejecutar cualquier tipo de aplicación para evitar así posibles problemas de seguridad. Por lo tanto, ahora se pasará a explicar que pasos se deben llevar a cabo si se quiere hacer un despliegue correcto en Android: 1. Se debe bajar el SDK de Android, el Android Studio de la web https://developer.android.com 2. Especificar dentro de Unity > Preferences > External Tools y se abre el dialogo de la Ilustración 31. 3. En el apartado SDK, del dialogo de la Ilustración 31, hay que es especificar la ruta donde se instaló el SDK de Android, en nuestro caso la ruta fue Appdata/Local/Android/.
pág. 49 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Ilustración 31: Dialogo de External Tools Una vez terminado estos pasos se puede realizar un despliegue de la aplicación, pero a la hora de intentar ejecutarla en Android da un fallo, debido a que la aplicación no se encuentra firmada por Oculus. Para eso debemos seguir los siguientes pasos: 1. Debemos acceder al siguiente link https://dashboard.oculus.com/tools/osiggenerator/, ahí deberemos iniciar sesión y se nos mostrará algo como en la Ilustración 32. Ilustración 32: Página web de Oculus para firmar las aplicaciones.
pág. 50 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria 2. Tenemos que obtener el ID de nuestro dispositivo Android. Para poder introducirlo en la página, deberemos ejecutar un terminal del sistema operativo y ejecutar el comando siguiente, con el dispositivo conectado a la máquina: Esto debería mostrar algo parecido a lo siguiente: Donde “ce0551e7” seria el id del dispositivo. 3. Nos volvemos a dirigir a la página del primer paso e introducimos el ID obtenido desde la consola. 4. La página descargará un fichero, que es la firma. Este se debe introducir dentro del proyecto en el directorio Assets/plugins/Android/Assets/, en caso de no existir, se deberá crear el directorio y mover el archivo descargado a dicho lugar. Ahora ya se puede desplegar y ejecutar nuestra aplicación en un dispositivo móvil. adb devices List of devices attached ce0551e7 device
pág. 57 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Ilustración 36: Tercera página del manual, con los controles.
pág. 58 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria 6.2 Anexo II: Referencias Para que el lector pueda ampliar sus conocimientos sobre los expuesto en este documento se da paso a los links consultados durante el desarrollo del proyecto, todos estos links se encuentras disponibles a fecha de 10/07/2017. Se han dividido en diferentes categorías para facilitar su organización y poder buscar con mayor facilidad. 6.2.1 Consultas terminológicas • Wikipedia o https://es.wikipedia.org/wiki/Wikipedia:Portada • RAE o http://dle.rae.es/?id=DgIqVCc 6.2.2 Recursos: Software • Visual Studio o https://www.visualstudio.com/es/vs/ o https://es.wikipedia.org/wiki/Microsoft_Visual_Studio • Unity 5.5 o https://unity3d.com/es/unity o https://es.wikipedia.org/wiki/Unity_(motor_de_juego) • ProjectLibre o http://www.projectlibre.com/product/projectlibre-open-source o https://es.wikipedia.org/wiki/ProjectLibre • SketchUp o http://www.sketchup.com/es/products/sketchup-pro o https://es.wikipedia.org/wiki/SketchUp • Android Studio o https://developer.android.com/studio/index.html • C# o https://es.wikipedia.org/wiki/C_Sharp 6.2.3 Hardware • Realidad Virtual o https://es.wikipedia.org/wiki/Realidad_virtual • Oculus Rift o https://www.oculus.com/rift/
pág. 59 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria o https://es.wikipedia.org/wiki/Oculus_Rift • GearVR o https://es.wikipedia.org/wiki/Samsung_Gear_VR o http://www.samsung.com/es/wearables/gear-vr-sm-r324/ 6.2.4 Tutoriales • Tutoriales de Unity 3D o https://unity3d.com/es/learn/tutorials 6.2.5 Normativa y legislación • Unity 3D o https://unity3d.com/es/legal/eula • SketchUp o https://www.sketchup.com/es/license/c/sketchup • Visual Studio o https://www.visualstudio.com/es/vs/community/ • ReSharper o https://www.jetbrains.com/student/license_educational.html • Android Studio o https://developer.android.com/legal.html?hl=es-419 • Oculus Utilities for Unity 5 o https://developer.oculus.com/licenses/ 6.3 Anexo III: Logos Cuando instalamos una aplicación, tanto en el ordenador, como en el móvil, siempre lo que buscamos es el icono de la aplicación, que suele ser un logo representativo de esta misma, pues nos resulta más sencillo que leernos los nombres de cada una de las aplicaciones instaladas. Por lo tanto, se realizó un diseño, más o menos básico, de un logo y un icono para esta misma. De esta forma se le aporta una mayor formalidad al proyecto y se facilita que el usuario la encuentre sin tener que buscar por todas sus aplicaciones leyendo los nombres. En la Ilustración 37 se puede observar el primer diseño del logo. Después, fue sustituido por el de la Ilustración 38 el cual es el actual logo de la aplicación. También
pág. 60 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria se le añadió un fondo, para darle más aspecto de icono, Ilustración 39. Para realizar estos logos se hizo uso de la herramienta GIMP 9 . Ilustración 37: Primera versión del logo. 9 Son las siglas de GNU Image Manipulation Program. Es un programa de edición de imágenes digitales en forma de mapa de bits, tanto dibujos como fotografías. Es un programa libre y gratuito. Forma parte del proyecto GNU.
pág. 61 Videojuego de memoria para realidad virtual y aumentada con las Oculus Rift Trabajo de fin de grado Universidad de Las Palmas de Gran Canaria Ilustración 38: Segunda versión del logo. Ilustración 39: Icono de la segunda versión del logo.