Universidad de La Salle Ciencia Unisalle Ingeniería en Automatización Facultad de Ingeniería 5-15-2021 Desarrollo de una aplicación móvil de realidad aumentada para el Museo de Ciencias de la Universidad de la Salle Laura Gabriela Munevar Barrera UniversidaddelaSalle,Bogotá, [email protected] Follow this and additional works at: https://ciencia.lasalle.edu.co/ing_automatizacion Part of the Computational Engineering Commons, and the Engineering Education Commons Citación recomendada Munevar Barrera, L. G. (2021). Desarrollo de una aplicación móvil de realidad aumentada para el Museo de Ciencias de la Universidad de la Salle. Retrieved from https://ciencia.lasalle.edu.co/ ing_automatizacion/801 This Trabajo de grado - Pregrado is brought to you for free and open access by the Facultad de Ingeniería at Ciencia Unisalle. It has been accepted for inclusion in Ingeniería en Automatización by an authorized administrator of Ciencia Unisalle. For more information, please contact [email protected]. DESARROLLO DE UNA APLICACIÓN MÓVIL DE REALIDAD AUMENTADA PARA EL MUSEO DE CIENCIAS DE LA UNIVERSIDAD DE LA SALLE Presentado por: LAURA GABRIELA MUNEVAR BARRERA UNIVERSIDAD DE LA SALLE FACULTAD DE INGENIERÍA Bogotá D.C 2021 DESARROLLO DE UNA APLICACIÓN MÓVIL DE REALIDAD AUMENTADA PARA EL MUSEO DE CIENCIAS DE LA UNIVERSIDAD DE LA SALLE Presentado por: LAURA GABRIELA MUNEVAR BARRERA Trabajo de grado para optar por el título de Ingeniera en Automatización ALVARO ANTONIO PATIÑO FORERO DIRECTOR DEL PROYECTO UNIVERSIDAD DE LA SALLE FACULTAD DE INGENIERÍA Bogotá D.C 2021 Nota de aceptación: ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ Firma del director Ing. Álvaro Antonio Patiño Forero ____________________________________ Firma del jurado Ing. Jorge Eliécer Rangel Díaz i Bogotá D.C, 15 de mayo de 2021 Dedico este trabajo de grado a mis padres porque con sus enseñanzas, amor y guía me han hecho la persona que soy hoy. ii Agradecimientos En primer lugar quiero agradecer a mi padres por todo el amor, la paciencia y el apoyo que me han brindado desde que decidí estudiar esta carrera, quiero agradecer a mis hermanitos de manera especial por ser los rayitos de alegría y felicidad en mi día a día, mis motivos de ser mejor cada día. A mis amigos Gabo, Lula, Nicole, Lizzie, Harlito, quienes siempre me brindaron su amistad genuina e incondicional durante esta etapa. Son las mejores personas con las que me pude haber cruzado. Agradezco también a cada uno de los docentes con los cuáles compartí a lo largo de mi carrera y quiénes dedicaron su tiempo y esfuerzo para hacer de mí una buena profesional. Agradezco de manera especial al ingeniero Álvaro por su acompañamiento en el proceso de desarrollo del proyecto. ii i RESUMEN El presente proyecto de grado se enmarca en el desarrollo de una aplicación móvil de realidad aumentada específicamente para realizar exhibiciones y recorridos en el museo de ciencias de la Universidad de la Salle. El proceso de presentación de los temas por parte de los curadores y expositores del museo, debido a la extensión y complejidad de los temas puede resultar arduo. Por ello se plantea el desarrollo de un aplicación móvil de realidad aumentada que permita determinar si aplicando su uso mediante la metodología mobile-D, mejora la facilidad de exposición y el interés de los visitantes en los temas expuestos. Desarrollada la aplicación se realizaron pruebas de funcionamiento analizando caracteristicas como la facilidad de uso de las interfaces, funcionamiento de la realidad aumentada y el tiempo de reconocimiento de las targets demostrando buenos resultados y comentarios por parte de los usuarios que probaron la aplicación. Palabras clave: Realidad aumentada, Aplicación móvil, Mobile-D, Unity, Museo, Modelo 3D, target. ÍNDICE GENERAL viii RESUMEN ............................................................................................................ viii ÍNDICE GENERAL .................................................................................................. ix ÍNDICE DE TABLAS ............................................................................................... xi ÍNDICE DE FIGURAS ........................................................................................... xiii Glosario ................................................................................................................. xv 1. INTRODUCCIÓN .............................................................................................. 1 2. MARCO TEÓRICO ............................................................................................ 3 2.1 Aplicación .......................................................................................... 3 2.1.1 Móvil Tipos de aplicación ............................................................................... 4 2.2 Sistemas Operativos ...................................................................... 5 Móviles 2.2.1 Android ................................................................................................. 5 2.2.2 iOS ....................................................................................................... 7 2.2.3 BlackBerry OS ...................................................................................... 8 2.3 ..... 9 Unity....................................................................................................... 2.4 Vuforia ...................................................................................................... 10 2.5 Realidad ................................................................................ 11 2.6 Metodologías ................................ 11 2.6.1 Mobile-D 12 de desarrollo de Aumentada aplicaciones móviles ............................................................................................. ix 2.7 Justificación .......................... 15 y Selección de las herramientas de diseño 3. DESARROLLO DE LA APLICACIÓN MÓVIL DE REALIDAD AUMENTADA .. 21 3.1 Exploración ............................................................................................... 21 3.1.1 Establecimiento de los grupos de intereses o Stakeholders .............. 21 3.1.2 Definición del Alcance ........................................................................ 21 3.1.3 Identificación módulos y requerimientos ............................................ 22 3.1.4 Establecimiento del proyecto ............................................................. 26 3.2 Inicialización ............................................................................................. 27 3.2.1 Configuración del proyecto: ................................................................ 27 3.2.2 Arquitectura del proyecto ................................................................... 28 3.2.3 Planificación Inicial ............................................................................. 29 3.3 Producción ................................................................................................ 44 3.3.1 Tarjetas de historias de usuario ......................................................... 44 3.4 Estabilización ............................................................................................ 52 3.5 Pruebas .................................................................................................... 58 3.5.1 Objetivo .............................................................................................. 58 3.5.2 Estrategia de pruebas: ....................................................................... 59 4. RESULTADOS Y VALIDACIÓN ...................................................................... 64 4.1 Metodología verificación ....................................................... 64 x y validación 4.2 Resultados de ................................................. 67 la verificación y validación 5. CONCLUSIONES Y RECOMENDACIONES .................................................. 85 5.1 CONCLUSIONES ..................................................................................... 85 5.2 RECOMENDACIONES ............................................................................. 86 BIBLIOGRAFÍA ...................................................................................................... 87 ANEXOS ................................................................................................................ 90 ÍNDICE DE TABLAS Autora)....................... Ошибка! Закладка не определена. Tabla 2. Módulos Por Desarrollar (Fuente: Autora) ................................................ 24 Tabla 3. Requerimientos funcionales (Fuente: Autora) .......................................... 26 Tabla 4.Requerimientos no funcionales (Fuente: Autora) ...................................... 28 Tabla 5. Herramientas para el desarrollo del proyecto (Fuente: Autora) ................ 28 Tabla 6. Planificación por fases (Fuente: Autora)................................................... 30 Tabla 7. Modelo de Historia de Usuario (Fuente: Autora) ...................................... 34 Tabla 8. Descripción de prototipos (Fuente: Autora) .............................................. 40 Tabla 9. Historia de Usuarios (Fuente: Autora) ...................................................... 46 Tabla 10. Historia de Usuario H001 (Fuente: Autora) ............................................ 47 Tabla 11. Historia de Usuario H002 RF002 (Fuente: Autora) ................................. 47 Tabla 12. Historia de Usuario H002 RF003 (Fuente: Autora) ................................. 48 Tabla 13. Historia de Usuario H002 RF004 (Fuente: Autora) ................................. 48 Tabla 14. Historia de Usuario H003 RF005 (Fuente: Autora) ................................. 49 Tabla 15. Historia de Usuario H004 RF006 (Fuente: Autora) ................................. 49 Tabla 16. Historia de usuario H005 RF007 (Fuente: Autora) ................................. 50 Tabla 17. Historia de Usuario H006 RF008 (Fuente: Autora) ................................. 51 Tabla 18. Historia de Usuario H007 RF009 (Fuente: Autora) ................................. 51 Tabla 19. Historia de Usuario H008 RF010 (Fuente: Autora) ................................. 52 xi Tabla 20. Historia de usuario H009 RF011 (Fuente: Autora).................................. 52 Tabla 21. Historia de Usuario H010 (Fuente: Autora) ............................................ 53 Tabla 22. Caso de prueba 1 (Fuente: Autora) ........................................................ 61 Tabla 23. Caso de prueba 2 (Fuente: Autora) ........................................................ 61 Tabla 24. Caso de prueba 3 (Fuente: Autora) ........................................................ 62 Tabla 25. Caso de prueba 4 (Fuente: Autora) ........................................................ 62 Tabla 26. Caso de prueba 5 (Fuente: Autora) ........................................................ 63 Tabla 27. Caso de prueba 6 (Fuente: Autora) ........................................................ 64 Tabla 28. Caso de prueba 7 (Fuente: Autora) ........................................................ 65 Tabla 29. Cuestionario preguntas para los usuarios de la prueba. (Fuente: Autora) .............................................................................................................................. 66 Tabla 30. Respuestas 1era pregunta(Fuente: Autora) ........................................... 69 Tabla 31. Respuestas segunda pregunta (Fuente: Autora).................................... 70 Tabla 32. Respuestas tercera pregunta (Fuente: Autora) ...................................... 71 Tabla 33. Respuestas cuarta pregunta (Fuente: Autora) ....................................... 72 Tabla 34. Respuesta quinta pregunta (Fuente: Autora) ......................................... 72 Tabla 35. Resultados sexta pregunta (Fuente: Autora) .......................................... 73 Tabla 36. Respuesta séptima pregunta (Fuente: Autora)....................................... 74 Tabla 37. Tabla octava pregunta (Fuente: Autora) ................................................. 75 Tabla 38. Respuesta novena pregunta (Fuente: Autora) ....................................... 76 Tabla 39. Respuesta decima pregunta (Fuente: Autora) ....................................... 76 Tabla 40. Respuestas décimo primera pregunta (Fuente: Autora) ......................... 77 Tabla 41. Respuestas décimo segunda pregunta (Fuente: Autora) ....................... 78 Tabla 42. Respuestas décimo tercera pregunta (Fuente: Autora) .......................... 79 Tabla 43. Respuestas décimo cuarta pregunta (Fuente: Autora) ........................... 80 Tabla 44. Pruebas de tiempo de reconocimiento usuario 1 (Fuente: Autora) ........ 81 Tabla 45. Media y Mediana prueba usuario 1 (Fuente: Autora) ............................. 83 Tabla 46. Pruebas de tiempo de reconocimiento usuario 2 (Fuente: Autora) ........ 83 Tabla 47. Media y mediana prueba usuario 2 (Fuente: Autora) ............................. 84 xii Tabla 1. Cuadro comparativo de ventajas y desventajas de herramientas (Fuente: ÍNDICE DE FIGURAS Figura 1. Sistema Operativo Android (Android OS, 2020) ....................................... 6 Figura 2. Sistema operativo IOS (Apple Inc, 2021) .................................................. 8 Figura 3. BlackBerry 10 OS (Blackberry US Page, 2021) ........................................ 9 Figura 4. Unity logo (Unity, 2021) .......................................................................... 10 Figura 5. Vuforia logo (Vuforia Developer, 2021) ................................................... 10 Figura 6. Realidad Aumentada. (Realidad Aumentada, 2021) ............................... 11 Figura 7. Ciclo de Desarrollo Mobile-D (Meneses & Laveriano, 2016) .................. 13 Figura 12. Arquitectura de la aplicación. (Fuente: Autora) ..................................... 29 Figura 13. Flujo de navegación parte 1. (Fuente: Autora) ...................................... 33 Figura 14. Target visualización Tiburón (Fuente: Autora) ...................................... 34 Figura 15. Target visualización Murciélago (Fuente: Autora) ................................. 35 Figura 16. Target visualización Serpiente (Fuente: Autora) ................................... 35 Figura 17. Flujo de pantalla aplicación parte 2 (Fuente: Autora) ........................... 36 Figura 18. Flujo de pantalla aplicación parte 3 (Fuente: Autora) ........................... 37 Figura 19. Flujo de pantalla aplicación parte 4 (Fuente: Autora) ........................... 38 Figura 20.Flujo de pantalla aplicación parte 5 (Fuente: Autora) ............................ 38 Figura 21. Diagrama de capas del Aplicativo (Fuente: Autora) .............................. 52 Figura 22. Nivel de interfaz de usuario de la aplicación (Fuente: Autora) .............. 53 Figura 23. Nivel de Escenario del aplicativo (Fuente: Autora) ............................... 54 Figura 24. Objetos del juego (Fuente: Autora) ....................................................... 54 Figura 25. Diagrama de clase capa negocio (Fuente: Autora) ............................... 55 Figura 26. Objetos de juego en la aplicación (Fuente: Autora) .............................. 56 Figura 27. Evento del aplicativo. (Fuente: Autora) ................................................. 56 Figura 28. Diagrama de clases capa negocio (Fuente: Autora) ............................. 57 Figura 29. Casos de uso (Fuente: Autora) ............................................................. 58 Figura 30. Diagrama de torta respuestas primera pregunta (Fuente: Autora) ....... 67 xiii Figura 31. Diagrama de torta segunda pregunta (Fuente: Autora) ........................ 68 Figura 32. Diagrama de torta tercera pregunta (Fuente: Autora) ........................... 69 Figura 33. Diagrama de torta cuarta pregunta (Fuente: Autora) ............................ 70 Figura 34. Diagrama de torta quinta pregunta (Fuente: Autora) ............................ 71 Figura 35. Diagrama de torta sexta pregunta (Fuente: Autora) ............................. 72 Figura 36. Diagrama de torta séptima pregunta (Fuente: Autora).......................... 73 Figura 37. Diagrama de barras octava pregunta (Fuente: Autora)......................... 74 Figura 38. Diagrama de torta novena pregunta (Fuente: Autora) .......................... 75 Figura 39. Diagrama de torta decima pregunta (Fuente: Autora) .......................... 76 Figura 40. Diagrama de barras décimo primera pregunta (Fuente: Autora) .......... 77 Figura 41. Diagrama de torta décimo segunda pregunta (Fuente: Autora) ............ 78 Figura 42. Diagrama de barras décimo tercera pregunta (Fuente: Autora) ........... 79 Figura 43. Diagrama de barras décimo cuarta pregunta (Fuente: Autora) ............. 80 Figura 44. Datos pruebas de reconocimiento target usuario 1 (Fuente: Autora) ... 82 Figura 45. Datos pruebas de reconocimiento target persona 2 (Fuente: Autora) .. 84 Glosario A Android: Sistema Operativo que se emplea en dispositivo móviles, por lo general con pantalla táctil. (Alonso, Artime, Rodríguez, & Baniello, 2011) Aplicación Móvil: Aplicación informática diseñada para ser ejecutada en teléfonos inteligentes, tables y otros dispositivos móviles. Generalmente se encuentran disponibles a través de plataformas de distribución, operadas por las compañías propietarias de los sistemas operativos móviles como Android, iOS, BlackBerry OS, Windows Phone, entre otros. (Alonso, Artime, Rodríguez, & Baniello, 2011) API: Siglas de Interfaz de Programación de Aplicaciones. Es un conjunto de funciones, métodos o procedimientos que ofrece una biblioteca para ser utilizado por otro software como una capa de abstracción. (Páez) xiv APK: Es el formato de archivo utilizado para la instalación de software en el sistema operativo Android.1 I IDE: Aplicación compuesta por un conjunto de herramientas útiles para un programador.1 Interfaz: Conjunto de elementos de la pantalla que permiten al usuario realizar acciones sobre el sitio web que está visitando.1 M Metodología: Grupo de mecanismos o procedimientos racionales, empleados para el logro de un objetivo, o serie de objetivos que dirige una investigación científica. 1 Mobile-D: Metodología ágil basada en Rational Unified Process, Extreme Programming y Crystal Methodologies, y su finalidad en intentar obtener pequeños ciclos de desarrollo de forma rápida en dispositivos, consta de cinco fases: Fase de exploración, fase de inicialización, fase de producción, fase de estabilización y fase de pruebas. (Rahimian & Ramsin, 2008) Multiplataforma: Válido para varios sistemas operativos. (Cuello & Vittone, 2013) R Realidad Aumentada: Consiste en combinar el mundo real con el virtual mediante un proceso informático, enriqueciendo la experiencia visual y mejorando la calidad de comunicación. (Ding M. , 2017) S 1 (Chacon & Tuiro, 2018) xv Script: Archivo de órdenes, archivo de procesamiento por lotes o guion es un programa usualmente simple, que por lo regular se almacena en archivos de texto plano. (Juliani, y otros, 2018) SDK: Conjunto de herramientas y programas de desarrollo que permite al programador crear aplicaciones para un determinado paquete de software, estructura de software, plataforma de hardware, los SDK incluyen herramientas debugger y muchas veces un entorno de programación IDE. (Cuello & Vittone, 2013) Sistema: Conjunto de partes o elementos organizados y relacionadas que interactúan entre sí para lograr un objetivo. (Chacon & Tuiro, 2018) Smartphone: Anglicismo. Teléfono móvil construido sobre una plataforma informática móvil, con capacidad para almacenar datos y realizar actividades asemejándose a una minicomputadora. (Alonso, Artime, Rodríguez, & Baniello, 2011) Software: Conjunto de instrucciones que las computadoras emplean para manipular datos. Stakeholders: Persona o negocio que ha invertido dinero en cualquier tipo de proyecto comercial. (Rahimian & Ramsin, 2008) T Tecnología: Conjunto de técnicas, conocimientos y procesos, que sirven para el diseño y construcción de objetos para satisfacer necesidades humanas. (Alonso, Artime, Rodríguez, & Baniello, 2011) V Vuforia: SDK que permite construir aplicaciones basadas en la realidad aumentada utilizando la pantalla del dispositivo donde se entrelazan elementos del mundo real con elementos virtuales. (Chacon & Tuiro, 2018) U xvi Unity: Motor de desarrollo para la creación de juegos y contenidos 3D interactivos, con las características que es completamente integrado y que ofrece innumerables funcionalidades para facilitar el desarrollo de videojuegos. (Chacon & Tuiro, 2018) xvii 1. INTRODUCCIÓN El consumo cultural en Colombia según datos del DANE 2017 aparece influenciados por alta presencia de niños, niñas adolescentes y jóvenes pero en su mayoría son consumidores por medios digitales, internet, redes sociales, etc. La revolución tecnológica ha tenido una influencia decisiva en este consumo. Hacer que la interacción de los temas del museo de la universidad de la Salle se unan a esta revolución tecnológica, que permita nuevos modos de llegar a su público usando esta poderosa herramienta facilita acceder de manera más sencilla al público siendo esta de un modo más usual y acorde con estos avances. De acuerdo con la Informe Trendwatch 2015, la personalización mediada digitalmente y el aprendizaje personalizado son dos tendencias mundiales destacadas en los museos en los últimos años. La mayoría de los museos con más 50.000 visitantes en el sitio están utilizando nueva tecnología solo para dispositivos móviles. A través de aplicaciones móviles, los museos pueden proporcionar información complementaria sobre una exposición o el propio museo; o como guía móvil personalizada a través de la colección del museo o los espacios de la galería. (Ding M. , 2017) En diferentes artículos donde se ha estudiado el uso de la tecnología y la realidad aumentada se destaca como una herramienta muy potente para la interacción y el aprendizaje de los visitantes. "Cuando aprenden con simulaciones, los alumnos interactúan con el modelo a través de una interfaz que les permite cambiar los valores de las variables de entrada y observar los efectos de estos cambios en las variables de salida. Los programas de simulación se pueden utilizar como la base para la formación de conocimientos o habilidades (o una combinación de ambos). En el caso de aprendizaje de habilidades prácticas, la transferencia a situaciones reales es crucial, 1 por lo que a menudo se prefiere la alta fidelidad. La alta fidelidad significa que el modelo en la simulación debe ser realista y también que la interfaz (tanto de entrada como de salida) debe ser cercana a la situación real.” (Sarracino, 2017). Teniendo en conocimiento el uso de las aplicaciones móviles para distintos campos y su eficacia el presente trabajo de grado tiene como objetivo diseñar e implementar un aplicativo móvil con realidad aumentada para el museo de ciencias de la universidad de la Salle. 2. MARCO TEÓRICO 2 En este capítulo se realizó el trabajo investigativo donde se mencionan los conceptos necesarios para el desarrollo de este trabajo de grado empezando con conceptos como los sistemas operativos móviles, entornos de desarrollo para la programación de realidad aumentada y metodologías para la elaboración de la aplicación móvil. 2.1 Aplicación Móvil Es un software de aplicación que es creado para correr en dispositivos móviles, como smartphones y tablets. Las primeras aplicaciones móviles surgen a finales de los años 90. Algunas de éstas fueron las apps de contactos, agenda, editores de ringtone. Fueron y son apps que cubren funciones muy básicas, pero que facilitan la gestión del día a día. Las aplicaciones móviles fueron evolucionando y surgieron los primeros juegos populares como el Tetris, instalado por primera vez en un teléfono móvil en 1994, en Dinamarca; o el famoso juego de Nokia, Snake, mundialmente reconocido. En 2007, con la entrada de Apple y Android en este mercado, las reglas del juego cambiaron y surgen nuevas estrategias en el mundo de las apps, apareciendo las tiendas de aplicaciones móviles que permitieron a otros desarrolladores y compañías externas estar en este mercado para poder llegar a todos los usuarios que quisieran disfrutar de la experiencia de utilizar una app. El concepto de software cambia, dejando de ser necesario comprar los programas para instalarlos en el ordenador, ya que bastaba con encontrar la aplicación que querías e instalarla en tu dispositivo móvil. Estas son las tiendas más conocidos como Google Play y App Store, los cuales actualmente cuentan con un total de 6 millones de aplicaciones 3 aproximadamente, según los últimos datos recogidos por Statista. (Juarez, 2019) 2.1.1 Tipos de aplicación Hay 3 tipos de aplicaciones: nativa, web, e hibrida. Nativa: Las aplicaciones nativas son específicamente creadas para una plataforma, como iPhone o Android, y pueden hacer uso de todas las características del dispositivo, como la cámara, GPS, lista de contactos, y notificaciones del sistema. Son llamadas aplicaciones nativas porque son “nativas” de cualquiera que sea el dispositivo para el que fueron desarrolladas para usar. Estas son las aplicaciones que usted generalmente puede encontrar en lugares como Google Play o la Tienda de Aplicaciones de Apple (Apple’s App Store). Estas aplicaciones son generalmente las más rápidas de los tres tipos de aplicaciones. (Meneses & Laveriano, 2016) Web: Una aplicación web es un sitio web que actúa como una aplicación nativa, pero no están instaladas o implementadas de la misma forma. Ellas usan un navegador web y usualmente usan HTML5. También se apoyan en un navegador web en común de acuerdo para interpretar la aplicación. Sin embargo, la distinción entre aplicaciones nativas y aplicaciones web está volviéndose cada vez más pequeña mientras más sitios comienzan a usar HTML5. Una aplicación web puede tener algunas ventajas sobre una aplicación nativa porque son más fáciles de crear y desarrollar y proveen compatibilidad entre plataformas. (Meneses & Laveriano, 2016) Híbrida: Una aplicación híbrida es justo lo que el nombre indica – una combinación entre una aplicación web y una aplicación nativa. Ellas “viven” en una tienda de aplicaciones y pueden hacer uso de las características del 4 dispositivo casi de la misma forma que una aplicación nativa. (Meneses & Laveriano, 2016) 2.2 Sistemas Operativos Móviles Los sistemas operativos móviles son sistemas ligeros que controlan un dispositivo móvil y están orientados a la conectividad inalámbrica. Según lo visto anteriormente, las empresas desarrolladas de sistemas operativos y aplicaciones móviles ganaron fuerza a través de los años al darle un importante valor agregado a los dispositivos móviles. Hoy en día el mercado de aplicaciones móviles tiene cuatro (4) principales participantes (Android, Apple, RIM, Microsoft). Nokia, con su sistema operativo Symbian, era el quinto participante hasta el año 2013, que anunció que no sacaría más celulares inteligentes con este sistema operativo y que los haría con el sistema operativo de Microsoft. A su vez, Firefox OS, fue lanzado en el mercado en el 2013 con los celulares ZTE. A continuación, se detalla un poco de las características de cada sistema operativo móvil: 2.2.1 Android Sistema operativo basado en Linux, que está enfocado para ser utilizado en dispositivos móviles como teléfonos inteligentes, tabletas y otros dispositivos. Tiene una gran comunidad de desarrolladores escribiendo aplicaciones para extender la funcionalidad de los dispositivos. A la fecha, se encuentra bien posicionado en el mercado de teléfonos inteligentes. Las aplicaciones oficiales de Android se encuentran en Google Play, tienda de aplicaciones en 5 línea administrada por Google. Los programas están escritos en lenguaje de programación Java. No obstante, no es un sistema operativo libre de virus. Android se compone de un núcleo basado en el núcleo Linux 2.6 y Linux Kernel 3.x (Android 4.0 en adelante), con middleware, librerías y APIs escrito en C y el software de la aplicación que se ejecuta en un marco de aplicación incluye bibliotecas compatibles con Java basado en Apache Harmony. (Bryan, 2012) Figura 1. Sistema Operativo Android (Android OS, 2020) Las características con las que cuentan los dispositivos que tiene Android como sistema operativo son: - Se adapta a pantallas de distintas resoluciones. - Utiliza la base de datos SQLite para el almacenamiento de datos. - Soporta las tecnologías de conectividad: Bluetooth, Wi-Fi, GSM/EDGE, CDMA. - Soporta distintas formas de mensajería cortos y multimedia (SMS y MMS). - Cuenta con un navegador web. - Soporta aplicaciones que están escritas en el lenguaje de programación Java. 6 - Soporta distintos formatos multimedia. - Soporte hardware adicional como cámara de foros, de video, pantalla táctil, GPS, entre otros. - Cuenta con una tienda online, Google Play, la cual es un catálogo de aplicaciones gratuitas o de pago que pueden ser descargadas e instaladas. - Soporta multitarea, es decir, se pueden ejecutar más de dos aplicaciones al mismo tiempo y video llamada. (Ruiz, 2015) 2.2.2 iOS Sistema operativo móvil de Apple. Originalmente desarrollado para el iPhone, siendo después usado en dispositivos como iPod Touch, iPad y Apple TV, productos de Apple, creador del sistema operativo. La interfaz de usuario de iOS está basada en el concepto de manipulación directa, usando gestos multitáctiles. Los elementos de control consisten en deslizadores, interruptores y botones. La respuesta a las órdenes del usuario es inmediata y provee de una interfaz fluida. (Meneses & Laveriano, 2016) A nivel de hardware y software para desarrollar aplicaciones para ¡OS se necesita un ordenador Mac con el Kit de Desarrollador de Software SDK que en este caso es XCode, el software oficial de Apple para desarrollo para iPhone e iPad, de descarga gratuita. (Pedrozo, 2012) 7 Figura 2. Sistema operativo IOS (Apple Inc, 2021) Las características con las que cuenta este sistema operativo son: - Cuenta con una pantalla principal, en la cual se ubican los iconos de las aplicaciones. - Brinda un sistema simple de carpetas, con la cual se brinda facilidad al usuario de mover aplicaciones. - Cuenta con un centro de notificaciones, acerca de las actualizaciones del sistema operativo. - Soporta multitarea. - No permite ciertas tecnologías como Adobe Flash ni Java. (Camazón, 2011) 2.2.3 BlackBerry OS Sistema operativo móvil desarrollo por la empresa Research In Motion (RIM) para sus dispositivos BlackBerry. El sistema permite multitarea y tiene soporte para diferentes métodos de entrada. Los dispositivos BlackBerry permite el acceso a correo electrónico, navegación web y 8 sincronización con programas de IBM, aparte de hacer las funciones usuales de un teléfono móvil. Figura 3. BlackBerry 10 OS (Blackberry US Page, 2021) Las características con las que cuenta este sistema operativo son: - Está orientado a uso profesional como gestor de correo electrónico y agenda. - Cuenta con un servidor (BES) que proporciona acceso y organización del email en grandes compañías. - Identifica a cada usuario con un único BlackBerry PIN. - Permiten que desarrolladores independientes también puedan crear programas para BlackBerry, pero con acceso limitado. (Meneses & Laveriano, 2016) 2.3 Unity Unity es un motor de juego multiplataforma desarrollado por Unity Technologies, anunciado y lanzado por primera vez en junio de 2005 en la Conferencia Mundial de Desarrolladores de Apple Inc. como motor de juego exclusivo de Mac OS X. Desde entonces, el motor se ha ampliado gradualmente para admitir una variedad de plataformas de escritorio, 9 dispositivos móviles, consolas y realidad virtual. Es particularmente popular para el desarrollo de juegos móviles iOS y Android y se usa para juegos como Pokémon Go, Monument Valley, Call of Duty: Mobile, Beat Sabre y Cuphead. (Bradshaw & Kruppa, 2020) Figura 4. Unity logo (Unity, 2021) 2.4 Vuforia Existe un SDK denominado Vuforia (creado por la empresa Qualcomm), que permite crear aplicaciones de RA en conjunto con Unity3D. Su ventaja como multiplataforma son la exportación de proyectos a diversos dispositivos móviles y ordenadores con muy poco espacio de memoria. Es decir, una de las principales características de Vuforia es que integra en un solo archivo todos aquellos elementos necesarios para generar una aplicación de RA. Estos elementos son: una cámara de RA, botones virtuales, marcadores y scripts. (Cadeñanes, 2014) Figura 5. Vuforia logo (Vuforia Developer, 2021) 10 2.5 Realidad Aumentada Realidad Aumentada: también conocida como AR, proporciona una vista en vivo de un entorno del mundo real con elementos que se incrementan con imágenes generadas por computadora. A diferencia de la realidad virtual (VR), que proporciona todo un entorno artificial, AR hace uso del entorno existente y superpone nueva información sobre él. Desdibuja la línea entre la realidad y la información generada por computadora al mejorar lo que vemos, oímos, sentimos y olemos. (Ding M. , Augmented reality in museums, 2017) Figura 6. Realidad Aumentada. (Realidad Aumentada, 2021) 2.6 Metodologías de desarrollo de aplicaciones móviles2 En el mundo del desarrollo de software existen muchos métodos de desarrollo, cada uno con sus puntos fuertes y sus puntos débiles. En el caso del desarrollo de aplicaciones móviles sucede lo mismo. 2 (Vique, 2019) 11 Una de las características importantes de la gran mayoría de los desarrollos móviles es su corta duración. Esto se debe a factores como la gran competencia en el sector, los cambios en el mismo con la aparición, casi constante, de novedades tanto software como hardware, el hecho de que muchas aplicaciones nacen con un desarrollo precoz en forma de prototipo y van evolucionando después o incluso la simplicidad de las aplicaciones, que no requieren grandes desarrollos. Esta suele ser, salvo algunas excepciones, la norma de los desarrollos de aplicaciones para dispositivos móviles. 2.6.1 Mobile-D El método Mobile-D se desarrolló junto con un proyecto finlandés en el 2004. Fue realizado, principalmente, por investigadores de la VIT3 y, a pesar de que es un método antiguo, sigue en vigor (se está utilizando en proyectos de éxito y está basado en técnicas que funcionan). El objetivo es conseguir ciclos de desarrollos muy rápidos en equipos muy pequeños (de no más de diez desarrolladores) trabajando en un mismo espacio físico. Según este método, trabajando de esa manera se deben conseguir productos totalmente funcionales en menos de diez semanas. Se trata de método basado en soluciones conocidas y consolidadas: Extreme Programming (XP), Crystal Methodologies y Rational Unified 3 VIT: Instituto de investigación finlandés 12 Process (RUP), XP para las prácticas de desarrollo, Crystal para escalar los métodos y RUP como base en el diseño del ciclo de vida. Figura 7. Ciclo de Desarrollo Mobile-D (Meneses & Laveriano, 2016) 2.6.1.1 Fases de la metodología mobile-D Para llevar a cabo el desarrollo de una aplicación móvil mediante la metodología mobile-D se efectúan las siguientes fases: 2.6.1.1.1 Exploración El propósito de la fase de exploración es planear y establecer el proyecto. Esta fase es importante para establecer las bases para la arquitectura del producto, la elección del entorno y la implementación del sistema. 13 2.6.1.1.2 Inicialización El propósito de esta fase es posibilitar el éxito de las siguientes fases del proyecto preparando y verificando todos los problemas críticos del desarrollo, de manera que todos ellos sean corregidos con prontitud en el final de la fase de aplicación de los requisitos. Además, se preparan todos los recursos físicos, tecnológicos y de comunicaciones para las actividades de producción. 2.6.1.1.3 Producción La fase de producción tiene como propósito implementar la funcionalidad requerida en el producto aplicando un ciclo de desarrollo iterativo e incremental. El desarrollo basado en pruebas es utilizado para implementar las funcionalidades. 2.6.1.1.4 Estabilización El propósito de la fase de estabilización tiene como finalidad asegurar la calidad de la implementación del proyecto 2.6.1.1.5 Pruebas del sistema El propósito de la fase de pruebas del sistema es comprobar si el producto implementa las funcionalidades correctamente, y corregir los errores encontrados. 2.6.1.2 Elementos 14 requeridas Existen 9 elementos principales involucrados en las diferentes prácticas en el transcurso del ciclo de desarrollo: - Ajuste y enfoque de fases: los proyectos se llevan a cabo en iteraciones donde cada una comienza con un día de planificación. - Línea de arquitectura: este enfoque es utilizado junto con los patrones de arquitectura y modelo ágil. - Desarrollo basado en pruebas: el enfoque de pruebas-primero es utilizado junto con casos de prueba automatizadas. - Integración continua: las prácticas de Software Configuration Manager (SCM) se aplican a través de múltiples medios. - Programación en pares: la codificación, pruebas y refactorización se lleva a cabo en pares. - Métricas: pocas métricas se recogen con rigurosidad y se utilizan con fines de mejorar la retroalimentación y el proceso de desarrollo. - Cliente externo: el cliente participa en las jornadas de planificación y liberación. - Enfoque centrado en el usuario: se hace hincapié en la identificación y el cumplimiento de necesidades del usuario final. Estos elementos son prácticas ya establecidas en metodologías agiles, con la inclusión de la línea de arquitectura, que se usa para capturar el conocimiento de una organización de soluciones arquitectónicas, tanto de fuentes internas y externas, y usar estas soluciones cuando sea necesario. 2.7 Justificación y Selección de las herramientas de diseño Para la selección de las herramientas se realizó un cuadro comparativo en dónde se exponen las ventajas y desventajas de diferentes herramientas necesarias para implementar la aplicación de realidad aumentada. Evaluando desde herramientas 15 de entorno de desarrollo (IDE) y kits de desarrollo de software (SDK) más viables para el desarrollo del proyecto: Tabla 1. Cuadro comparativo de ventajas y desventajas de herramientas (Fuente: Autora) Herramientas Ventajas Desventajas 16 Unity - Documentación muy - completa en su página - es elevado. - principal lenguajes limitaciones. (Unity, de 2021). Incluye - obligatoriamente el trabajo splash con el logotipo muy ordenada (Unity, de Unity en la carga 2021) inicial de la aplicación y Monodevelop es un IDE solo puede usarse si la bastante facturación total de tu Jerarquía de básico y funcional. empresa no supera los Permite utilizar 100 dólares anuales. otros como (Unity, 2021) Studio con relativa facilidad. (Unity, 2021) Optimización de tiempo y característica multiplataforma. (Unity, - gratuita varias Visual - licencia presenta JavaScript - La Permite el uso de varios programación C++, C# y - El precio de las licencias 2021) Alertas en tiempo real de errores sintácticos, compatibilidad o rendimiento antes de acabar la aplicación. 17 Android Studio - Documentación - completa en su página sólo web operativos Android. y foros de desarrolladores. - Se puede desarrollar - Permite el desarrollo en lenguajes como Java y para sistemas Requiere de máquina son elevados, en cuánto a procesador y espacio. su lenguaje nativo Kotlin. Vuforia - Compilación rápida - Alertas en tiempo real de errores sintácticos, compatibilidad o rendimiento antes de acabar la aplicación. - Biblioteca que permite Dependencia de NDK + JNI, se reconocer y hacer el amplían los métodos nativos. - seguimiento de Se imágenes planas computador, (Image Targets) tenemos la parte GPS. Android, iOS y Unity. +JNI pre-compilada. Solo se tiene que incluir bibliotecas y llamar a los métodos nativos. Targets por que no para (Chacon & Tuiro, 2018) Incluye la parte NDK - así visión orientación a comunidad. simples. Disponible - en - Foro de debate, con menor y objetos 3D - centra disponibles: 18 Image, Cylinder, Text- Word, User-defined, Cloud Recognition, Multi-Targets, Frame markers Virtual y buttons. (Chacon & Tuiro, 2018) 19 Wikitude - Se estructura en wolds. - Disponible para Android, documentación sobre el iOS, uso Backberry, - Windows No hay mucha de esta herramienta. Phone, Phonegap y - No es libre. Titanium. - No permite monta un (Alvarez, 2021) servidor de recursos propios. (Chacon & Tuiro, 2018) ARCore - - Esta SDK se puede - Esta SDK funciona para utilizar en dispositivos versiones de Android tanto ¡OS como superiores a 7.0 y no Android. funciona se pueden utilizar en dispositivos. diferentes lenguajes de - Java, Unity, Unreal y hasta iOS. De modo que muchos desarrolladores pueden trabajar en esta muchos Requiere un dispositivo móvil programación: en con sensores acelerómetros, giroscopio y un procesador lo suficientemente potente para soportar la Realidad Aumentada. herramienta. (Developers Google, 2021) (Developers 2021) 20 Google, ARKit Un framework utiliza como - Esta framework solo se técnica la Odometría Visual puede encontrar en iOS Inercial (VIO). Lo que combina 11 los sensores de movimiento móviles como iPhone con la cámara haciendo las 6s, 7, 7 plus, 8, 8 plus y resaltar de las imágenes sus X. (Developers Apple, caracteristicas más distintivas 2021) y superiores, en sin importar el movimiento. (Developers Apple, 2021) Las herramientas seleccionadas son Unity como entorno de desarrollo ya que esta herramienta tiene la ventaja de lograr un desarrollo para diferentes plataformas como lo son Windows, iOS, Android entre otras. la curva de aprendizaje frente a las demás herramientas es baja/media ya que Unity es bastante intuitivo. El uso de C# como lenguaje de programación facilita el desarrollo ya que es un lenguaje de programación bastante familiar y del cuál se puede hallar bastante documentación. Ya que unity es un motor de juegos los gráficos tanto 2D como 3D se presentarán de manera óptima y con buena calidad siendo una gran ventaja para la visualización de los especímenes de realidad aumentada. Para el kit de desarrollo de software para la realidad aumentada se ha seleccionado Vuforia ya que esta SDK ofrece reconocimiento de targets como imágenes, texto, cuboides, cilindros y objetos 3D. una detección rápida y un rastreo robusto, que significa que la target no se perderá incluso cuándo el dispositivo móvil se mueva. Cuenta con amplia documentación para su utilización y una de las grandes ventajas de esta SDK es que se integra fácilmente para dispositivos más antiguos y no se limita a los últimos lanzamientos. Lo que resulta beneficioso para el proyecto porque 21 una amplia gama de dispositivos podría usar el aplicativo de realidad aumentada sin que sus equipos sean de gamas altas y funcionar de manera adecuada. 3. DESARROLLO DE LA APLICACIÓN MÓVIL DE REALIDAD AUMENTADA 22 En este apartado se muestra el paso a paso del desarrollo del aplicativo, que se ciñó a las fases que se describen en la metodología mobile-D que fue diseñada especialmente para aplicaciones móviles logrando de manera más efectiva desarrollar y documentar todo el trabajo realizado. 3.1 Exploración Para el primer paso se realiza la exploración, esta fase se definen los actores y los papeles que desarrollarán dentro del proyecto, se definen las tareas, actividades y el alcance de estas para cumplir los objetivos del proyecto. 3.1.1 Establecimiento de los grupos de intereses o Stakeholders En esta etapa se definió a los involucrados en el proyecto y se identificó sus tareas, roles y responsabilidades: • Líder de proyecto: Autora de la presente tesis • Usuarios de la aplicación: Visitantes del museo de la universidad de la Salle candelaria. • Sponsor: Museo de Ciencias de la Universidad de la Salle • Desarrollador: Autora de la presente tesis • Asesor: Tutor de la presente tesis 3.1.2 Definición del Alcance Los puntos que se han considerado para el desarrollo del sistema son los siguientes: Con relación a los servicios que ofrece el sistema: • Permitir que cualquier usuario pueda ingresar en el aplicativo. • Permitir a cualquier usuario utilizar la cámara del smartphone para combinar la imagen aumentada (modelo 3D) con la real. 23 • Permitir que cualquier usuario visualice en su smartphone el modelo 3D en diferentes ángulos e interactuar con diferentes medios (botones, imágenes, etc.) • Permitir a cualquier usuario navegar por las diferentes interfaces haciendo uso de botones de navegación Con relación al desarrollo y caracteristicas de la elaboración del aplicativo: • Estará desarrollado para el uso en Smartphone con sistema operativo Android 4.4 KitKat • El desarrollo se realizará con el software Unity 2019.4.26f1 y usando como lenguaje de programación C#. • Utilizará la metodología Mobile-D, con 5 fases; exploración, inicialización, producción, estabilización y prueba. 3.1.3 Identificación módulos y requerimientos El proyecto consiste en la creación de un aplicativo móvil de realidad aumentada utilizando un lenguaje de programación C#. El aplicativo móvil permitirá la comunicación de información sobre temas específicos del museo de ciencias (texto, imágenes, modelos 3D). Los módulos del aplicativo serán los siguientes: Tabla 2. Módulos Por Desarrollar (Fuente: Autora) Código Módulo Descripción 24 M001 Start App En este módulo se verá en el inicio de la aplicación el splash de unity y con el logo del museo de la Salle usando los colores del manual de identidad visual. M002 Inicio Se desarrolla la interfaz del contenido que habrá dentro de la aplicación, dónde se permitirá ingresar a la visualización según sea escogido. M003 Realidad Se desarrolla el entorno de realidad aumentada, dónde habrá un retorno a menú y encendido de la linterna de la cámara. Además, para visualizar el entorno real con los modelos 3D será imperativo el uso de la cámara del dispositivo, por lo cual se pedirán permisos para su acceso. Aumentada Interfaz M004 M005 Reconocimiento del El aplicativo ubicara la imagen target target predeterminada y realizara una acción indicada según sea el modelo seleccionado, haciendo uso de la cámara. Realidad Aumentada El aplicativo mostrará un modelo 3D en combinación con el mundo real, logrando una realidad aumentada en diferentes escenarios. 25 M006 Navegación Se desarrollan botones de navegación en las interfaces para un correcto flujo en el aplicativo. M007 Recorridos Se desarrolla una interfaz para mostrar información acerca de los modelos 3D M008 Museo Se desarrolla una interfaz para mostrar información sobre el museo M009 Información Se desarrolla una interfaz para mostrar instrucciones sobre el uso de la realidad aumentada. M010 Evaluación Se realiza una encuesta a personas que prueben la aplicación Para los requerimientos se plantean dos tipos funcionales y no funcionales que van relacionados con los módulos descritos anteriormente de la siguiente manera: Tabla 3. Requerimientos funcionales (Fuente: Autora) Módulo Código Descripción del requerimiento M001 RF001 El aplicativo mostrará en la interfaz inicial un splash de 2 segundos con el logo de Unity y 5 segundos con el logo del museo de la universidad. M002 RF002 habrá un botón Cerrar Sesión que permita al usuario salir del aplicativo. RF003 Se mostrarán las opciones de interfaces en las que el usuario podrá navegar. RF004 Cada opción diferente mostrará información correspondiente al tema. 26 la M003 RF005 Se desarrollará la interfaz de realidad aumentada con opción de navegación mientras se visualiza por la cámara el entorno real. M004 RF006 El aplicativo detecta el target y realizara una acción indicada según la determinada target que se esté visualizando con la cámara. M005 RF007 Se visualizará los modelos 3D mediante la interfaz de realidad aumentada y la cámara logrando la combinación de objetos virtuales con el entorno real M006 RF008 Se encontrarán diferentes botones que permitirán la navegación entre interfaces del aplicativo M007 RF009 Se tendrá muestren diferentes una botones animación visual que con información sobre los modelos 3D del aplicativo Se encontrarán diferentes botones que permitirán la navegación entre interfaces del aplicativo M008 RF010 Se visualizará una interfaz con información del museo, además de una animación con los botones de navegación M009 RF011 Se visualizará una interfaz con información sobre el uso de la Realidad aumentada, además de una animación con los botones de navegación 27 Tabla 4.Requerimientos no funcionales (Fuente: Autora) Código Requerimiento RNF001 Debe contar con targets predefinidos de buena resolución RNF002 La aplicación debe presentar una interfaz amigable y fácil de usar. RNF003 Deben usarse los colores del manual de identidad visual del museo de la universidad. RNF004 La aplicación deberá funcionar sobre el sistema operativo Android desde la versión 4.4 KitKat con una resolución de pantalla de 1920x1080 RNF005 Las interfaces contarán con el logo del museo en la parte superior izquierda a excepción de la interfaz de realidad aumentada. RNF006 La navegación dentro de la aplicación debe ser fluida, con tiempos de carga de las interfaces no mayor a 5 segundos. RNF007 La aplicación debe ser fácil de usar 3.1.4 Establecimiento del proyecto En esta etapa se determinan los recursos físicos y técnicos necesarios para el desarrollo del proyecto. Las herramientas que se usarán son las siguientes: Tabla 5. Herramientas para el desarrollo del proyecto (Fuente: Autora) IDE Unity 2019.4.26f1 Librería Vuforia 9.8, JDK, SDK Editor de texto: Visual Studio 2019 28 Lenguaje de programación: C# Sistema operativo Windows 10 Pro - 64 bit Equipos Un Computador con procesador 8GB de RAM y con espacio disponible en disco de 40GB Programa de diseño Blender Metodología de desarrollo Mobile-D Smartphone: - Android 10.0, 128GB de disco duro, 4GB de RAM - Android 6.0, 16 GB de disco duro, 2GB de RAM 3.2 Inicialización En esta segunda etapa del proyecto se realiza la preparación del software y hardware que se usará para el desarrollo del proyecto, se define el plan de comunicación que se tendrá con todos los actores que hacen parte del proyecto. Además se realiza la planificación de las tareas y las iteraciones que se llevaran a cabo para cumplir los requerimientos funcionales. 3.2.1 Configuración del proyecto: • Preparación del ambiente Para esta etapa se estableció la instalación de cada una de las herramientas y la configuración a usar para desarrollar el proyecto por eso se tiene lo siguiente: • 1 computador (8GB RAM, 480GB SSD, Sistema operativo Windows 10). • Instalador de Unity 2019.4.26f1. 29 • Descargar e instalar el SDK Vuforia dentro del entorno de trabajo de unity • Organizar el entorno de desarrollo de Unity (herramientas, imágenes, modelos, animaciones, scripts, etc.). • Plan de comunicación Se utilizó como canales de comunicación con el propósito de mantenerse informado del desarrollo del programa coordinación en su ejecución. WhatsApp Teams OneDrive Outlook 3.2.2 Arquitectura del proyecto Figura 8. Arquitectura de la aplicación. (Fuente: Autora) 3.2.3 Planificación Inicial • Planificación por Fases Tabla 6. Planificación por fases (Fuente: Autora) Código Iteración Descripción 30 y una buena Exploración Iteración 0 Se definen los Stakeholders, se definen los alcances, se identifican los módulos y el análisis de los requerimientos funcionales y no funcionales y se establece el proyecto. Inicialización Iteración 1 Se prepara el ambiente de desarrollo tanto físico tecnológico y de comunicaciones, se planean las siguientes fases. se capacita el equipo. Producción Iteración 2 Implementación de la funcionalidad del módulo M001 interfaz splash con el logo del museo de la universidad durante 5 segundos. Iteración 3 Implementación de la funcionalidad del módulo M002 diseño de la interfaz de menú de inicio del aplicativo, realización de mejoras y actualizaciones de historia de usuario. Iteración 4 Implementación de la funcionalidad del módulo M003 diseño de la interfaz de menú de inicio del aplicativo, realización de mejoras y actualizaciones de historia de usuario. 31 Iteración 5 Implementación de la funcionalidad del módulo M004 diseño de la interfaz realización de mejoras y actualizaciones historias de usuario. Generación de las pruebas de aceptación. Iteración 6 Implementación de la funcionalidad del módulo M005 diseño de la interfaz realización de mejoras y actualizaciones historias de usuario. Generación de las pruebas de aceptación. Iteración 7 Implementación de la funcionalidad del módulo M006 diseño de las interfaces realización de mejoras y actualizaciones historias de usuario. Generación de las pruebas de aceptación. Iteración 8 Implementación de la funcionalidad del módulo M007 diseño de la interfaz realización de mejoras y actualizaciones historias de usuario. Generación de las pruebas de aceptación. 32 Iteración 9 Implementación de la funcionalidad del módulo M008 diseño de la interfaz realización de mejoras y actualizaciones historias de usuario. Generación de las pruebas de aceptación. Iteración 10 Implementación de la funcionalidad del módulo M009 diseño de la interfaz realización de mejoras y actualizaciones historias de usuario. Generación de las pruebas de aceptación. Estabilización Iteración 11 Refactorización de las funciones de todos los módulos, integración de las versiones estables para un correcto funcionamiento Pruebas Iteración 12 Se realizan las pruebas necesarias del aplicativo final y se analizan los resultados • Historias de usuario y tarjeta de tareas Según la metodología se desarrollan historias de usuario y tarjetas de tareas para los requerimientos funcionales de esta manera clasificar estos requerimientos por su dificultad, tipo, prioridad entre otras. 33 En la tabla 7 se puede observar cómo se va a llevar a cabo el desarrollo a partir de historias de usuario referentes a los requerimientos funcionales del proyecto. Otorgando una dificultad y prioridad a cada tarea. Tabla 7. Modelo de Historia de Usuario (Fuente: Autora) DIFICULTAD ID TIPO Antes PRIORIDAD Despué ESFUERZO 1-5 s Descripción: Fecha • Estado Comentario Requisitos de la Aplicación Móvil: Android 4.4 KitKat o superior Cámara de 8mp o superior Procesador mínimo 2 núcleos. RAM mínimo 1 GB Pantalla de resolución HD. Espacio de Almacenamiento disponible de 200MB 4,7 y 6 pulgadas. • Esquema de navegabilidad: 34 Pantalla de preferencia Figura 9. Flujo de navegación parte 1. (Fuente: Autora) En la Figura 13. Se presenta el flujo de los splash 1 y 2, a continuación de estos se presenta un menú de inicio en el cuál usuario podrá ingresar y seleccionar lo que desee visualizar. 35 Al seleccionar la primera opción “Realidad aumentada” se podrá apuntar la cámara hacia los targets diseñados en conjunto con el diseñador del museo de la universidad de la Salle (Ver Figura 14-16), teniendo estos captados en pantalla se podrá visualizar los modelos 3D (Tiburón, Serpiente y Murciélago). Figura 10. Target visualización Tiburón (Fuente: Autora) Figura 11. Target visualización Murciélago (Fuente: Autora) 36 Figura 12. Target visualización Serpiente (Fuente: Autora) Figura 13. Flujo de pantalla aplicación parte 2 (Fuente: Autora) Si cualquiera de las ilustraciones anteriores (14-16) se visualiza en la interfaz de realidad aumentada deberá visualizarse el modelo tal como se ve en los puntos 4.2), 4.3) y 4.4) de la Figura 17, de otro modo si no se visualiza ninguna tarjeta la cámara solo observará el entorno real en el que se encuentre el visitante 37 Figura 14. Flujo de pantalla aplicación parte 3 (Fuente: Autora) Para la Figura 18 se visualiza en flujo de navegación si el usuario se dirige a información, en ella encontrará las targets que deberá buscar dentro del museo además de instrucciones de como interactuar con los modelos después de haber sido identificadas las targets. 38 Figura 15. Flujo de pantalla aplicación parte 4 (Fuente: Autora) Para la Figura 19 se visualiza en flujo de navegación si el usuario se dirige a Museo de la Salle, en ella encontrará información sobre ubicación y contacto del museo si con antelación el usuario descarga el aplicativo para una posterior visita. Figura 16.Flujo de pantalla aplicación parte 5 (Fuente: Autora) 39 Para la Figura 20 se visualiza en flujo de navegación si el usuario se dirige a Recorridos, en ella encontrará información adicional de los modelos que se visualizan en la realidad aumentada, esto con el fin de contextualizar e informar. • Elaboración de prototipos En la siguiente tabla se describirán cada uno de los prototipos realizados: Tabla 8. Descripción de prototipos (Fuente: Autora) Prototipo Descripción 1) Splash 1 - Prototipo - La interfaz tendrá el logo de la herramienta en la que se desarrolló la aplicación. - Se tendrá de color de fondo el seleccionado del manual de entidad visual del museo. - Se visualiza en orientación horizontal en el dispositivo móvil - El splash tendrá una duración de 2 segundos 2) Splash 2 - Prototipo 40 - La interfaz con el splash debe tener el logo de la universidad de la Salle en este caso se tomó el logo de la Osa con su osezno. - Se tendrá de color de fondo el seleccionado del manual de entidad visual del museo. - Se visualiza en orientación horizontal en el dispositivo móvil - El splash tendrá una duración de 5 segundos. 3) Menú Inicio - Prototipo - La interfaz de menú de inicio debe tener el logo en la parte superior izquierda. - Debe permitir ingresar al usuario a 4 diferentes interfaces según se seleccione. 41 4) Realidad Aumentada - Debe permitir desplegar un slider donde estará el botón para salir de la aplicación. - La - interfaz debe permitir el regreso al menú de inicio La interfaz debe permitir que en casos de que la cámara no tenga buena iluminación pueda encenderse la linterna del dispositivo móvil - 42 Debe permitir el acceso a la cámara si se dio acceso positivo a su uso. - Debe no registrar ni mostrar modelo ningún si no se presenta ninguna target en la cámara - Debe permitirse visualizar el modelo del tiburón si la target correspondiente se ha identificado en la cámara. - Debe permitirse visualizar el modelo de la serpiente si la target correspondiente se ha identificado en la cámara. - Debe permitirse visualizar el modelo del murciélago si la target correspondiente se ha identificado en la cámara. 43 5) Información - La interfaz debe tener el logo en la parte superior izquierda. - Debe permitir la navegación hacia otras interfaces. - Debe mostrar instrucciones sobre el uso de la realidad aumentada. 6) Museo 44 - La interfaz debe tener el logo en la parte superior izquierda. - Debe permitir la navegación hacia otras interfaces. - Debe mostrar información de contacto y ubicación sobre el museo. 7) Recorridos - La interfaz debe tener el logo del museo en la parte superior izquierda. - Debe permitir la navegación hacia el menú de inicio. - Debe permitir desplegar un slider particular con información adicional sobre el espécimen del murciélago. - Debe permitir desplegar un slider particular con información adicional sobre el espécimen del tiburón. 45 - Debe permitir desplegar un slider particular con información adicional sobre el espécimen del Serpiente. 3.3 Producción El propósito de esta etapa es generar un calendario para llevar las tareas y las iteraciones que se deben ejecutar. Los contenidos de cada una se definen en tareas en las que se lleva un orden determinado de trabajo para ser elaboradas. En la tabla 9 se define la prioridad de cada una siento 5 alta y 1 baja. 3.3.1 Tarjetas de historias de usuario En la tabla 9 se muestra la lista de historias de usuario necesarias para el desarrollo del software: Tabla 9. Historia de Usuarios (Fuente: Autora) ID Nombre Prioridad H001 Splash de Inicio 4 H002 Menú Inicio 5 H003 Realidad Aumentada Interfaz 5 H004 Activación de la Cámara 5 46 H005 Reconocimiento de las targets 5 H006 Realidad Aumentada 5 H007 Información 4 H008 Museo 4 H009 Recorridos 4 H010 Evaluación 5 A continuación siguiendo con los lineamientos de la metodología mobile-D se mostrarán las historias de usuario que describen sus respectivos requerimientos funcionales, la descripción de la tarea, la fecha definida y en la que se realizó dicho requerimiento. Tabla 10. Historia de Usuario H001 (Fuente: Autora) Dificultad ID Tipo Antes Esfuerzo Despué s RF001 Nuevo Fácil Fácil Prioridad Estimado Requerido 3h 4h 4 Descripción: Al iniciar la aplicación deberán aparecer los splash y luego será redirigida a la interfaz del menú de inicio. Fecha Estado 27/03/202 Definido Comentario 1 28/03/202 Realizado 1 Tabla 11. Historia de Usuario H002 RF002 (Fuente: Autora) ID Tipo Dificultad Esfuerzo 47 Prioridad RF002 Nuevo Antes Después Estimad o Requerido Moderad a Moderad 3h 3h 5 a Descripción: botón de cerrar que le permita al usuario salir de la aplicación. Fecha Estado 28/03/202 Definido Comentario 1 29/03/202 Realizado 1 Tabla 12. Historia de Usuario H002 RF003 (Fuente: Autora) ID RF003 Tipo Nuevo Dificultad Esfuerzo Antes Después Fácil Fácil Estimad o Requerido 1h 2h Prioridad 5 Descripción: botón de cerrar que le permita al usuario salir de la aplicación. Fecha Estado 29/03/202 Definido Comentario 1 30/03/202 Realizado 1 Tabla 13. Historia de Usuario H002 RF004 (Fuente: Autora) ID Tipo Dificultad Antes Esfuerzo Después 48 Estimad o Requerido Prioridad RF004 Nuevo Moderad a Moderad 5h 5h 5 a Descripción: Debe contar con los botones que permitan al usuario navegar dentro de la aplicación. Fecha Estado 30/03/202 Definido Comentario 1 1/04/2021 Realizado Tabla 14. Historia de Usuario H003 RF005 (Fuente: Autora) ID RF005 Tipo Nuevo Dificultad Esfuerzo Antes Después Estimad o Requerido Moderad a Moderad 5h 7h Prioridad 5 a Descripción: Debe contar con los botones que permitan al usuario navegar hacia el menú y encender la linterna del dispositivo en caso de que en la visualización del entorno sea muy opaca. Fecha Estado Comentario 1/04/2021 Definido 2/04/2021 Realizado Tabla 15. Historia de Usuario H004 RF006 (Fuente: Autora) ID RF006 Tipo Nuevo Dificultad Esfuerzo Antes Después Difícil Difícil 49 Estimad o Requerido 5h 6h Prioridad 5 Descripción: Para la integración del modelo 3D con el entorno real será necesario el uso de la cámara del dispositivo móvil, por lo cual la aplicación tendrá los permisos para ejecutar la cámara. Fecha Estado Comentario 2/04/2021 Definido 8/04/2021 Implementand o 15/04/202 Realizado 1 16/04/202 Verificado 1 Tabla 16. Historia de usuario H005 RF007 (Fuente: Autora) ID RF006 Tipo Nuevo Dificultad Esfuerzo Antes Después Difícil Difícil Estimad o Requerido 15h 18h Prioridad 5 Descripción: La aplicación debe reconocer la target y realizar la acción correspondiente a la target que se esté visualizando, haciendo uso de la cámara. Fecha Estado 2/04/2021 Definido 8/04/2021 Implementand o 15/04/202 Realizado Comentario 1 50 16/04/202 Verificado 1 Tabla 17. Historia de Usuario H006 RF008 (Fuente: Autora) ID RF007 Tipo Nuevo Dificultad Esfuerzo Antes Después Difícil Difícil Estimad o Requerido 24h 26h Prioridad 5 Descripción: La aplicación debe mostrar el modelo 3D en integración con el entorno real, logrando una realidad aumentada en diferentes escenarios según sea la target que se esté identificando mediante la cámara. Fecha 16/04/202 Estado Comentario Definido 1 17/04/202 1 26/04/202 Implementand o Realizado 1 27/04/202 Verificado 1 Tabla 18. Historia de Usuario H007 RF009 (Fuente: Autora) ID RF009 Tipo Nuevo Dificultad Esfuerzo Antes Después Difícil Difícil 51 Estimad o Requerido 4h 4h Prioridad 4 Descripción: La interfaz de información debe contener instrucciones de cómo utilizar la realidad aumentada, además de botones para la navegación hacia otras interfaces. Fecha 28/04/202 Estado Comentario Definido 1 27/04/202 1 Implementand o Tabla 19. Historia de Usuario H008 RF010 (Fuente: Autora) Dificultad ID Antes Tipo Esfuerzo Después Estimad o RF010 Nuevo Modera da Moderad Prioridad Requerido 3h 3h 4 a Descripción: La interfaz de Museo debe contener información de contacto y ubicación del museo de la universidad de la Salle, además de botones para la navegación hacia otras interfaces. Fecha Estado Comentario 28/04/2021 Definido 29/04/2021 Realizad o Tabla 20. Historia de usuario H009 RF011 (Fuente: Autora) Dificultad ID Tipo Antes Esfuerzo Después Estimad o 52 Prioridad Requerido RF010 Nuevo Moderad a Moderad 3h 3h 4 a Descripción: La interfaz de recorridos debe contener información adicional sobre los modelos 3D que se visualizan en la realidad aumentada, además de botones para la navegación hacia otras interfaces. Fecha Estado 30/04/202 Definido Comentario 1 02/05/202 Realizado 1 Tabla 21. Historia de Usuario H010 (Fuente: Autora) Dificultad ID Tipo Antes Esfuerzo Después Estimad o RF010 Nuevo Moderad a Moderad Prioridad Requerido 10h 10h 5 a Descripción: Se realiza encuestas a personas que han puesto a prueba la aplicación para su posterior evaluación. Fecha Estado 03/04/202 Definido Comentario 1 07/05/202 Realizado 1 3.4 Estabilización 53 La fase de estabilización tiene como objetivo garantizar la calidad de la integración de todos los componentes del aplicativo tanto interfaces, como de la realidad aumentada, de esta manera se verificó la organización del aplicativo, los conceptos de diseño y el patrón arquitectónico por capas. Además se encontrarán diagramas de clase de la programación que se integra con los objetos multimedia y finalmente el diagrama de casos de uso. Como se ha mencionado anteriormente el patrón arquitectónico usado son las capas. Usando dos capas. La capa de presentación en la que se encuentra la interfaz de usuario y el escenario. La capa de negocio contiene los objetos de juego y aplicación. Como se observa en la Figura 21. Figura 17. Diagrama de capas del Aplicativo (Fuente: Autora) La capa de Presentación está compuesta por dos partes la interfaz de usuario y el escenario. Las interfaces son un conjunto de los diversos escenarios que se desarrollaron. 54 Interfaz de Usuario: Las interfaces o ventanas contienen la información con la que se encontrarán los usuarios de la aplicación, es contenido adicional que se brindó sobre instrucciones para el uso de la realidad aumentada, los modelos 3D que se visualizan y además información del museo de la Salle. Estas interfaces son lo primero que podrá apreciar el usuario al entrar y navegar en la aplicación de modo que se realizaron para que sean intuitivas. Adicionalmente se usa para dar identidad y relación con el Museo de la Universidad de la Salle el logotipo y colores del manual de identidad. Figura 18. Nivel de interfaz de usuario de la aplicación (Fuente: Autora) Escenario: en la capa de escenario se van a encontrar los objetos multimedia que se integran en conjunto para realizar las interfaces en las que el usuario va a interactuar, de esta manera se puede ver en las figura 23 los objetos que en componen un escenario y en conjunto harán parte de la interfaz que visualizará el usuario. 55 Figura 19. Nivel de Escenario del aplicativo (Fuente: Autora) Objetos de juego: Para la capa de negocio específicamente en los objetos de juego se realiza la integración de módulos que están encargados de ofrecer caracteristicas propias del aplicativo, en este caso los objetos 3D y sus respectivas animaciones son los objetos de juego. Figura 20. Objetos del juego (Fuente: Autora) Aplicación: En esta capa se integran los objetos del juego en base a la lógica, esta capa está encargada de proporcionar los recursos disponibles a través de la interfaz de modo 56 que ocurran eventos o en este caso animaciones. En la figura 25 se presenta la clase SliderAnimation esta clase va a contener métodos que permitirán que los objetos, paneles e imágenes tengas animaciones en las diferentes interfaces, de manera que objetos del escenario en la clase se les atribuye la variable de GameObject y a los controladores de la animación se les llama en los métodos para que cuándo el usuario presione un botón los sliders con la información que desea ver el usuario en la interfaz aparezca o desaparezcan Figura 21. Diagrama de clase capa negocio (Fuente: Autora) 57 Figura 22. Evento de slider menú principal (Fuente: Autora) Figura 23. Evento del aplicativo. (Fuente: Autora) 58 Figura 24. Diagrama de clases capa negocio (Fuente: Autora) El diagrama de clases que se evidencia en la Figura 28 dónde se tienen cuatro clases distintas para realizar las funciones de trasladar, rotar y escalar. Usando librerías de LeanTouch que facilita funciones que nos permiten configurar dedos para la utilización de los métodos y también configurar la sensibilidad al interactuar con el modelo. Estas clases tienen métodos respectivos Reset, Awake Update que son los principales encargos de leer la posición del usuario en la pantalla y de esta manera convertir esos puntos en vectores para mover, rotar o escalar los modelos. Las variables sensibilidad, inercia y damping serán variables de entrada que se pueden configurar por cada modelo para que al realizar cualquier interacción con los modelos está no sea brusca y desoriente al usuario. La clase de linterna accede a la librería de Vuforia que accede a la cámara y hardware del dispositivo para encender la linterna cuando se requiera mejorar la visualización de la target y finalmente SalirAp que contendrá la función que permite al usuario salir del aplicativo. 59 En la estabilización además de organizarse el aplicativo con la correspondiente arquitectura se sincronizaron los scripts de código, los objetos de juego, interfaz y demás elementos que permiten la navegación de la aplicación, tanto como a diferentes menús como en la interfaz de realidad aumentada para la interacción con los modelos 3D. Para tener claridad del uso de estas capas y los eventos que podrá realizar el usuario dentro de la aplicación se realizó el siguiente caso de uso. Figura 25. Casos de uso (Fuente: Autora) 3.5 Pruebas Para garantizar el correcto funcionamiento de las anteriores funciones estabilizadas y además garantizar que todos los requerimientos planteados para cada módulo funcionen adecuadamente se realizan y evalúan casos de prueba. Documentando así el resultado esperado y el resultado obtenido de las pruebas realizadas al aplicativo por la desarrolladora en este caso la autora del presente trabajo de grado. 3.5.1 Objetivo Garantizar el cumplimiento de los requerimientos funcionales de manera que se compruebe el correcto funcionamiento de la aplicación 3.5.2 Estrategia de pruebas: 60 Se realizan casos de prueba en los que se verifica los requerimientos funcionales, los casos de prueba son los siguientes: Tabla 22. Caso de prueba 1 (Fuente: Autora) Identificador Prueba_001 Nombre del caso Start App Módulo M001 Requerimiento funcional RF001 Objetivo Comprobar la correcta carga del aplicativo Precondición Ingresar al aplicativo Paso Resultado esperado Iniciar aplicación Resultado real Splash de inicio 1 Splash de inicio 2 Tabla 23. Caso de prueba 2 (Fuente: Autora) Identificador Prueba_002 Nombre del caso Inicio Módulo M002 Requerimiento funcional RF002 RF003 RF004 Objetivo Precondición Comprobar la correcta presentación de la interfaz de menú de inicio Ingresar al aplicativo 61 Paso Resultado esperado Iniciar Aplicación Resultado real Menú Inicio Tabla 24. Caso de prueba 3 (Fuente: Autora) Identificador Prueba_003 Nombre del caso Realidad Aumentada Interfaz Módulo M003 Requerimiento funcional RF005 Objetivo Comprobar la correcta presentación de la interfaz de Realidad Aumentada Precondición El usuario ha seleccionado la opción “Realidad Aumentada” Paso Seleccionar opción “Realidad Aumentada” Resultado esperado Resultado real Interfaz Realidad Aumentada Tabla 25. Caso de prueba 4 (Fuente: Autora) Identificador Prueba_004 Nombre del caso Reconocimiento de targets, Realidad Aumentada Módulo M004, M005 62 Requerimiento funcional RF006 RF007 Objetivo Precondición Comprobar la correcta identificación por parte de la cámara de las targets y el renderizado del modelo 3D después de la identificación. El usuario ha seleccionado la opción Aumentada” Paso Seleccionar opción “Realidad Aumentada” Resultado esperado Interfaz Realidad Aumentada Tabla 26. Caso de prueba 5 (Fuente: Autora) Identificador Prueba_005 Nombre del caso Interfaz información Módulo M007 Requerimiento funcional RF009 63 Resultado real “Realidad Objetivo Comprobar el correcto funcionamiento de la interfaz información Precondición El usuario ha seleccionado la opción “Información” Paso Resultado esperado Seleccionar opción Resultado real Interfaz Información “Información” Tabla 27. Caso de prueba 6 (Fuente: Autora) Identificador Prueba_006 Nombre del caso Interfaz Museo Módulo M008 Requerimiento funcional RF010 Objetivo Comprobar el correcto funcionamiento de la interfaz museo Precondición El usuario ha seleccionado la opción “Museo” Paso Resultado esperado Seleccionar opción Interfaz Museo “Museo” 64 Resultado real Tabla 28. Caso de prueba 7 (Fuente: Autora) Identificador Prueba_007 Nombre del caso Interfaz Recorridos Módulo M009 Requerimiento funcional RF011 Objetivo Comprobar el correcto funcionamiento de la interfaz recorridos Precondición El usuario ha seleccionado la opción “recorridos” Paso Resultado esperado Seleccionar opción Interfaz Recorridos “Recorridos” 65 Resultado real 4. RESULTADOS Y VALIDACIÓN Para evaluar y verificar los resultados de las anteriores fases se realizan pruebas y una encuesta que determine la funcionalidad del aplicativo como lo es; el uso en distintas versiones del sistema operativo Android, el adecuado renderizado de los modelos 3D además de la navegación y otras funciones del aplicativo, de esta manera se procedió a definir la metodología y a validar e interpretar los resultados de la encuesta. 4.1 Metodología verificación y validación La verificación y validación del funcionamiento del aplicativo se llevó a cabo en dos partes, la primera fue mediante 38 personas que probaron el aplicativo y resolvieron un cuestionario y la segunda parte la realizaron dos personas que se encargaron de poner a prueba y cronometrar el tiempo de la identificación de las targets y posterior visualización del modelo 3D. Preguntas del cuestionario: Tabla 29. Cuestionario preguntas para los usuarios de la prueba. (Fuente: Autora) N.º Pregunta Respuestas 1 Seleccione el rango de edad al que pertenece 13 – 18 años 19 – 27 años 66 28 años o más 2 Sí Algunas 3 ¿Suele usar aplicaciones móviles educativas o de ocio diferentes a las redes sociales (Instagram, Facebook, Twitter, etc.)? Muy pocas ¿Con qué frecuencia suele usted visitar museos? Muy a menudo No Habitualmente Muy poco Casi nunca Nunca 4 La instalación de la aplicación fue: Muy sencilla Fácil Dificultad media Difícil Muy complicada 5 El proceso de instalación de la aplicación se llevó a cabo: Rápidamente En el tiempo estimado Lentamente 6 ¿Son las interfaces de la aplicación fáciles de usar? Sí Mas bien sí Dificultad media Mas bien no No 7 ¿Con qué frecuencia "se cuelga" o "se bloquea" la aplicación? 67 Nunca Casi nunca A veces Bastante frecuente Muy a menudo 8 ¿Cuál es su nivel de satisfacción con el rendimiento de la aplicación? 1 2 3 4 5 9 El uso de la realidad aumentada en la aplicación le resultó: Muy sencilla Fácil Dificultad intermedia Difícil 10 ¿Le motivaría visitar un museo donde hagan uso de esta aplicación de realidad aumentada? Definitivamente sí Probablemente sí No lo sé Probablemente no Seguramente no 11 ¿Cuál es su nivel de satisfacción la visualización de realidad aumentada en la aplicación? 1 2 3 4 5 12 ¿Recomendarías la app a tus conocidos? Sí Tal vez No 13 ¿Volverías a usar la aplicación para conocer museos? 68 Sí Tal vez No 14 ¿Qué versión de Android tiene su dispositivo móvil? 4.4 a 5.1.1(KitKat, Lollipop) 6.0 a 7.1.2 (Marshmallow, Nougat) 8.0 a 9.0 (Oreo, Pie) 10.0 a 11.0 4.2 Resultados de la verificación y validación Para la primer parte se tienen los resultados de la encuesta realizada a 38 personas incluidos personal del museo de la universidad de la Salle. Tabla 30. Respuestas 1era pregunta(Fuente: Autora) Seleccione el rango de edad al que pertenece # respuestas Porcentaje (%) 13 – 18 años 2 5.3 19 – 27 años 30 78.9 28 años o más 6 15.8 Figura 26. Diagrama de torta respuestas primera pregunta (Fuente: Autora) 69 1). Interpretación: se realizaron las pruebas de modo que pudiera haber rangos de edad diferentes para tener conocimiento de la dificultad de uso del aplicativo de esta manera se tiene que la mayor parte de quienes probaron la aplicación tienen entre 19 a 27 años, los otros porcentajes menores a este corresponden a los rangos de 28 años o más con la cantidad de 6 personas y en menor cantidad el rango de 13 a 18 años con dos personas. Tabla 31. Respuestas segunda pregunta (Fuente: Autora) ¿Suele usar aplicaciones móviles educativas o de ocio diferentes a las redes sociales (Instagram, Facebook, Twitter, etc.)? # respuestas Porcentaje (%) Sí 21 55.3 Algunas 9 23.7 Muy pocas 8 21.1 No 0 0 Figura 27. Diagrama de torta segunda pregunta (Fuente: Autora) 2). Interpretación: siendo importante tener como conocimiento si la población manejaba otras aplicaciones móviles aparte de las redes sociales 70 para saber su capacidad de interactuar con la tecnología resultó que todos manejaban apps educativas, incluso si fueran pocas. Tabla 32. Respuestas tercera pregunta (Fuente: Autora) ¿Con qué frecuencia suele usted visitar museos? # respuestas Porcentaje (%) Muy a menudo 2 5.3 Habitualmente 11 28.9 Muy poco 17 44.7 Casi nunca 8 21.1 Nunca 0 0 Figura 28. Diagrama de torta tercera pregunta (Fuente: Autora) 3). Interpretación: Para contextualizar las preguntas sobre el aplicativo era necesario saber con qué frecuencia la población visitaba museos siendo que la gran mayoría iba a los museos muy poco o casi nunca solo el 34.2% de la población va habitualmente o a menudo. 71 Tabla 33. Respuestas cuarta pregunta (Fuente: Autora) La instalación de la aplicación fue: # respuestas Porcentaje (%) Muy sencilla 16 42.1 Fácil 16 42.1 Dificultad media 5 13.2 Difícil 0 0 Muy complicada 1 2.6 Figura 29. Diagrama de torta cuarta pregunta (Fuente: Autora) 4). Interpretación: Debido a que eran pruebas para la aplicación y esta no se encuentra aún en la Play Store el aplicativo se dejó en un archivo APK en la nube para que la población pudiese hacer la descarga e instalación desde allí. Aún con este procedimiento la población mayormente considero que la instalación del aplicativo se realizó de manera sencilla. Tabla 34. Respuesta quinta pregunta (Fuente: Autora) El proceso de instalación de la aplicación se llevó a cabo: Rápidamente # respuestas Porcentaje (%) 26 68.4 72 En el tiempo estimado 8 21.1 Lentamente 4 10.5 Figura 30. Diagrama de torta quinta pregunta (Fuente: Autora) 5). Interpretación: El proceso de instalación para la mayoría de los usuarios que probaron la aplicación se realizó rápidamente a pesar de que el peso de la aplicación es de 35MB siendo una app que ocupa más espacio en comparación con otras usadas habitualmente. Tabla 35. Resultados sexta pregunta (Fuente: Autora) ¿Son las interfaces de la aplicación fáciles de usar? # respuestas Porcentaje (%) Sí 28 73.7 Más bien sí 7 18.4 Dificultad media 3 7.9 Más bien no 0 0 No 0 0 73 Figura 31. Diagrama de torta sexta pregunta (Fuente: Autora) 6). Interpretación: Para el estudio era importante conocer si las interfaces eran fáciles de usar y navegar ya que los usuarios de este aplicativo pueden tener rangos de edad muy amplios. Pero para la gran mayoría consideran que sí y más bien sí. Con un 92.1% Tabla 36. Respuesta séptima pregunta (Fuente: Autora) ¿Con qué frecuencia "se cuelga" o "se bloquea" la aplicación? # respuestas Porcentaje (%) Nunca 16 42.1 Casi nunca 16 42.1 A veces 6 15.8 Bastante frecuente 0 0 Muy a menudo 0 0 74 Figura 32. Diagrama de torta séptima pregunta (Fuente: Autora) 7). Interpretación: las respuestas de los usuarios que probaron la aplicación es que a 6 personas se les bloqueó a veces, mientras que a 32 personas casi nunca o nunca se les bloqueó. Tabla 37. Tabla octava pregunta (Fuente: Autora) ¿Cuál es su nivel de satisfacción con el rendimiento de la aplicación? # respuestas Porcentaje (%) 5 25 73.5 4 9 26.5 3 0 0 2 0 0 1 0 0 Figura 33. Diagrama de barras octava pregunta (Fuente: Autora) 8). Interpretación: el nivel de satisfacción que tiene el aplicativo en general es bastante bueno ya que 26 personas afirmaron una puntuación de 5 o 75 estar muy satisfechos con el aplicativo mientras que los 12 restantes puntuaron con 4. Tabla 38. Respuesta novena pregunta (Fuente: Autora) El uso de la realidad aumentada en la aplicación le resultó: # respuestas Porcentaje (%) Muy sencilla 20 52.6 Fácil 15 39.5 Dificultad media 3 7.9 Difícil 0 0 Figura 34. Diagrama de torta novena pregunta (Fuente: Autora) 9). Interpretación: ya que la realidad aumentada permite interactuar con los modelos era imperativo conocer la dificultad del usuario manipulando estas funciones de la aplicación y como resultados a la mayoría con un porcentaje de 92.1% le resultó muy sencilla y fácil de manipular. Tabla 39. Respuesta decima pregunta (Fuente: Autora) ¿Le motivaría visitar un museo donde hagan uso de esta aplicación de realidad aumentada? # respuestas 76 Porcentaje (%) Definitivamente sí 27 71.1 Probablemente sí 11 28.9 No lo sé 0 0 Probablemente no 0 0 Seguramente no 0 0 Figura 35. Diagrama de torta decima pregunta (Fuente: Autora) 10). Interpretación: como formulación del problema se tenía en el presente proyecto de grado si hubiera una relación entre la aplicación y la motivación de posibles usuarios en visitar el museo de este modo esta pregunta en específico nos muestra que en la población un 71.1% definitivamente sí los motivaría visitar un museo con esta aplicación de realidad aumentada y el 28.9% restante probablemente sí los motivaría. Tabla 40. Respuestas décimo primera pregunta (Fuente: Autora) ¿Cuál es su nivel de satisfacción la visualización de realidad aumentada en la aplicación? # respuestas Porcentaje (%) 5 27 71.1 4 10 26.3 3 1 2.6 77 2 0 0 1 0 0 Figura 36. Diagrama de barras décimo primera pregunta (Fuente: Autora) 11). Interpretación: en esta pregunta se evidencia la satisfacción de los usuarios con respecto a la visualización de realidad aumentada resultando que 27 personas estaban muy satisfechas puntuando con 5 puntos la realidad aumentada, 10 personas estaban satisfechas y una persona le dio 3 puntos. Tabla 41. Respuestas décimo segunda pregunta (Fuente: Autora) ¿Recomendarías la app a tus conocidos? # respuestas Porcentaje (%) Sí 30 78.9 Tal vez 8 21.1 No 0 0 78 Figura 37. Diagrama de torta décimo segunda pregunta (Fuente: Autora) 12). Interpretación: la satisfacción del usuario va ligado con la recomendación a que otros usuarios prueben la aplicación de modo que para evidenciar esto se puede notar que un 78.9% de los usuarios que probaron la app recomendaría a otras personas su uso y un 21.1% tal vez lo haría. Tabla 42. Respuestas décimo tercera pregunta (Fuente: Autora) ¿Volverías a usar la aplicación para conocer museos? # respuestas Porcentaje (%) Sí 34 89.5 Tal vez 4 10.5 No 0 0 Figura 38. Diagrama de barras décimo tercera pregunta (Fuente: Autora) 79 13). Interpretación: el uso de la realidad aumentada puede darse en muchos tópicos en los museos, de modo que se cuestionó a la población si volverían a usar esta aplicación para conocer distintos museos siendo el porcentaje afirmativo en su mayoría con un 89.5%. Tabla 43. Respuestas décimo cuarta pregunta (Fuente: Autora) ¿Qué versión de Android tiene su dispositivo móvil? # respuestas Porcentaje (%) 4.4 a 5.1.1(KitKat, Lollipop) 6 15.8 6.0 8 21.1 8.0 a 9.0 (Oreo, Pie) 8 23.7 10.0 a 11.0 15 39.5 a 7.1.2 (Marshmallow, Nougat) Figura 39. Diagrama de barras décimo cuarta pregunta (Fuente: Autora) 80 14). Interpretación: para comprobar que la aplicación funcionará en distintas versiones de Android se realizó esta pregunta denotando que hay variedad de versiones en las que funciona la aplicación de realidad aumentada. En la segunda parte se realizó las pruebas del tiempo de reconocimiento de las targets: El primer usuario probó la aplicación en un dispositivo móvil marca Huawei Y7 2019 con versión de Android 8.1.0, RAM de 3GB mostrando como resultado de las pruebas lo siguiente: Tabla 44. Pruebas de tiempo de reconocimiento usuario 1 (Fuente: Autora) N.º Tiempo (s) Prueba 1 1,76 Prueba 2 1,84 Prueba 3 1,92 Prueba 4 1,8 Prueba 5 1,72 Prueba 6 1,64 Prueba 7 1,67 Prueba 8 1,61 Prueba 9 1,42 Prueba 10 1,45 Prueba 11 1,58 Prueba 12 1,65 Prueba 13 1,4 Prueba 14 1,38 Prueba 15 1,38 Prueba 16 1,42 Prueba 17 1,37 81 Prueba 18 1,33 Prueba 19 1,34 Prueba 20 1,35 Prueba 21 1,38 Prueba 22 1,47 Prueba 23 1,31 Prueba 24 1,2 Prueba 25 1,24 Prueba 26 1,18 Prueba 27 1,2 Prueba 28 1,31 Prueba 29 1,14 Prueba 30 1,2 TIEMPO DE RECONOCIMIENTO DE UNA TARGET 2,5 2 1,5 1 0,5 0 0 5 10 15 20 25 Número de prueba Figura 40. Datos pruebas de reconocimiento target usuario 1 (Fuente: Autora) 82 30 Los valores obtenidos para la media y la mediana son: Tabla 45. Media y Mediana prueba usuario 1 (Fuente: Autora) Media Mediana 1,455 1,39 Los valores obtenidos para el tiempo de reconocimiento son muy buenos teniendo un promedio de 1.45 segundos para que la cámara reconozca la target del cualquier modelo aleatorio. El segundo usuario probó la aplicación en un dispositivo móvil marca Huawei Y9 Prime 2019 con versión de Android 10.0, RAM de 4GB mostrando como resultado de las pruebas lo siguiente: Tabla 46. Pruebas de tiempo de reconocimiento usuario 2 (Fuente: Autora) N.º Tiempo (s) Prueba 1 1,17 Prueba 2 1,06 Prueba 3 1,04 Prueba 4 1,89 Prueba 5 2,44 Prueba 6 1,65 Prueba 7 1,86 Prueba 8 0,95 Prueba 9 1,51 Prueba 10 1,51 Prueba 11 1,56 Prueba 12 1,28 83 Prueba 13 1,28 Prueba 14 1,13 Prueba 15 1,76 Prueba 16 1,13 Prueba 17 1,96 Prueba 18 1,13 Prueba 19 2,01 Prueba 20 1,75 Prueba 21 2,74 Prueba 22 1,63 Prueba 23 1,94 Prueba 24 1,16 Prueba 25 1,05 Prueba 26 1,87 Prueba 27 1,4 Prueba 28 1,62 Prueba 29 1,65 Prueba 30 1,87 Los valores obtenidos para la media y la mediana son: Tabla 47. Media y mediana prueba usuario 2 (Fuente: Autora) Media Mediana 1,57 1,59 84 Los valores obtenidos para el tiempo de reconocimiento siguen siendo muy buenos teniendo un promedio de 1.57 segundos para que la cámara reconozca la target del cualquier modelo aleatorio. TIEMPO DE RECONOCIMIENTO DE UNA TARGET 3 2,5 2 1,5 1 0,5 0 0 5 10 15 20 25 30 Número de la prueba Figura 41. Datos pruebas de reconocimiento target persona 2 (Fuente: Autora) 5. CONCLUSIONES Y RECOMENDACIONES 5.1 CONCLUSIONES - El entorno de realidad aumentada funciona de manera adecuada siendo el tiempo de reconocimiento de la target aproximadamente 1,5 segundos siendo un tiempo pequeño para la posterior interacción con el modelo 3D - Las interfaces de navegación de la aplicación de realidad aumentada son intuitivas y fáciles de usar según más del 70% de los usuarios que tuvieron a prueba el aplicativo. 85 - Se validó que para las versiones Android 4.4 en adelante el aplicativo funciona correctamente, tanto la realidad aumentada como la navegación entre las interfaces. - Más del 71% de los usuarios que probaron la aplicación definitivamente sí les motivaría visitar el museo de la universidad de la Salle con el fin de visualizar la realidad aumentada. - Según resultados y comentarios de la encuesta (Ver Anexo 3) el uso de la realidad aumentada demostró ser un factor muy estimulante para los usuarios que probaron la aplicación ya que resaltaron el hecho de poder apreciar más modelos de realidad aumentada. - El nivel de satisfacción de los usuarios con respecto a la realidad aumentada tuvo un porcentaje del 71.1% para usuarios que se sentían muy satisfechos y puntearon con 5 puntos esta funcionalidad. - El porcentaje de los usuarios que volverían a usar la aplicación para conocer museos es del 89.5% demostrando que puede ser una herramienta potente para la exposición y manejo de los temas dentro de un museo. 5.2 RECOMENDACIONES - Con el fin de mejorar la experiencia de los usuarios al visitar el museo de ciencias de la universidad de la Salle, se recomienda añadir más modelos 3D del mismo modo agregar en los recorridos más información sobre los modelos. - Como respuesta de muchos usuarios que probaron la aplicación se recomienda que los modelos 3D aparte de estar animados con movimiento tengan sonidos para hacerlos más entretenidos. 86 - Se recomienda continuar con el desarrollo de la aplicación mediante la metodología mobile-D ya que tiene muchas ventajas a la hora de desarrollar una aplicación móvil. - Se recomienda mejorar las interfaces de usuario para que cause más satisfacción a los usuarios navegar en la aplicación. - Agregar funciones para que los usuarios puedan fotografiarse con los modelos de realidad aumentada. - Reducir el tamaño de la aplicación para que dispositivos móviles antiguos y con poco espacio de memoria puedan usarla. BIBLIOGRAFÍA (2021). Obtenido de Apple Inc: http://www.apple.com/ios (27 de Abril de 2021). Obtenido de Blackberry US Page: https://www.blackberry.com/us/en/support/devices Alonso, A., Artime, I., Rodríguez, M., & Baniello, R. (2011). Dispositivos móviles. PSIG Ing. Telecomunicación Universidad de Oviedo, 12. 87 Alvarez, N. (2021). Realidad Aumentada, reconocimiento de imágenes y geolocalización usando google Maps. Obtenido de https://www.slideshare.net/neonigma/android-radevfestsur Android OS. (16 de 07 de 2020). Obtenido de https://www.unocero.com/smartphones/google-creara-nueva-versionandroidequipos-economicos-india/ Bradshaw, T., & Kruppa, M. (2020). Epic and Unity rev their engines for the next era of entertainment. Financial Times. Bryan, A. (2012). Android (Operating System) - Unabridged Guide. Estados Unidos. Cadeñanes, J. J. (2014). Realidad aumentada en libros digitales educativos y juegos interactivo. Camazón, J. N. (2011). Sistemas operativos monopuesto. Editex. Chacon, N. L., & Tuiro, J. M. (2018). Aplicación móvil de realidad aumentada, utilizando la metodología Mobile-D, para el entrenamiento de técnicos de mantenimiento de maquinaria pesada en la empresa Zamine Service Perú SAC. Cuello, J., & Vittone, J. (2013). Diseñando apps para móviles. Developers Apple. (2021). Obtenido de ArKit: https://developer.apple.com/augmented-reality/ Developers Google. (2021). Obtenido de ARCore : https://developers.google.com/ar/discover Ding, M. (2017). Augmented reality in museums. 1-15. Ding, M. (2017). Augmented reality in museums. 1-15. Ding, M. (2017). Augmented reality in museums. Museums & augmented reality–A collection of essays from the arts management and technology laboratory. 115. 88 Juliani, A., Berges, V., Teng, E., Cohen, A., Harper, J., Elion, C., & Lange, D. (2018). Unity: A general platform for intelligent agents. . Meneses, J. D., & Laveriano, E. C. (2016). Prototipo de aplicación móvil utilizando la metodología Mobile-D para la verificación de la formalidad en el servicio de taxi metropolitano en la ciudad de Lima. Páez, S. (s.f.). API CSI. Pedrozo, G. (2012). Sistemas Operativos. Rahimian, V., & Ramsin, R. (2008). IEEE, 337-342. Realidad Aumentada. (2021). Obtenido de Enfermería Blog: https://enfermeriablog.com/realidad-aumentada/ Ruiz, F. (2 de Septiembre de 2015). Culturación. Obtenido de https://culturacion.com/android-principales-caracteristicas-del-sistemaoperativode-google/ Salazar, I. A. (2013). Diseño e implementación de un sistema para información turística basado en realidad aumentada. Sarracino, F. (2017). ¿ Mejora la Realidad Aumentada el aprendizaje de los alumnos? Una propuesta de experiencia de museo aumentado. Unity. (10 de 05 de 2021). Obtenido de https://docs.unity3d.com/es/current/Manual/UnityManual.html Vique, R. R. (2019). Métodos para el desarrollo de aplicaciones móviles. Vuforia Developer. (2021). Obtenido https://developer.vuforia.com 89 de Vuforia Engine: ANEXOS 90 Anexo 1: Colores predeterminados para la aplicación Anexo 2: Entorno Vuforia 1) Crear cuenta en Vuforia 91 2) Login - Vuforia 3) Descargar SDK para unity 92 4) Obtener la License key para usarla en el programa 93 5) Crear un database para almacenar las targets 94 6) Subir las targets de realidad aumentada que se van a utilizar en la aplicación 7) Visualizar el rating de cada target que sea igual o mayor a 3 95 8) Visualizar los puntos de reconocimiento de cada target 96 97 Anexo 3: comentarios encuesta 98 99 Anexo 4: Scripts Visual Studio 2019 100 101 102 103 104 105 106 107 108 109 110 MANUAL DEL PROGRAMADOR ÍNDICE GENERAL ÍNDICE DE TABLAS .......................................................................................................... 3 ÍNDICE DE FIGURAS ........................................................................................................ 4 INTRODUCCIÓN .............................................................................................................. 6 INFORMACIÓN DESTACADA ........................................................................................... 6 OBJETIVOS ...................................................................................................................... 6 REQUERIMIENTOS .......................................................................................................... 6 Herramientas para el desarrollo ..................................................................................... 8 Vuforia ........................................................................................................................ 8 C# o C Sharp .............................................................................................................. 8 Unity ........................................................................................................................... 9 INSTALACIÓN DE APLICACIONES .................................................................................. 9 Instalación de Unity Hub ................................................................................................ 9 Instalación Unity ........................................................................................................... 12 FUNCIONAMIENTO DE LA APLICACIÓN....................................................................... 13 Funcionamiento de la Linterna ..................................................................................... 14 Funcionamiento Salir de la aplicación .......................................................................... 14 Funcionamiento animación panel sliders ..................................................................... 15 Funcionalidad Rotar modelo 3D ................................................................................... 19 Funcionalidad Trasladar modelo 3D ............................................................................. 22 Función escalar modelo 3D .......................................................................................... 28 PROTOTIPOS DE LA INTERFAZ DEL APLICATIVO ...................................................... 35 ÍNDICE DE TABLAS Tabla 1. Dispositivos compatibles (Fuente: Autora) ........................................................... 7 ÍNDICE DE FIGURAS Figura 1. Módulos para Unity 2020.3.1f1 (Fuente: Autora) ................................................. 9 Figura 2. Página oficial de Unity (Fuente: Autora) ............................................................ 10 Figura 3. Términos y condiciones instalación de Unity Hub (Fuente: Autora) ................... 10 Figura 4. Acceso para Unity desde Unity Hub (Fuente: Autora) ....................................... 11 Figura 5. Menú principal Unity Hub (Fuente: Autora) ....................................................... 12 Figura 6.Instalación versión de Unity (Fuente: Autora) .................................................... 12 Figura 7. Añadir módulos SDK para unity (Fuente: Autora) ............................................. 13 Ilustración 8. Controladores de Animación (Fuente: Autora) ............................................ 15 Figura 9. Primer prototipo colores del aplicativo (Fuente: Manual de Identidad Museo) ... 35 Figura 10. Splash 1 Inicio a la app (Fuente: Autora) ....................................................... 36 Figura 11.Splash 2 inicio de la app (Fuente: Autora) ....................................................... 36 Figura 12. Menú de Inicio (Fuente: Autora) ...................................................................... 37 Figura 13. Interfaz de Información (Fuente: Autora) ......................................................... 37 Figura 14. Interfaz Museo de la Salle (Fuente: Autora) .................................................... 38 Figura 15. Interfaz de Recorridos (Fuente: Autora) .......................................................... 38 Figura 16. Interfaz de recorridos (Fuente: Autora) ........................................................... 39 Figura 17. Interfaz de recorridos (Fuente: Autora) ........................................................... 39 Figura 18. Colores de identidad del aplicativo (Fuente: Manual de identidad Museo) ...... 40 Figura 19. Splash 1 (Fuente: Autora) ............................................................................... 40 Figura 20. Splash 2 (Fuente: Autora) ............................................................................... 41 Figura 21. Menú de Inicio (Fuente: Autora) ...................................................................... 41 Figura 22. Interfaz de Información (Fuente: Autora) ......................................................... 42 Figura 23. Interfaz de Museo de la Salle (Fuente: Autora) ............................................... 42 Figura 24.Interfaz recorridos (Fuente: Autora) ................................................................. 43 Figura 25. Interfaz recorridos (Fuente: Autora) ................................................................ 43 Figura 26. Interfaz recorridos (Fuente: Autora) ................................................................ 44 Figura 27. Interfaz recorridos (Fuente: Autora) ................................................................ 44 INTRODUCCIÓN El siguiente documento presenta los aspectos técnicos informáticos de la aplicación de realidad aumentada del museo de ciencias de la Universidad de la Salle como lo son los códigos fuentes realizados, animaciones y uso de la librería Vuforia. con el fin de familiarizar a personal técnico de revisión, solución de conflictos, instalación y configuración las herramientas del sistema, los requerimientos necesarios para realizar modificaciones entre otras actividades que se requieran para la aplicación de realidad aumentada. INFORMACIÓN DESTACADA El equipo técnico que requiera orientarse sobre el aplicativo con este manual de desarrollador debe tener conceptos claros de lógica de programación, programación orientada objetos, conocimientos avanzados en programación C#, manejo de entornos de programación de videojuegos en este caso el motor de juegos Unity. Conocimientos de Visual Studio entre otros manejos de plataformas. OBJETIVOS - Orientar adecuadamente al lector la programación de la aplicación para que de esta forma pueda contextualizarse y comprender el trabajo realizado para posteriores modificaciones REQUERIMIENTOS Requerimientos de máquina: Para el correcto funcionamiento del entorno de desarrollo es necesario para máquina de trabajo mínimo las siguientes caracteristicas - - Intel(R) Core (TM) i5-1035G1 CPU @ 1.00GHz 1.19 GHz o más rápido 8 GB de RAM (se recomiendan 16 GB). 60 GB de espacio disponible en disco duro para la instalación; se requiere espacio libre adicional (aproximadamente 10 GB) durante la instalación. Resolución de pantalla de 1280 x 1024 con tarjeta de vídeo de 16 bits Dispositivos móviles: en la siguiente tabla se especifican los dispositivos que soportan la aplicación para sistema operativo Android Tabla 1. Dispositivos compatibles (Fuente: Autora) Nombre N.º de la versión Año de lanzamiento Nivel de API KitKat 4.4 – 4.4.4 31 de octubre de 2013 19 – 20 Lollipop 5.0 – 5.1.1 12 de noviembre de 2014 21 – 22 Marshmallow 6.0 – 6.0.1 5 de octubre de 2015 23 Nougat 7.0 – 7.1.2 15 de junio de 2016 24 – 25 Oreo 8.0 – 8.1 21 de agosto de 2017 26 – 27 Pie 9.0 6 de agosto de 2018 28 Android 10 10.0 3 de septiembre de 2019 29 Android 11 11.0 8 de septiembre de 2020 30 Entorno de desarrollo (IDE): UNITY 3D Versión Unity 2019.4.26f1 (64-bit), Monodevelop. Adicionalmente el uso de Visual Studio 2019 (64-bit) Lenguaje de programación: C# o C SHARP. Kit de desarrollo de software (SDK): Vuforia SDK Android, SDK Tools. Java Development Kit (JDK): Java SE Development Kit 8u271 Windows x64 Herramientas para el desarrollo Vuforia Vuforia es un SDK que permite construir un entorno de Realidad Aumentada, donde se entrelazan elementos del mundo real con objetos virtuales por medio de la cámara del dispositivo móvil que se tenga en uso. C# o C Sharp Actualmente uno de los lenguajes de programación más populares. El objetivo de Microsoft, que tiene todos los derechos sobre la plataforma de desarrollo .NET Framework en la que está incluido el lenguaje C#, es permitir a los programadores abordar el desarrollo de aplicaciones complejas con facilidad y rapidez. Unity Hub es una herramienta para la gestión de proyectos Unity, la cual permite gestionar múltiples instalaciones del editor Unity junto con sus componentes, crear nuevos proyectos y abrir proyectos existentes. De este modo el programador podrá instalar varias versiones de Unity y manejar que módulos desea añadir para programar en cada versión Figura 1. Módulos para Unity 2020.3.1f1 (Fuente: Autora) Unity Es un motor de videojuegos multiplataforma que permiten una edición e iteración rápida en el ciclo de desarrollo de proyectos. Este se apoya tanto en el desarrollo de la tecnología 2D como el de la 3D con prestaciones y funcionalidades para las necesidades del desarrollador logrando crear una experiencia de juego sumamente realista y de alto rendimiento. INSTALACIÓN DE APLICACIONES Para facilitar la descarga de Unity y los componentes con los que se van a trabajar se recomienda iniciar con la descarga de Unity Hub de este modo se podrán añadir módulos de Android, iOS, Windows entre otros Instalación de Unity Hub Para proceder con la instalación primero deberás ir a la página oficial de unity y descargar Unity Hub Figura 2. Página oficial de Unity (Fuente: Autora) Figura 3. Términos y condiciones instalación de Unity Hub (Fuente: Autora) Una vez instalado el programa lo ejecutamos en nuestro pc, solicitará crear una cuenta para poder ingresar, es necesario para acceder a descargar las versiones de Unity entonces se debe acceder Figura 4. Acceso para Unity desde Unity Hub (Fuente: Autora) Una vez ingresado la interfaz que aparece en pantalla es como la que se visualiza en la Figura 5. Figura 5. Menú principal Unity Hub (Fuente: Autora) Instalación Unity Una vez allí en la barra izquierda se debe ir a Installs que permitirá agregar versiones de Unity con la que sea más fácil, en este caso la versión será 2019.4.26.f1 Figura 6.Instalación versión de Unity (Fuente: Autora) Al continuar como requisito debe seleccionarse las SDK que se requieran para la posterior compilación de la aplicativo así que se selecciona Android Build support y iOS Build support que permite que la compilación del aplicativo pueda hacerse para múltiples plataformas. Figura 7. Añadir módulos SDK para unity (Fuente: Autora) Del mismo modo correspondiente al año de la versión de unity se instalará Visual Studio que será el entorno dónde se desarrollará el código de la aplicación. FUNCIONAMIENTO DE LA APLICACIÓN En la siguiente sección se mostrarán los scripts realizados en el lenguaje de programación C# por medio del programa Visual Studio 2019 el cuál se vincula con el proyecto de unity este permite la edición y compilación del código. para el funcionamiento de la aplicación se presentan los scripts más importantes del proyecto y su respectiva explicación del funcionamiento de cada uno dentro de la aplicación de realidad aumentada. Funcionamiento de la Linterna Para realizar este método se llama a la librería de Vuforia ya que esta va a permitir el uso de la cámara y sus componentes, facilitando el acceso. De este modo se realizaron las funciones Start para instanciar el flash de la cámara en false inicialmente y BotonLinterna que usa la variable bool Linterna para encender o apagar según lo requiera el usuario: using System.Collections; using System.Collections.Generic; using UnityEngine; using Vuforia; public class linterna : MonoBehaviour { public bool Linterna = false; void Start() { CameraDevice.Instance.SetFlashTorchMode(false); } public void BotonLinterna() { Linterna = !Linterna; CameraDevice.Instance.SetFlashTorchMode(Linterna); } } Funcionamiento Salir de la aplicación Para realizar la salida de la aplicación se realiza un método que llama de la librería UnityEngine que cierra la aplicación del reproductor. using System.Collections; using System.Collections.Generic; using UnityEngine; public class Salir : MonoBehaviour { public void SalirAp() { Application.Quit(); } } Funcionamiento animación panel sliders Para el caso de los paneles de recorridos y el panel del menú de inicio que se desliza presionando un botón se realizó el siguiente script dónde se adjuntaron las animaciones hechas desde unity a visual studio. Ilustración 8. Controladores de Animación (Fuente: Autora) Dentro de los controladores de cada animación hay una rutina que se definió adjuntada a un parámetro booleano que permite al código acceder a su estado y modificarlo según el usuario lo requiera para que se visualicen o desaparezcan los paneles. Ilustración 9. Rutina de animación para slider Murciélago (Fuente: Autora) Se definen 4 GameObjects uno para cada panel. Para el panel de menú se realiza el método ShowHideMenu que obtendrá el valor booleano de show en el animator controller del panel menú y si se presiona el botón este cambiará de estado para que se deslice o se esconda. Con los métodos ShowHideMur, ShowHideShark y ShowHideSnake se realiza un proceso similar al anterior pero adicionalmente se agregan todos los paneles de la misma interfaz al método de modo que no se visualice un panel encima del otro. Que sea un solo panel a la vez. Si alguno está activo y se presiona el botón para visualizar este diferente el panel se desactive. using System.Collections; using System.Collections.Generic; using UnityEngine; public class SliderAnimation : MonoBehaviour { public GameObject PanelMenu; public GameObject Ventana_Murcielago; public GameObject Ventana_shark; public GameObject Ventana_snake; public void ShowHideMenu() { if (PanelMenu != null) { Animator guerrero2 = PanelMenu.GetComponent<Animator>(); if (guerrero2 != null) { bool isOpen = guerrero2.GetBool("show"); guerrero2.SetBool("show", !isOpen); } } } public void ShowHideMur() { if (Ventana_Murcielago != null) { Animator ventana_murc = Ventana_Murcielago.GetComponent<Animator>(); Animator ventana_snake = Ventana_snake.GetComponent<Animator>(); Animator ventana_shark = Ventana_shark.GetComponent<Animator>(); if (ventana_murc != null) { bool isOpen = ventana_murc.GetBool("show1"); bool isOpen2 = ventana_shark.GetBool("show2"); bool isOpen3 = ventana_snake.GetBool("show3"); isOpen2 = false; isOpen3 = false; ventana_murc.SetBool("show1", !isOpen); ventana_shark.SetBool("show2", isOpen2); ventana_snake.SetBool("show3", isOpen3); } } } public void ShowHideShark() { if (Ventana_shark != null) { Animator ventana_murc = Ventana_Murcielago.GetComponent<Animator>(); Animator ventana_snake = Ventana_snake.GetComponent<Animator>(); Animator ventana_shark = Ventana_shark.GetComponent<Animator>(); if (ventana_shark != null) { bool isOpen = ventana_murc.GetBool("show1"); bool isOpen2 = ventana_shark.GetBool("show2"); bool isOpen3 = ventana_snake.GetBool("show3"); isOpen = false; isOpen3 = false; ventana_shark.SetBool("show2", !isOpen2); ventana_snake.SetBool("show3", isOpen3); ventana_murc.SetBool("show1", isOpen); } } } public void ShowHideSnake() { if (Ventana_snake != null) { Animator ventana_snake = Ventana_snake.GetComponent<Animator>(); Animator ventana_shark = Ventana_shark.GetComponent<Animator>(); Animator ventana_murc = Ventana_Murcielago.GetComponent<Animator>(); if (ventana_snake != null) { bool isOpen = ventana_snake.GetBool("show3"); bool isOpen2 = ventana_shark.GetBool("show2"); bool isOpen3 = ventana_murc.GetBool("show1"); isOpen2 = false; isOpen3 = false; ventana_snake.SetBool("show3", !isOpen); ventana_shark.SetBool("show2", isOpen2); ventana_murc.SetBool("show1", isOpen3); } } } public void HideAll() { if (Ventana_Murcielago && Ventana_shark && Ventana_snake != null) { Animator ventana_snake = Ventana_snake.GetComponent<Animator>(); Animator ventana_shark = Ventana_shark.GetComponent<Animator>(); Animator ventana_murc = Ventana_Murcielago.GetComponent<Animator>(); if (ventana_snake && Ventana_Murcielago && Ventana_shark != null) { bool isOpen = ventana_snake.GetBool("show3"); bool isOpen2 = ventana_shark.GetBool("show2"); bool isOpen3 = ventana_murc.GetBool("show1"); isOpen = false; isOpen2 = false; isOpen3 = false; ventana_snake.SetBool("show3", isOpen); ventana_shark.SetBool("show2", isOpen2); ventana_murc.SetBool("show1", isOpen3); } } } } Funcionalidad Rotar modelo 3D Para las funcionalidades que se van a mostrar de ahora en adelante se trabajó con una librería llamada Lean Touch la cual facilita el uso de la pantalla táctil para manipular objetos a los cuáles se les asigne el código, en este caso los modelos 3D de la realidad aumentada. Lo que va a permitir el código es que se pueda modificar el uso de los dedos, la sensibilidad y la inercia con la que se manipule el modelo 3D. la rotación para el modelo se hará en un solo eje y se define en Unity después de agregarle al objeto el respectivo script. using UnityEngine; using Lean.Common; using FSA = UnityEngine.Serialization.FormerlySerializedAsAttribute; namespace Lean.Touch { /// <summary>This component allows you to rotate the current GameObject around the specified axis using finger twists.</summary> [HelpURL(LeanTouch.HelpUrlPrefix + "LeanTwistRotateAxis")] [AddComponentMenu(LeanTouch.ComponentPathPrefix + "Twist Rotate Axis")] public class LeanTwistRotateAxis : MonoBehaviour { /// <summary>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</summary> public LeanFingerFilter Use = new LeanFingerFilter(true); /// <summary>The axis of rotation.</summary> public Vector3 Axis { set { axis = value; } get { return axis; } } [FSA("Axis")] [SerializeField] private Vector3 axis = Vector3.down; /// <summary>Rotate locally or globally?</summary> public Space Space { set { space = value; } get { return space; } } [FSA("Sensitivity")] [SerializeField] private Space space = Space.Self; /// <summary>The sensitivity of the rotation. /// 1 = Default. /// 2 = Double.</summary> public float Sensitivity { set { sensitivity = value; } get { return sensitivity; } } [FSA("Sensitivity")] [SerializeField] private float sensitivity = 1.0f; /// <summary>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</summary> public void AddFinger(LeanFinger finger) { Use.AddFinger(finger); } /// <summary>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</summary> public void RemoveFinger(LeanFinger finger) { Use.RemoveFinger(finger); } /// <summary>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</summary> public void RemoveAllFingers() { Use.RemoveAllFingers(); } #if UNITY_EDITOR protected virtual void Reset() { Use.UpdateRequiredSelectable(gameObject); } #endif protected virtual void Awake() { Use.UpdateRequiredSelectable(gameObject); } protected virtual void Update() { // Get the fingers we want to use var fingers = Use.UpdateAndGetFingers(); // Calculate the rotation values based on these fingers var twistDegrees = LeanGesture.GetTwistDegrees(fingers) * sensitivity; // Perform rotation transform.Rotate(axis, twistDegrees, space); } } } #if UNITY_EDITOR namespace Lean.Touch.Editor { using TARGET = LeanTwistRotateAxis; [UnityEditor.CanEditMultipleObjects] [UnityEditor.CustomEditor(typeof(TARGET), true)] public class LeanTwistRotateAxis_Editor : LeanEditor { protected override void OnInspector() { TARGET tgt; TARGET[] tgts; GetTargets(out tgt, out tgts); Draw("Use"); Draw("axis", "The axis of rotation."); Draw("space", "Rotate locally or globally?"); Draw("sensitivity", "The sensitivity of the rotation.\n\n1 = Default.\n\n2 = Double."); } } } #endif Funcionalidad Trasladar modelo 3D Para este script como se mencionó anteriormente se usa la librería Lean Touch se usan como variables la sensibilidad, inercia y damping serán modificados desde el objeto 3D en unity. Los método principales son Reset, Awake y Update que permiten evaluar la posición del GameObject que sería el objeto 3D para localizar su posición y localizarla dónde el usuario la ubique en la pantalla. using UnityEngine; using FSA = UnityEngine.Serialization.FormerlySerializedAsAttribute; using Lean.Common; namespace Lean.Touch { /// <summary>This component allows you to translate the current GameObject relative to the camera using the finger drag gesture.</summary> [HelpURL(LeanTouch.HelpUrlPrefix + "LeanDragTranslate")] [AddComponentMenu(LeanTouch.ComponentPathPrefix + "Drag Translate")] public class LeanDragTranslate : MonoBehaviour { /// <summary>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</summary> public LeanFingerFilter Use = new LeanFingerFilter(true); /// <summary>The camera the translation will be calculated using. /// None/null = MainCamera.</summary> public Camera { set { _camera = value; } get { return _camera; } } [FSA("Camera")] [SerializeField] private Camera _camera; /// <summary>The movement speed will be multiplied by this. /// -1 = Inverted Controls.</summary> public float Sensitivity { set { sensitivity = value; } get { return sensitivity; } } [FSA("Sensitivity")] [SerializeField] private float sensitivity = 1.0f; /// <summary>If you want this component to change smoothly over time, then this allows you to control how quick the changes reach their target value. /// -1 = Instantly change. /// 1 = Slowly change. /// 10 = Quickly change.</summary> public float Damping { set { damping = value; } get { return damping; } } [FSA("Damping")] [FSA("Dampening")] [SerializeField] private float damping = 1.0f; /// <summary>This allows you to control how much momentum is retained when the dragging fingers are all released. /// NOTE: This requires <b>Dampening</b> to be above 0.</summary> public float Inertia { set { inertia = value; } get { return inertia; } } [FSA("Inertia")] [SerializeField] [Range(0.0f, 1.0f)] private float inertia; [SerializeField] private Vector3 remainingTranslation; /// <summary>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</summary> public void AddFinger(LeanFinger finger) { Use.AddFinger(finger); } /// <summary>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</summary> public void RemoveFinger(LeanFinger finger) { Use.RemoveFinger(finger); } /// <summary>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</summary> public void RemoveAllFingers() { Use.RemoveAllFingers(); } #if UNITY_EDITOR protected virtual void Reset() { Use.UpdateRequiredSelectable(gameObject); } #endif protected virtual void Awake() { Use.UpdateRequiredSelectable(gameObject); } protected virtual void Update() { // Store var oldPosition = transform.localPosition; // Get the fingers we want to use var fingers = Use.UpdateAndGetFingers(); // Calculate the screenDelta value based on these fingers var screenDelta = LeanGesture.GetScreenDelta(fingers); if (screenDelta != Vector2.zero) { // Perform the translation if (transform is RectTransform) { TranslateUI(screenDelta); } else { Translate(screenDelta); } } // Increment remainingTranslation += transform.localPosition oldPosition; // Get t value var factor = LeanHelper.GetDampenFactor(Damping, Time.deltaTime); // Dampen remainingDelta var newRemainingTranslation Vector3.Lerp(remainingTranslation, Vector3.zero, factor); // Shift this transform by the change in delta transform.localPosition = oldPosition + remainingTranslation newRemainingTranslation; if (fingers.Count == 0 && Inertia > 0.0f && Damping > 0.0f) { = newRemainingTranslation = Vector3.Lerp(newRemainingTranslation, remainingTranslation, Inertia); } // Update remainingDelta with the dampened value remainingTranslation = newRemainingTranslation; } private void TranslateUI(Vector2 screenDelta) { var camera = this._camera; if (camera == null) { var canvas = transform.GetComponentInParent<Canvas>(); if (canvas != null && canvas.renderMode != RenderMode.ScreenSpaceOverlay) { camera = canvas.worldCamera; } } // Screen position of the transform var screenPoint RectTransformUtility.WorldToScreenPoint(camera, transform.position); // Add the deltaPosition screenPoint += screenDelta * Sensitivity; // Convert back to world space var worldPoint = default(Vector3); if (RectTransformUtility.ScreenPointToWorldPointInRectangle(transform.parent as RectTransform, screenPoint, camera, out worldPoint) == true) { transform.position = worldPoint; = } } private void Translate(Vector2 screenDelta) { // Make sure the camera exists var camera = LeanHelper.GetCamera(this._camera, gameObject); if (camera != null) { // Screen position of the transform var screenPoint = camera.WorldToScreenPoint(transform.position); // Add the deltaPosition screenPoint += (Vector3)screenDelta * Sensitivity; // Convert back to world space transform.position = camera.ScreenToWorldPoint(screenPoint); } else { Debug.LogError("Failed to find camera. Either tag your camera as MainCamera, or set one in this component.", this); } } } } #if UNITY_EDITOR namespace Lean.Touch.Editor { using TARGET = LeanDragTranslate; [UnityEditor.CanEditMultipleObjects] [UnityEditor.CustomEditor(typeof(TARGET), true)] public class LeanDragTranslate_Editor : LeanEditor { protected override void OnInspector() { TARGET tgt; TARGET[] tgts; GetTargets(out tgt, out tgts); Draw("Use"); Draw("_camera", "The camera the translation will be calculated using.\n\nNone/null = MainCamera."); Draw("sensitivity", "The movement speed will be multiplied by this.\n\n-1 = Inverted Controls."); Draw("damping", "If you want this component to change smoothly over time, then this allows you to control how quick the changes reach their target value.\n\n-1 = Instantly change.\n\n1 = Slowly change.\n\n10 = Quickly change."); Draw("inertia", "This allows you to control how much momentum is retained when the dragging fingers are all released.\n\nNOTE: This requires <b>Damping</b> to be above 0."); } } } #endif Función escalar modelo 3D Para esta función al igual que las anteriores se usa la librería Lean Touch y se puede modificar la sensibilidad, inercia y damping del modelo al momento de escalarse. Los métodos Reset, Awake y Update son los encargados de hallar la posición dónde el usuario los coloca en la pantalla y recoger un vector para que sea modificada la escala del objeto 3D que se este visualizando en la pantalla. using UnityEngine; using Lean.Common; using FSA = UnityEngine.Serialization.FormerlySerializedAsAttribute; namespace Lean.Touch { /// <summary>This component allows you to scale the current GameObject relative to the specified camera using the pinch gesture.</summary> [HelpURL(LeanTouch.HelpUrlPrefix + "LeanPinchScale")] [AddComponentMenu(LeanTouch.ComponentPathPrefix + "Pinch Scale")] public class LeanPinchScale : MonoBehaviour { /// <summary>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</summary> public LeanFingerFilter Use = new LeanFingerFilter(true); /// <summary>The camera that will be used to calculate the zoom. /// None/null = MainCamera.</summary> public Camera Camera { set { _camera = value; } get { return _camera; } } [FSA("Camera")] [SerializeField] private Camera _camera; /// <summary>Should the scaling be performed relative to the finger center?</summary> public bool Relative { set { relative = value; } get { return relative; } } [FSA("Relative")] [SerializeField] private bool relative; /// <summary>The sensitivity of the scaling. /// 1 = Default. /// 2 = Double.</summary> public float Sensitivity { set { sensitivity = value; } get { return sensitivity; } } [FSA("Sensitivity")] [SerializeField] private float sensitivity = 1.0f; /// <summary>If you want this component to change smoothly over time, then this allows you to control how quick the changes reach their target value. /// -1 = Instantly change. /// 1 = Slowly change. /// 10 = Quickly change.</summary> public float Damping { set { damping = value; } get { return damping; } } [FSA("Damping")] [FSA("Dampening")] [SerializeField] private float damping = 1.0f; [SerializeField] private Vector3 remainingScale; /// <summary>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</summary> public void AddFinger(LeanFinger finger) { Use.AddFinger(finger); } /// <summary>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</summary> public void RemoveFinger(LeanFinger finger) { Use.RemoveFinger(finger); } /// <summary>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</summary> public void RemoveAllFingers() { Use.RemoveAllFingers(); } #if UNITY_EDITOR protected virtual void Reset() { Use.UpdateRequiredSelectable(gameObject); } #endif protected virtual void Awake() { Use.UpdateRequiredSelectable(gameObject); } protected virtual void Update() { // Store var oldScale = transform.localPosition; // Get the fingers we want to use var fingers = Use.UpdateAndGetFingers(); // Calculate pinch scale, and make sure it's valid var pinchScale = LeanGesture.GetPinchScale(fingers); if (pinchScale != 1.0f) { pinchScale = Mathf.Pow(pinchScale, sensitivity); // Perform the translation if this is a relative scale if (relative == true) { var pinchScreenCenter = LeanGesture.GetScreenCenter(fingers); if (transform is RectTransform) { TranslateUI(pinchScale, pinchScreenCenter); } else { Translate(pinchScale, pinchScreenCenter); } } transform.localScale *= pinchScale; remainingScale += transform.localPosition - oldScale; } // Get t value var factor = LeanHelper.GetDampenFactor(damping, Time.deltaTime); // Dampen remainingDelta var Vector3.zero, factor); newRemainingScale = Vector3.Lerp(remainingScale, // Shift this transform by the change in delta transform.localPosition = oldScale + remainingScale newRemainingScale; // Update remainingDelta with the dampened value remainingScale = newRemainingScale; } protected virtual void TranslateUI(float pinchScale, Vector2 pinchScreenCenter) { var camera = _camera; if (camera == null) { var canvas = transform.GetComponentInParent<Canvas>(); if (canvas != null && canvas.renderMode != RenderMode.ScreenSpaceOverlay) { camera = canvas.worldCamera; } } // Screen position of the transform var screenPoint RectTransformUtility.WorldToScreenPoint(camera, transform.position); // Push the screen position away from the reference point based on the scale screenPoint.x = pinchScreenCenter.x + (screenPoint.x pinchScreenCenter.x) * pinchScale; screenPoint.y = pinchScreenCenter.y + (screenPoint.y pinchScreenCenter.y) * pinchScale; = // Convert back to world space var worldPoint = default(Vector3); if (RectTransformUtility.ScreenPointToWorldPointInRectangle(transform.parent as RectTransform, screenPoint, camera, out worldPoint) == true) { transform.position = worldPoint; } } protected virtual void Translate(float pinchScale, Vector2 screenCenter) { // Make sure the camera exists var camera = LeanHelper.GetCamera(_camera, gameObject); if (camera != null) { // Screen position of the transform var screenPosition = camera.WorldToScreenPoint(transform.position); // Push the screen position away from the reference point based on the scale screenPosition.x = screenCenter.x + (screenPosition.x screenCenter.x) * pinchScale; screenPosition.y = screenCenter.y + (screenPosition.y screenCenter.y) * pinchScale; // Convert back to world space transform.position camera.ScreenToWorldPoint(screenPosition); } else { Debug.LogError("Failed to find camera. Either tag your cameras MainCamera, or set one in this component.", this); } = } } } #if UNITY_EDITOR namespace Lean.Touch.Editor { using TARGET = LeanPinchScale; [UnityEditor.CanEditMultipleObjects] [UnityEditor.CustomEditor(typeof(TARGET), true)] public class LeanPinchScale_Editor : LeanEditor { protected override void OnInspector() { TARGET tgt; TARGET[] tgts; GetTargets(out tgt, out tgts); Draw("Use"); Draw("_camera", "The camera that will be used to calculate the zoom.\n\nNone/null = MainCamera."); Draw("relative", "Should the scaling be performed relative to the finger center?"); Draw("sensitivity", "The sensitivity of the scaling.\n\n1 = Default.\n\n2 = Double."); Draw("damping", "If you want this component to change smoothly over time, then this allows you to control how quick the changes reach their target value.\n\n-1 = Instantly change.\n\n1 = Slowly change.\n\n10 = Quickly change."); } } } #endif PROTOTIPOS DE LA INTERFAZ DEL APLICATIVO Siguiendo la guía de identidad visual del museo de ciencias de la Universidad de la Salle se tiene una amplia gama de colores para utilizar, se usaron dos modelos de colores para el aplicativo decidiendo así con el museo el uso del color verde. A continuación los prototipos y las vistas finales de las interfaces. En su versión 16 en la APK, se contemplaron los siguientes colores del manual de identidad: Figura 10. Primer prototipo colores del aplicativo (Fuente: Manual de Identidad Museo) De esta manera el boceto inicial que se plantearon para las interfaces con los respectivos colores del manual vistos en la Figura 9 se visualizan a continuación: Figura 11. Splash 1 Inicio a la app (Fuente: Autora) Figura 12.Splash 2 inicio de la app (Fuente: Autora) Figura 13. Menú de Inicio (Fuente: Autora) Figura 14. Interfaz de Información (Fuente: Autora) Figura 15. Interfaz Museo de la Salle (Fuente: Autora) Figura 16. Interfaz de Recorridos (Fuente: Autora) Figura 17. Interfaz de recorridos (Fuente: Autora) Figura 18. Interfaz de recorridos (Fuente: Autora) Para otorgar al aplicativo un color distinto de los atribuidos a las páginas por parte de la universidad se decidió tomar los colores del logotipo que se muestran en la siguiente Figura: Figura 19. Colores de identidad del aplicativo (Fuente: Manual de identidad Museo) De este modo también se modificó la orientación de las interfaces para mejor visualización del imagotipo de la osa y su osezno. Figura 20. Splash 1 (Fuente: Autora) Figura 21. Splash 2 (Fuente: Autora) Figura 22. Menú de Inicio (Fuente: Autora) Figura 23. Interfaz de Información (Fuente: Autora) Figura 24. Interfaz de Museo de la Salle (Fuente: Autora) Figura 25.Interfaz recorridos (Fuente: Autora) Figura 26. Interfaz recorridos (Fuente: Autora) Figura 27. Interfaz recorridos (Fuente: Autora) Figura 28. Interfaz recorridos (Fuente: Autora) MANUAL DEL USUARIO ÍNDICE GENERAL ÍNDICE DE FIGURAS .............................................................................................. 3 ÍNDICE DE TABLAS ................................................................................................ 4 INTRODUCCIÓN ..................................................................................................... 5 REQUERIMIENTOS ................................................................................................ 5 INSTALACIÓN ......................................................................................................... 6 Uso de la aplicación móvil ....................................................................................... 7 REALIDAD AUMENTADA .................................................................................... 8 INFORMACIÓN .................................................................................................. 10 MUSEO DE LA SALLE ....................................................................................... 11 RECORRIDOS ................................................................................................... 12 ÍNDICE DE FIGURAS Figura 1. Instalación del aplicativo ........................................................................... 6 Figura 2. Aplicativo instalado ................................................................................... 7 Figura 3. Menú de Inicio .......................................................................................... 8 ÍNDICE DE TABLAS Tabla 1. Interfaz Realidad Aumentada (Fuente: Autora) .......................................... 9 Tabla 2. Interfaz Información (Fuente: Autora) ...................................................... 10 Tabla 3. Interfaz Museo de la Salle (Fuente: Autora) ............................................. 11 Tabla 4. Interfaz Recorridos (Fuente: Autora) ........................................................ 12 INTRODUCCIÓN Los usos de las aplicaciones móviles son tan amplios como se pueda imaginar, hoy en día gracias a la tecnología se pueden realizar en diferentes campos como lo son el aprendizaje pedagógico y el entretenimiento. Muchos museos alrededor del mundo han implementado el uso tableros digitales, la gamificación, usando tecnologías para la impresión 3D de piezas del museo y por último realidad aumentada. Como se mostrará por medio de este manual de usuario el uso de una aplicación móvil de realidad aumentada, enfocada para que cada usuario pueda orientarse en su uso y en la navegación para que de esta manera pueda sacarle el máximo provecho a sus funciones mientras realiza una visita al museo de ciencias de la Universidad de la Salle. REQUERIMIENTOS El uso de la aplicación está disponible para dispositivos con sistema operativo Android y los requerimientos para que la aplicación móvil funcione correctamente son los siguientes: 1. Sistema operativo 4.4 Kit Kat o superior 2. Procesador de 2.3 GHz 3. Memoria de RAM de mínimo 2GB (lo recomendable es 4GB) 4. Espacio en memoria interna de 50MB 5. Que el dispositivo tenga la cámara en buen estado. INSTALACIÓN Como la gestión por parte del museo de la Salle para que el aplicativo sea subido a la Play Store aún se encuentra en espera podrá acceder al aplicativo siguiendo las siguientes instrucciones para realizar la instalación del aplicativo: 1. Ingresar desde el navegador web de su aplicativo móvil a la siguiente dirección https://drive.google.com/drive/folders/1x04j0gNmXxBqZCsWN_JbA014jgoZ xQE?usp=sharing 2. Seleccione la aplicación móvil “Museo de la Salle” 3. Siga las instrucciones que aparecen en pantalla para completar la instalación. En la Figura 1. se visualiza la pantalla emergente que solicitará al usuario instalar el aplicativo. Figura 1. Instalación del aplicativo (Fuente: Autora) 4. Al seleccionar la confirmación para la instalación mostrará esta ventana emergente. Figura 2. Figura 2. Aplicativo instalado (Fuente: Autora) Uso de la aplicación móvil Si realizó debidamente los pasos descritos anteriormente, la aplicación móvil se encuentra lista para hacer uso de la realidad aumentada y demás funciones. Lo primero que ocurrirá al abrir el aplicativo es la visualización de los dos Splash, seguido de este pedirá el usuario conceda el permiso de acceder a la cámara esto con el objetivo de poder utilizarla para visualizar la realidad aumentada más adelante. Lo primer que se visualizará será el menú de Inicio (Figura 3) con cuatro secciones a las que el usuario podrá dirigirse. Figura 3. Menú de Inicio (Fuente: Autora) Las cuatro secciones son: 1. Realidad Aumentada: en esta sección se visualiza la cámara si el permiso fue concedido de esta manera se podrá dirigir el foco de la cámara a las targets para visualizar los modelos de Realidad aumentada e interactuar con ellos 2. Información: en esta sección se visualizan instrucciones del uso de la realidad aumentada, imágenes de las targets que el usuario deberá buscar dentro del museo para apreciar la realidad aumentada. 3. Museo de la Salle: en esta sección el usuario encontrará información de ubicación y contacto con el museo de la Universidad de la Salle. 4. Recorridos : en esta sección el usuario podrá encontrar información adicional de los modelos o especímenes que visualiza en la realidad aumentada. REALIDAD AUMENTADA Como se dijo anteriormente en este apartado se visualiza la realidad aumentada y para mostrar de manera general sus funciones se presenta la siguiente tabla: Tabla 1. Interfaz Realidad Aumentada (Fuente: Autora) Función Descripción Retorno a Menú En la parte superior derecha se encuentra el icono de una casa la cuál permite al usuario regresar al menú de inicio Linterna En la parte superior derecha se encuentra un icono de sol, si el usuario se encuentra con poca iluminación para ver la realidad aumentada podrá encender y apagar la linterna del dispositivo móvil desde la aplicación Visualización Realidad Aumentada Visualización de los modelos: para la realidad aumentada lo primero será la visualización del los modelos cuando se enfoque a las targets respectivas. Rotar, trasladar y escalar. Para realizar estas funciones el usuario debe en Rotar: usar dos dedos en la pantalla y deslizarlos suavemente por la pantalla en la dirección que quiere rotar el modelo Trasladar: con un dedo en la pantalla debe arrastrarlo a donde quiera acomodarlo Escalar: con dos dedos en la pantalla debe intentar acercar o alejar la distancia entre los dedos INFORMACIÓN Para el apartado de información se presenta la siguiente tabla con las instrucciones y descripciones de su uso Tabla 2. Interfaz Información (Fuente: Autora) Función Descripción Menú de inicio En la parte superior derecha se encuentra el icono de una casa la cual permite al usuario regresar al menú de inicio Realidad Aumentada En la parte lateral derecha se encuentra un botón que permitirá al usuario dirigirse a la cámara para ver la realidad aumentada Museo de la Salle En la parte lateral derecha se encuentra un botón que permitirá al usuario dirigirse a la interfaz de Museo de la Salle Recorridos En la parte lateral derecha se encuentra un botón que permitirá al usuario dirigirse a la interfaz de Recorridos Visualización MUSEO DE LA SALLE Para la interfaz del museo de la Salle donde se encuentra información del museo se describe en la siguiente tabla sus funciones: Tabla 3. Interfaz Museo de la Salle (Fuente: Autora) Función Descripción Menú de inicio En la parte superior derecha se encuentra el icono de una casa la cual permite al usuario regresar al menú de inicio Realidad Aumentada En la parte lateral derecha se encuentra un botón que permitirá al usuario dirigirse a la cámara para ver la realidad aumentada Información En la parte lateral derecha se encuentra un botón que permitirá al usuario dirigirse a la interfaz de información Recorridos En la parte lateral derecha se encuentra un botón que permitirá al usuario dirigirse a la interfaz de Recorridos Visualización RECORRIDOS Para la interfaz de recorridos se tiene la siguiente tabla con las funciones, como ya se había descrito anteriormente este menú contiene información adicional de los modelos de realidad aumentada. Tabla 4. Interfaz Recorridos (Fuente: Autora) Función Descripción Menú de inicio En la parte superior derecha se encuentra el icono de una casa la cual permite al usuario regresar al menú de inicio Botón murciélago En la parte inferior se encuentra este botón que al oprimirse activara un panel con la información del modelo respectivo al que se presionó. Visualización Botón tiburón En la parte inferior se encuentra este botón que al oprimirse activara un panel con la información del modelo respectivo al que se presionó. Botón serpiente En la parte inferior se encuentra este botón que al oprimirse activara un panel con la información del modelo respectivo al que se presionó.