tfm-mar-eva.pdf - Repositorio Principal

136
UNIVERSIDAD POLITÉCNICA DE CARTAGENA Escuela Técnica Superior de Ingeniería de Telecomunicación Evaluación de las tecnologías virtuales como recurso para la divulgación científica en el ámbito de las telecomunicaciones. TRABAJO FIN DE MÁSTER MÁSTER EN INGENIERÍA TELEMÁTICA Autora: Marta Martínez Molina Directora: María Francisca Rosique Contreras Cartagena, 10 de diciembre del 2020

Transcript of tfm-mar-eva.pdf - Repositorio Principal

UNIVERSIDAD POLITÉCNICA DE

CARTAGENA

Escuela Técnica Superior de Ingeniería de

Telecomunicación

Evaluación de las tecnologías

virtuales como recurso para la

divulgación científica en el ámbito

de las telecomunicaciones.

TRABAJO FIN DE MÁSTER

MÁSTER EN INGENIERÍA TELEMÁTICA

Autora: Marta Martínez Molina

Directora: María Francisca Rosique Contreras

Cartagena, 10 de diciembre del 2020

Página 1 de 135

Índice índice de Tablas ..................................................................................................................................... 3

Índice de Figuras .................................................................................................................................... 3

1 INTRODUCCIÓN ............................................................................................................................. 9

1.1 OBJETIVOS .......................................................................................................................... 12

2 ESTADO DEL ARTE........................................................................................................................ 13

2.1 LUDIFICACIÓN Y APRENDIZAJE BASADO EN JUEGOS ........................................................... 15

2.2 TECNOLOGÍAS VIRTUALES ................................................................................................... 18

2.2.1 REALIDAD VIRTUAL ............................................................................................................. 20

2.2.1.1 Tipos de realidad virtual ...................................................................................... 22

2.2.1.2 Visores realidad virtual ........................................................................................ 23

2.2.2 REALIDAD AUMENTADA...................................................................................................... 26

2.2.2.1 Tipos y niveles de Realidad aumentada .............................................................. 28

2.2.2.2 Reconocimiento de objetos y/o imágenes, Tracking y Renderizado. ................. 32

3 TECNOLOGÍAS UTILIZADAS EN EL PROYECTO ............................................................................... 35

3.1 UNITY 3D ............................................................................................................................. 38

3.2 VUFORIA ............................................................................................................................. 42

3.2.1 Vuforia en Unity ................................................................................................. 43

3.3 SKETCHUP ........................................................................................................................... 44

4 CASOS DE ESTUDIO DESARROLLADOS ......................................................................................... 48

4.1 Preparación de un proyecto para la accesibilidad de la VR. ................................................. 50

4.1.1 Caso de estudio de modelos 3D en SketchUp e importación a Unity. ................ 51

4.1.2 Caso de estudio visión estereoscópica: Sistema solar en VR .............................. 56

4.1.3 Caso de estudio destinado a la física: Laberinto en Unity .................................. 62

4.2 Preparación de un proyecto para la accesibilidad de la AR .................................................. 73

4.2.1 Caso de estudio marcador multi: proceso de aumento Sistema solar en AR ..... 75

4.2.2 Caso de estudio marcadores single y GUI: Química en AR ................................ 80

4.2.3 Caso de estudio marcadores single y multi: Ciencias naturales primaria .......... 87

4.2.4 Caso de estudio: Tracking a través de un laberinto AR ....................................... 92

4.2.5 Pasa palabra mujeres científicas ......................................................................... 95

5 CONCLUSIONES ......................................................................................................................... 108

6 ANEXO I: Conceptos básicos Unity ............................................................................................. 110

6.1.1 Interfaz de Unity ................................................................................................ 110

6.1.2 Terminología de Unity: Asset, GameObject, Componentes, Prefab. ................ 114

6.1.3 Materiales y texturas......................................................................................... 117

6.1.4 Motor de física: Rigidbody, Collider y Triggers ................................................. 118

6.1.5 Audio e iluminación ........................................................................................... 120

Página 2 de 135

6.1.6 Interfaz de usuario (UI)[71] ............................................................................... 121

7 ANEXO II: Bases de datos de marcadores en Vuforia ................................................................. 123

8 ANEXO III: Marcadores AR utilizados en los casos de estudio. ................................................... 127

9 BIBLIOGRAFIA ................................................................................................................................ 3

Página 3 de 135

índice de Tablas

Tabla 1 Tabla de porcentajes de retención de información ....................................................... 20

Tabla 2 Correspondencia entre Targets y GameObjects ............................................................. 43

Tabla 3 Tabla resumen Casos de estudio .................................................................................... 48

Tabla 4 Relación Colliders GameObjects Laberinto .................................................................... 66

Tabla 5 Preguntas pasapalabra ................................................................................................. 105

Tabla 6 Tipos de Colliders .......................................................................................................... 119

Tabla 7 Tipos de GO Lights ........................................................................................................ 120

Tabla 8 Render Mode - canvas .................................................................................................. 121

Tabla 9 Vuforia: Dimensiones Targets....................................................................................... 125

Índice de Figuras

Fig. 1 Proyecto UPCT: Ingeniosanos ............................................................................................. 9

Fig. 2 Visor Oculus proyecto Ingeniosanos UPCT ........................................................................ 10

Fig. 3 Educación tradicional: enseñanza-aprendizaje ................................................................. 13

Fig. 4 Educación basada en las TIC .............................................................................................. 13

Fig. 5 Aplicación AR Cerebro humano ......................................................................................... 14

Fig. 6 Ventajas del aprendizaje basado en juegos....................................................................... 15

Fig. 7 Cómo aplicar el aprendizaje basado en juegos ................................................................. 16

Fig. 8 Realidad virtual en el aula ................................................................................................. 17

Fig. 9 Continuo de la Virtualidad ................................................................................................. 18

Fig. 10 Datos virtuales y reales (VR, MR, AV, AR) ........................................................................ 18

Fig. 11 Ejemplo Realidad Aumentada ......................................................................................... 19

Fig. 12 Ejemplo virtualidad aumentada ...................................................................................... 19

Fig. 13 Ejemplo de Realidad virtual ............................................................................................. 19

Fig. 14 1Cubo de Zeltzer .............................................................................................................. 21

Fig. 15 Ejemplo entre diferentes FPS .......................................................................................... 21

Fig. 16 Ejemplo realidad virtual semi-inmersiva ......................................................................... 22

Fig. 17 Ejemplo realidad virtual inmersiva .................................................................................. 22

Fig. 18 Estereoscopio, visión frontal y superior .......................................................................... 23

Fig. 19 Visores VR low-cost ......................................................................................................... 24

Fig. 20 Visores VR Oculus / HTC Vive / PlayStation VR ................................................................ 24

ig. 21 Representación de los grados de libertad. ........................................................................ 25

Fig. 22 AR aplicable a la Industria 4.0 .......................................................................................... 26

Fig. 23 Elementos necesarios de la AR ........................................................................................ 27

Fig. 24 Códigos unidimensionales y bidimensionales ................................................................. 29

Fig. 25 Ejemplo: Realidad aumentada basada en marcadores .................................................. 29

Fig. 26 Ejemplos: Realidad aumentada sin marcadores o georreferenciada .............................. 30

Fig. 27 Ejemplo: Realidad aumentada basada en superposición ................................................ 30

Fig. 28 Ejemplo: Realidad aumentada basada en proyección ..................................................... 31

Fig. 29 Ejemplo visión aumentada .............................................................................................. 31

Fig. 30 Reconocimiento de objetos por vértices ......................................................................... 32

Página 4 de 135

Fig. 31 Visual Body Tracking ........................................................................................................ 33

Fig. 32 Hand Tracking .................................................................................................................. 33

Fig. 33 Face Tracking ................................................................................................................... 33

Fig. 34 Oclusión de elementos virtuales ..................................................................................... 34

Fig. 35 Motores de juego populares ........................................................................................... 35

Fig. 36 Software de modelo 3D ................................................................................................... 35

Fig. 37 Logotipo Unity ................................................................................................................. 36

Fig. 38 https://learn.unity.com/ .................................................................................................. 36

Fig. 39 Logo SketchUp ................................................................................................................ 37

Fig. 40 Logo Vuforia ..................................................................................................................... 37

Fig. 41 Acceso Unity ID ................................................................................................................ 38

Fig. 42 Adicción de modulos en Unity Hub ................................................................................. 38

Fig. 43 Descarga de la versión ..................................................................................................... 38

Fig. 44 Unity Hub: interfaz de instalaciones ................................................................................ 39

Fig. 45 Imagen web: Plataformas de destino Unity .................................................................... 39

Fig. 46 Unity: Build Settings......................................................................................................... 39

Fig. 47 Uso de componentes en Unity ........................................................................................ 40

Fig. 48 Diagrama básico MonoBehaviour Unity .......................................................................... 40

Fig. 49 Compatibilidad con los SDKs de Android y iOS ................................................................ 41

Fig. 50 Funciones soportadas AR Foundation ............................................................................. 41

Fig. 51 Vuforia Engine developer portal ...................................................................................... 42

Fig. 52 Añadir módulo de Vuforia en Unity Hub para Unity 2018.4 ........................................... 43

Fig. 53 GameObjects disponibles en Unity de Vuforia Engine .................................................... 43

Fig. 54 Unity: XR Setting Vuforia ................................................................................................. 43

Fig. 55 Presentación AR modelo SketchUp ................................................................................. 44

Fig. 56 Biblioteca de modelos SketchUp: 3D Warehouse ........................................................... 45

Fig. 57 Portal web de SketchUp .................................................................................................. 45

Fig. 58 Interfaz de SketchUp ....................................................................................................... 46

Fig. 59 Aristas y caras SketchUp .................................................................................................. 46

Fig. 60 Herramientas Line y FreeHand ........................................................................................ 46

Fig. 61 Herramientas Rectangle, Arc, Circle y Polygon................................................................ 46

Fig. 62 Motor de inferencias SketchUp ....................................................................................... 47

Fig. 63 Herramienta Paint ........................................................................................................... 47

Fig. 64 Herramientas Push/Pull, Follow me ................................................................................ 47

Fig. 65 Uso de la herramienta Push/Pull y Paint ......................................................................... 47

Fig. 66 Nuevo proyecto 3D en Unity ........................................................................................... 49

Fig. 67 Game Objects predeterminados VR ................................................................................ 50

Fig. 68 Virtual Reality Supported ................................................................................................. 50

Fig. 69 XR Setting : VR Android.................................................................................................... 50

Fig. 70 XR Settings: PC, MAC & Linux Standalone ....................................................................... 50

Fig. 71 Creación de modelos con SketchUp (1) ........................................................................... 51

Fig. 72 Creación de modelos con SketchUp (2) ........................................................................... 52

Fig. 73 Creación de modelos con SketchUp (3): Caras de los materiales.................................... 52

Fig. 74 SketchUp: Herramienta Scale .......................................................................................... 53

Fig. 75 Modelo 3D en SketchUp .................................................................................................. 53

Fig. 76 Proceso de importación .skp a Unity ............................................................................... 53

Fig. 77 Importación del modelo .skt a Unity sin materiales ........................................................ 54

Fig. 78 Unity: Configuración materiales de un modelo .skp ....................................................... 54

Página 5 de 135

Fig. 79 Importación del modelo .skt a Unity con materiales ...................................................... 55

Fig. 80 Skybox: Panoramic ........................................................................................................... 56

Fig. 81 Skybox: 6 Sided ............................................................................................................... 56

Fig. 82 Asset importados para el proyecto.................................................................................. 56

Fig. 83 Vista escena Skybox ......................................................................................................... 57

Fig. 84 GameObject Point Light ................................................................................................... 57

Fig. 85 GameObject Sol: Sphere ................................................................................................. 57

Fig. 86 Vista de juego: Sol con iluminación ................................................................................. 57

Fig. 87 Vista de escena Sol y planetas ......................................................................................... 58

Fig. 88 Detalles de importación Script ........................................................................................ 58

Fig. 89 Script Rotar en C# ............................................................................................................ 58

Fig. 90 Detalle de los componentes Script en el GO Tierra ......................................................... 59

Fig. 91 Vista de escena : Sistema Solar VR .................................................................................. 59

Fig. 92 Previsualización Prefab: Sistema Solar ............................................................................ 60

Fig. 93 Componente Trail Renderer ............................................................................................ 60

Fig. 94 Main Camera: Audio Listener/Source .............................................................................. 60

Fig. 95 Vista de juego Unity: Sistema Solar VR ............................................................................ 61

Fig. 96 Vista estereoscópica en Android: Sistema Solar VR ........................................................ 61

Fig. 97 Scripting: Player Controller .............................................................................................. 63

Fig. 98 Project Settings: inputs .................................................................................................... 64

Fig. 99 Adicción de Collider a monster ........................................................................................ 65

Fig. 100 GameObject Enemigos .................................................................................................. 65

Fig. 101 GameObjects recompensas ........................................................................................... 65

Fig. 102 GameObject Salida ........................................................................................................ 66

Fig. 103 Script rotar para monedas ............................................................................................. 66

Fig. 104 Inspector: salida laberinto ............................................................................................. 67

Fig. 105 Inspector: monedas ....................................................................................................... 67

Fig. 106 Controlador de animaciones enemigo. ......................................................................... 67

Fig. 107 Script para Animator ...................................................................................................... 68

Fig. 108 Inspector: Enemigo ........................................................................................................ 68

Fig. 109 Script Player Controller .................................................................................................. 69

Fig. 110 Vidas y monedas Laberinto............................................................................................ 69

Fig. 111 Canvas Laberinto ........................................................................................................... 70

Fig. 112 Script Player Controller (1) ............................................................................................ 70

Fig. 113 Referencias elementos UI scripting ............................................................................... 71

Fig. 114 Laberinto: Modo de juego no inmersivo ....................................................................... 71

Fig. 115 Laberinto: Modo de juego semi inmersivo .................................................................... 72

Fig. 116 Laberinto: Interfaz final ................................................................................................. 72

Fig. 117 XR Settings: Realidad Aumentada ................................................................................. 73

Fig. 118 GameObjects predeterminados AR ............................................................................... 73

Fig. 119 Inspector: AR Camera .................................................................................................... 73

Fig. 120 Configuración de Vuforia. .............................................................................................. 74

Fig. 121 Descargar BBDD Vuforia ................................................................................................ 74

Fig. 122 Configuración Vuforia: múltiples BBDD ......................................................................... 74

Fig. 123 Base de datos planetarioAR ........................................................................................... 75

Fig. 124 Detalle MultiTarget: mergeCube ................................................................................... 75

Fig. 125 Estructura jerárquica mergeCube Unity ........................................................................ 76

Fig. 126 Archivos importados desde Vuforia .............................................................................. 76

Página 6 de 135

Fig. 127 Detalles Inspector MultiTarget ...................................................................................... 76

Fig. 128 Adicción de contenido digital al Multitarget ................................................................. 76

Fig. 129 Modo Prefab: Configuración inicial del Sistema de partículas ...................................... 77

Fig. 130 Módulos Emission, Shape y Renderer ........................................................................... 77

Fig. 131 Modo Prefab: Configuración final del Sistema de partículas ........................................ 78

Fig. 132 Scripting/Inspector: Variable pública Sol ....................................................................... 78

Fig. 133 Scripting/Inspector: Variable pública Sol ....................................................................... 78

Fig. 134 Sistema Solar AR Windows: No Enable video background ............................................ 79

Fig. 135 Sistema Solar AR Android: Enable video background ................................................... 79

Fig. 136 Conjunto de piezas para formar los marcadores........................................................... 80

Fig. 137 Base de datos formulas_quimicas ................................................................................. 81

Fig. 138 Single Targets : formulas químicas ................................................................................ 81

Fig. 139 single Targets : Planos digitales ..................................................................................... 82

Fig. 140 Contenido digital: moléculas químicas .......................................................................... 82

Fig. 141 Interfaz principal Química en Realidad Aumentada ...................................................... 82

Fig. 142 OnClick() Button Exit ...................................................................................................... 83

Fig. 143 OnClick() Button Start .................................................................................................... 83

Fig. 144 Script temporizador ....................................................................................................... 83

Fig. 145 Interfaz de reconocimiento de Targets Química ........................................................... 84

Fig. 146 Química AR: variables públicas ...................................................................................... 84

Fig. 147 Método OnTrackingFound() ......................................................................................... 85

Fig. 148 Método TrackingLost() formulas ................................................................................... 85

Fig. 149 Actividad química: Renderizado de contenido digital ................................................... 86

Fig. 150 Ejemplo ejercicio teórico libro de 2º de primaria .......................................................... 87

Fig. 151 Distribución de marcadores en la escena ...................................................................... 88

Fig. 152 Diferentes bases de datos empleadas ........................................................................... 88

Fig. 153 Contenido digital 2D en el MultiTarget ......................................................................... 89

Fig. 154 Contenido digital 3D en el MultiTarget ......................................................................... 89

Fig. 155 Comparación del contenido digital MultiTarget ............................................................ 89

Fig. 156 Método OnTrackingFound () ......................................................................................... 90

Fig. 157 Variables públicas visibles en el Inspector ..................................................................... 90

Fig. 158 Marcadores simultaneos en la escena .......................................................................... 91

Fig. 159 Planos en las caras del MultiTarget ............................................................................... 91

Fig. 160 Renderización de contenido 3D en el MultiTarget según marcadores Single ............... 91

Fig. 161 Jerarquía del Prefab del Laberinto con elementos para interactuar ............................. 92

Fig. 162 Detalle cristal transparente Laberinto ........................................................................... 93

Fig. 163 Laberinto en MultiTarget ............................................................................................... 93

Fig. 164 Renderizado final laberinto AR: Vuforia Disable background ....................................... 94

Fig. 165 Laberinto en Realidad aumentada ................................................................................ 94

Fig. 166 Científicas el cómic ........................................................................................................ 95

Fig. 167 Tipo de textura Sprite [2D and UI] ................................................................................. 96

Fig. 168 Paneles de la escena ...................................................................................................... 96

Fig. 169 GameObject Panel en Unity .......................................................................................... 97

Fig. 170 Elementos UI del Panel Principal / Panel hijo enlaces UPCT - ETSIT ............................. 97

Fig. 171 Modificación de la apariencia de la escena ................................................................... 98

Fig. 172 Script para enlaces web ................................................................................................. 98

Fig. 173 Inspector: Script para enlaces web ................................................................................ 99

Fig. 174 Botón para el Panel del cómic ....................................................................................... 99

Página 7 de 135

Fig. 175 Botón para el Panel AR .................................................................................................. 99

Fig. 176 Botón salir menú principal ........................................................................................... 100

Fig. 177 Panel del cómic ............................................................................................................ 100

Fig. 178 Distribución en la jerarquía de los paneles y Assets para los comic ........................... 100

Fig. 179 Distribución inicial para cada cómic ............................................................................ 101

Fig. 180 Método OnClick botón avanzar en el Panel 0 y retroceder en el Panel 2 (activar página

1) ............................................................................................................................................... 101

Fig. 181 Método OnClick botón avanzaren el Panel 1 y Retroceder en el Panel 3 (activar página

2) ............................................................................................................................................... 101

Fig. 182 Método avanzar en el panel 2 (activar página 3) ........................................................ 102

Fig. 183 Botón salir del cómic de Hedy ..................................................................................... 102

Fig. 184 Cómic Hipatia: Panel 0, 1, 2, 3 ..................................................................................... 103

Fig. 185 Comic Hedy Lamarr: Panel 0, 1, 2,3 ............................................................................. 103

Fig. 186 Cómic Rosalind Franklin: Panel 0, 1, 2, 3 ..................................................................... 103

Fig. 187 Cómic Curie: Panel 0, 1, 2, 3 ........................................................................................ 103

Fig. 188 Cómic Ada Lovelace: Panel 0, 1, 2, 3 ........................................................................... 103

Fig. 189 Button Hipatia: interacción para el cómic ................................................................... 104

Fig. 190 Panel AR inicial ............................................................................................................. 106

Fig. 191 Clase tiempo pasapalabra ............................................................................................ 106

Fig. 192 Método OnClick() Botón Go ........................................................................................ 107

Fig. 193 Panel AR cuando se pulsa GO ...................................................................................... 107

Fig. 194 Visualización pasapalabra ............................................................................................ 107

Fig. 195 Ventanas principales Unity .......................................................................................... 110

Fig. 196 Parentesco en Unity..................................................................................................... 110

Fig. 197 Barra de Herramientas: Detalle Transform Tools ........................................................ 111

Fig. 198 Ventana de proyecto Unity .......................................................................................... 111

Fig. 199 Vista de escena y previsualización vista de juego ....................................................... 112

Fig. 200 Menú Gizmo de planos básicos ................................................................................... 112

Fig. 201 Vista de escena con previsualización y vista de juego ................................................. 112

Fig. 202 Vista de la ventana consola ......................................................................................... 112

Fig. 203 Ventana Asset Store Unity ........................................................................................... 113

Fig. 204 Menú Window Unity.................................................................................................... 113

Fig. 205 Inspector: Tipos de GO y GO primitivos ...................................................................... 114

Fig. 206 Detalle componente Transform .................................................................................. 115

Fig. 207 Propiedades por referencia y valor ............................................................................. 115

Fig. 208 Inspector: GO Asset Prefab con icono azul .................................................................. 116

Fig. 209 Detalle Prefab en la ventana de proyecto ................................................................... 116

Fig. 210 Detalle color Albedo ................................................................................................... 117

Fig. 211 Inspector: Material – Albedo ....................................................................................... 117

Fig. 212 Unity: Componente Rigidbody .................................................................................... 118

Fig. 213 Unity: Componentes Collider ...................................................................................... 118

Fig. 214 Entre que Colliders se producen colisiones ................................................................. 119

Fig. 215 Unity: Componente Box Collider ................................................................................. 119

Fig. 216 Entre que Colliders se producen Trigger ..................................................................... 119

Fig. 217 Unity: Componente Audio Listener ............................................................................. 120

Fig. 218 Unity: Componente Audio Source ............................................................................... 120

Fig. 219 Elementos UI en Unity ................................................................................................. 121

Fig. 220 Componente Rect Transform ...................................................................................... 122

Página 8 de 135

Fig. 221 Toggles pivote Unity .................................................................................................... 122

Fig. 222 Elemento UI Button .................................................................................................... 122

Fig. 223 Añadir licencia Vuforia ................................................................................................. 123

Fig. 224 Vuforia: Administrador de licencias............................................................................. 123

Fig. 225 Vuforia: Administrador de Bases de datos .................................................................. 123

Fig. 226 Crear base de datos Vuforia ........................................................................................ 124

Fig. 227 Vuforia: Tipos de marcadores ...................................................................................... 124

Fig. 228 Previsualización Target Cuboid y Cylinder ................................................................... 124

Fig. 229 Vuforia: Targets en bases de datos AR ........................................................................ 125

Fig. 230 Vuforia: Características de un marcador single ........................................................... 125

Fig. 231 mergeCube.Back .......................................................................................................... 127

Fig. 232 mergeCube.Bottom ..................................................................................................... 127

Fig. 233 mergeCube.Front ......................................................................................................... 127

Fig. 234 mergeCube.Left ........................................................................................................... 127

Fig. 235 mergeCube.Right ......................................................................................................... 127

Fig. 236 mergeCube.Top ........................................................................................................... 127

Página 9 de 135

1 INTRODUCCIÓN

La labor de la ciencia y la investigación se completa con la divulgación científica. Siendo dicha

divulgación clave para acercar a la sociedad general los resultados de las investigaciones,

democratizando de esta manera el conocimiento y promoviendo la integración del

conocimiento científico a la cultura. Las actitudes de la sociedad hacia la ciencia pueden además

condicionar la forma de pensar y hacer de la población, su imagen social, y, por tanto, el apoyo

socioeconómico a las investigaciones y programas científicos, o la cantidad de investigadores o

profesionales en este campo de conocimiento[1]. En consecuencia, la relación entre actitudes

hacia la ciencia y vocaciones STEM (Ciencia, Tecnología, Ingeniería y Matemáticas) está clara.

La Universidad Politécnica de Cartagena (UPCT) y la Escuela Técnica Superior de Ingeniería e

Telecomunicación (ETSIT) participan de forma muy activa en las distintas actividades de

promoción, difusión y divulgación científica, con el objetivo de fomentar las vocaciones

científicas y tecnológicas. La autora de este proyecto ha participado de forma muy activa

desarrollando e impartiendo muchas de estas actividades, por citar algunas de ellas, Quiero ser

ingeniera, Campus de la ingeniería, Ingeniosanos, Educación para el S XXI, Cable Amarillo, etc.

Fig. 1 Proyecto UPCT: Ingeniosanos

Sin embargo, ante la presente situación del covid19, la posibilidad de desplazarse a impartir

diversas jornadas de formación acerca de estas tecnologías virtuales es muy limitada, por lo que

se hace necesario utilizar otros medios de difusión y divulgación alternativos con la población.

La realidad virtual, la realidad aumentada y el modelado 3D son tecnologías virtuales

emergentes, y actualmente su tendencia va en aumento en relación con su aplicación en

diversos ámbitos, como por ejemplo sanitario, empresarial, entretenimiento, y por supuesto en

el ámbito educativo, el cual es ámbito de este trabajo.[2]

La realidad virtual permite al usuario sentirse partícipe de una escena a través de imágenes

estereoscópicas. Estas hacen que nuestro cerebro perciba la sensación de profundidad en el

entorno interpretándolo como algo real a través de la vista. Este es el sentido que más

información sensorial ofrece al usuario y el que se estimula principalmente con los visores.

Página 10 de 135

Antagónicamente, la realidad aumentada muestra al usuario el entorno real, pero es capaz de

ampliar la información que este ofrece de forma digital. Estas tecnologías no solo pueden

presentar el entorno real, si no que pueden ampliar su información con contenido digital, crear

cualquier contenido imaginable o incluso crear un entorno propio.

Ambas tecnologías, independientemente del entorno, ofrecen al usuario la posibilidad de

interactuar con él en tiempo real, y reaccionar a dichas interacciones, lo que ofrece un sinfín de

posibilidades para realizar actividades en ámbitos muy diversos.

Fig. 2 Visor Oculus proyecto Ingeniosanos UPCT

Las nuevas tecnologías presentan formas sutiles y atractivas de reorganización de las dinámicas

educativas y escolares.[3] Esta característica puede ser muy útil en el ámbito de la educación y

la divulgación científica, si se tiene en cuenta el papel que juega la motivación en la

predisposición para aprender. En la actualidad la proliferación de aplicaciones basadas en

gamificación y especialmente en el denominado Aprendizaje Digital Basado en Juegos (Digital

Game-Based Learning, DGBL) abre un panorama de elevado potencial educativo.

Este proyecto se inicia con la convicción de que estas tecnologías y metodologías emergentes

pueden proporcionar recursos docentes y divulgativos alternativos a los convencionales, los

cuales proporcionan más interacción y compromiso por parte del usuario en la actividad al

involucrarlo en su creación. Siendo la evaluación de esta hipótesis el objetivo principal del

proyecto, tal y como se puede ver en el siguiente subapartado de objetivos.

Por otro lado, dado las actuales circunstancias sociosanitarias, la principal motivación de este

proyecto es proporcionar una alternativa para continuar las labores de divulgación científica y

tecnológica que ofrece la universidad en el ámbito de las tecnologías virtuales, pero con medios

más accesibles. Es una forma de acercar estas tecnologías a la población y especialmente ofrecer

recursos alternativos a los docentes en este año en el que la educación digital se ha impuesto a

la presencial.

El resto del proyecto se organiza de la siguiente manera:

Página 11 de 135

Apartado 2. ESTADO DEL ARTE

En este apartado se expone el marco teórico del proyecto: La ludificación y aprendizaje basado

en juegos a través de las tecnologías virtuales. Para su correcta comprensión se define el marco

de la virtualidad y se muestran características básicas, tipos y procesos de visionado de la

Realidad Virtual y la Realidad Aumentada con el fin de entender su funcionamiento, y conocer

una correcta distinción entre ellas.

Apartado 3. TECNOLOGÍAS UTILIZADAS EN EL PROYECTO

Para poder implementar los juegos es necesario conocer las herramientas utilizadas para su

creación y desarrollo. En este apartado se indican las herramientas necesarias para crear

aplicaciones de realidad virtual y de realidad aumentada, además de algunas para la creación de

modelos 3D.

Se seleccionan las herramientas software destinadas al proyecto, y se hace notorio, que además

de ser elegidas por su potencial, se eligen principalmente porque facilitan versiones gratuitas

para desarrolladores, lo que aumenta el grado de accesibilidad.

Apartado 4. CASOS DE ESTUDIO DESARROLLADOS

Además de exponerse las nociones fundamentales teóricas de las tecnologías virtuales y sus

herramientas de desarrollo, se detalla la parte práctica de su implementación a través de unos

determinados casos de estudios propuestos.

Esta serie de talleres prácticos hacen uso de tecnologías virtuales para ayudar al objetivo de la

difusión y además puedan ser una alternativa asequible a distancia. Los casos de estudio han

sido desarrollados de tal forma que cualquier usuario con acceso a un PC pueda desarrollarlos y

pueda hacer uso de un smartphone como visor.

Para aplicar el aprendizaje basado en juegos se tratan temáticas muy diversas en el ámbito de

la educación y la divulgación, como pueden ser la química, las ciencias naturales o la astronomía

u otros orientados a jornadas especiales, como la igualdad de género o el día de la mujer en la

ciencia. Independientemente de la temática, todos los casos de estudio son aplicables por

niveles, desde el más básico que sería usar la aplicación como demostración, hasta crearla

completa de forma individual.

A través de juegos, los investigadores/docentes les explican a los más jóvenes conceptos

científicos con un lenguaje adaptado a su edad y elementos sencillos. Los usuarios que no

conocían estás tecnologías, normalmente quedan asombrados al descubrirlas, ya que aprender

se convierte en algo divertido, interactivo y posee ese toque de atracción que ofrece el visionado

de contenido digital tan usado día a día.

Apartado 5. CONCLUSIONES

En este apartado se enuncian las conclusiones tras el desarrollo del proyecto, exponiendo la

metodología llevada a cabo para conseguir los objetivos marcados.

Página 12 de 135

1.1 OBJETIVOS

El objetivo principal es la evaluación de las tecnologías virtuales como recurso para la divulgación científica. Para cumplir con el objetivo principal se definen los siguientes subobjetivos

• Implantar una estructura auto formativa, tanto teórica como práctica, para usuarios que

no están relacionados con las tecnologías virtuales.

• Exponer el marco teórico de las tecnologías virtuales: Conocer las características básicas,

tipos y procesos de visionado de la Realidad Virtual y la Realidad Aumentada.

• Aplicar la gamificación y el aprendizaje basado en juegos para mostrar las tecnologías

virtuales como un recurso docente alternativo.

• Utilizar herramientas software de carácter gratuito para aumentar la accesibilidad de

medios a los usuarios.

• Formarse en la creación de proyectos de Realidad virtual y Realidad Aumentada con Unity y Vuforia.

• Proponer diversos casos de estudios para mostrar de forma práctica los conceptos teóricos mostrados tanto de las tecnologías virtuales como de las herramientas software descritas.

• Que los casos de estudio implementados tengan un cierto formato lúdico para su implementación en el aula.

• Demostrar que las tecnologías virtuales son aplicables en ámbitos educativos muy diversos.

• Realizar un portfolio de actividades aplicables utilizando las tecnologías virtuales.

Página 13 de 135

2 ESTADO DEL ARTE

En la educación convencional hay marcado un modelo de enseñanza-aprendizaje donde se

denota al estudiante cómo un receptor pasivo que debe absorber la información, para luego

poder aplicarla de forma activa en un conjunto de prácticas. El grado de aprendizaje del

estudiante, y por ende sus calificaciones, quedarán marcados por el proceso de aprendizaje y

las tecnologías docentes aplicadas.

Fig. 3 Educación tradicional: enseñanza-aprendizaje

Un proceso de aprendizaje exitoso requiere de una serie de condiciones de carácter específico

que facilite la adquisición de conocimientos en la realización y desarrollo de diferentes tareas,

haciendo participe al estudiante, e introduciendo nuevos métodos alternativos al tradicional

“pizarra, papel y lápiz”. Las tecnologías docentes aplicadas deben despertar el interés por

aprender, cómo aprender y mantener al día estos conocimientos.

Para paliar esta situación en los últimos años comenzaron a introducirse las TIC en los ámbitos

educativos. Se denominan Tecnologías de la Información y las Comunicaciones (TIC) al conjunto

convergente de tecnologías que permiten la adquisición, producción, almacenamiento,

tratamiento, comunicación, registro, acceso y presentación de datos, información y contenidos

(en forma alfanumérica, imágenes, videos, sonidos…).[4]. Entre las cuales se encuentran las

tecnologías virtuales objeto de este proyecto.

Fig. 4 Educación basada en las TIC

Actualmente la gran mayoría de estudiantes son nativos digitales: han crecido con acceso al

Internet, utilizando tecnologías digitales y jugando videojuegos. Además, tienen una nueva

actitud y mayores exigencias para la enseñanza y el aprendizaje.

Página 14 de 135

Una estrategia con la que se trabaja exitosamente en estos momentos es la ludificación de la

educación, o como se conoce en inglés “gamification of learning”. Esta estrategia utiliza

elementos que ya existen en los juegos y los traslada al proceso educativo.[5]

En estas nuevas metodologías docentes, la realidad digital (realidad virtual, realidad aumentada, modelado 3d) supone un recurso muy considerado en los últimos años. Las principales ventajas en el ámbito educativo son [6], [7]

• Sencillez a la hora de captar la atención del alumnado, rompiendo con el modelo de

enseñanza tradicional.

• Contenidos más dinámicos y flexibles, adaptables a diferentes niveles educativos.

• Interacción entre el mundo virtual y real, propiciando el aprendizaje experimentado y

participación activa.

• Autonomía, fomenta la capacidad del alumno de aprender por sí mismo.

• Facilita la comprensión del tema de estudio, independientemente de la disciplina o

materia a impartir (matemáticas, idiomas, tecnología, arte, etc.)

• Puede ilustrar con mayor exactitud algunas características y procesos que por otros

medios.

• Permite la observación y experimentación de las áreas y de los acontecimientos

inaccesibles por otros medios, tales como escenas subacuáticas, históricas,

reconstrucciones de sitios arqueológicos o simuladores.

En la siguiente figura se muestra un sistema de enseñanza sobre el cerebro humano basado en

Realidad aumentada que permitirá el desarrollo de entornos de realidad virtual para que

estudiantes y médicos en formación puedan simular cirugías de alta complejidad, algo que no

sucede con frecuencia en los quirófanos.[8]

Fig. 5 Aplicación AR Cerebro humano

Página 15 de 135

2.1 LUDIFICACIÓN Y APRENDIZAJE BASADO EN JUEGOS

Cuando se usa el juego con finalidades educativas suele distinguirse entre el uso ocasional de

algún tipo de juego y lo que implica una propuesta más compleja que transforme la metodología

mediante la cual mejorar una determinada propuesta o programación didáctica. Así, podemos

diferenciar:[9]

o El aprendizaje basado en juegos tiene como finalidad última utilizar juegos con el fin de

aprender a través de ellos. El juego se convierte en el vehículo para realizar un

aprendizaje o para trabajar un concepto determinado. Mientras dura el juego, o al final

de la partida, el docente puede reflexionar en torno a lo que está sucediendo en el juego

y los contenidos difícil de sistematizar. No responde a una clasificación concreta porque

dependerá, siempre, de los contenidos que se quieran trabajar y de cómo el profesorado

sea capaz de relacionarlos con el juego. Su aplicación en el aula tiene diversas ventajas

entre las que se encuentran las ilustradas en la Fig. 6

Fig. 6 Ventajas del aprendizaje basado en juegos

o La ludificación o gamificación es una vía para involucrar, motivar y mejorar el

compromiso del estudiante mediante el uso de la mecánica de los juegos. Se trata de

adaptar e integrar sus características, que tanto les gustan a muchos jóvenes, al proceso

educativo a fin de estimularlos a construir nuevo conocimiento y a mejorar sus destrezas

y habilidades.[10]

El objetivo principal es que el usuario final tenga la sensación de estar viviendo una

experiencia de juego, pero a diferencia del aprendizaje basado en juegos, la ludificación

consiste en construir un escenario donde los participantes se convierten en los

auténticos protagonistas y donde avanzan para lograr un reto propuesto utilizando

algunos de los elementos de juego.

Todos los juegos no son más que un conjunto de elementos que se combinan entre sí y que

pueden clasificarse en tres tipos: mecánicas, dinámicas y estética.[9]

Página 16 de 135

▪ Las mecánicas son las diferentes acciones, comportamientos y mecanismos de control

ofrecidos al jugador dentro de un contexto de juego. Son las reglas básicas del juego,

aquellas que determinan cómo se desarrollará el juego y deben ser aceptadas y

respetadas por todos los jugadores.

Son elementos como recompensas por acciones, diferentes tipos de niveles, conjunto

de acciones permitidas para el usuario, retos…

▪ Las dinámicas se refieren a cómo el jugador se comporta durante el juego. Es decir, qué

cosas puede hacer a partir de lo que le permiten las mecánicas del juego e interaccionar

con ellas. Elementos representativos de estas son competiciones o requerir trabajos de

equipo para completar la actividad.

▪ La estética. Se refiere a los gráficos, la música, la ambientación, la historia que se cuenta

en el juego. Es todo lo que percibe el jugador y que hace que se implique en el juego o,

por el contrario, que no se sienta atraído por él.

Para poder ludificar una actividad es necesario tener en cuenta ciertos aspectos. Antes de

comenzar a diseñar la actividad, es necesario definir un objetivo didáctico, es decir, establecer

que conocimientos o actitudes se quiere que los estudiantes adquieran. Cuando esté claro, es

necesario transformar el aprendizaje tradicional y ser capaz de plasmar el proceso de

aprendizaje en una propuesta lúdica y divertida.

Una vez establecida la actividad, debe exponerse el objetivo a los estudiantes explicando las

determinadas normas de las que consta el juego: que mecánicas existen y que dinámicas se

espera que sigan. La gamificación debe ser social e incluir una sana competencia como parte

indispensable del juego, además de proporcionar determinados niveles para mantener el

equilibrio entre la dificultad de un reto y la satisfacción que se obtiene al superarlo.

Fig. 7 Cómo aplicar el aprendizaje basado en juegos

Página 17 de 135

Respecto a la estética, las tecnologías virtuales son un excelente método de aplicación. Son

tecnologías innovadoras y atractivas al usuario, que tienen la capacidad de proporcionar

experiencias inmersivas y generar un encuentro cara a cara con la información digital. Se puede

“trasladar” a los estudiantes a cualquier entorno creado informáticamente que, por alguna

razón como distancia o coste, serían inaccesibles. Incluso se puede contextualizar la información

digital con el entorno real.

Estas tecnologías proporcionan un aprendizaje en primera persona, según el cual un individuo

adquiere la mayoría de los conocimientos mediante experiencias. Además, a menudo el

aprendizaje se realiza de forma implícita, ya que no somos conscientes de que estamos

aprendiendo.

Fig. 8 Realidad virtual en el aula

Si bien hace ya algunas décadas que existe la capacidad de entregar experiencias de realidad

aumentada y virtual, no ha sido hasta hace poco que estas experiencias se han vuelto fáciles de

usar y sobre todo portátiles. Los adelantos en dispositivos móviles, fundamentalmente en los

smartphones, pero también en diferentes tecnologías que combinan el mundo real con la

información virtual, han dado lugar a que hoy en día podamos disfrutar de estas aplicaciones y

que la AR esté ya posicionada para entrar en el sector de consumo de forma generalizada [11]

La potencialidad de gran parte de esos servicios es poder acceder a la información digital

complementaria a la del mundo físico o en un entorno virtual, actualizada en tiempo real y eso

solo es posible gracias a las infraestructuras de telecomunicación.[11]

Página 18 de 135

2.2 TECNOLOGÍAS VIRTUALES

Para comprender perfectamente el concepto de la Realidad Aumentada y la Realidad Virtual, se

debe antes conocer qué tipo de “realidades” existen. Todas estas realidades tienen en común la

presencia de objetos reales y/o elementos virtuales, y es la forma en la que se relacionan estos

dos tipos de elementos y la predominancia de uno sobre el otro lo que diferencia las distintas

realidades. Una de las clasificaciones hechas es la realizada por Paul Milgram y Fumio Kishino,

que en el año 1994 definieron el concepto de Continuo de la Virtualidad. El Continuo de la

Virtualidad define que hay una escala continua de realidades (Fig. 9) en cuyos extremos se sitúa

por una parte la denominada Realidad Virtual, caracterizada por la presencia de un mundo

completamente virtual, y por otra parte el llamado Mundo Real donde todo es completamente

real.[12]

Fig. 9 Continuo de la Virtualidad

El espacio comprendido entre los dos extremos se denomina Realidad Mixta. Este tipo de

realidad mezcla el entorno del mundo real del usuario con contenido creado digitalmente de

forma que ambos entornos puedan coexistir e interactuar entre ellos.

Fig. 10 Datos virtuales y reales (VR, MR, AV, AR)

Según la cantidad de datos reales y virtuales que hay en la escena, la realidad mixta se puede

dividir en Realidad aumentada, si contiene más datos reales que virtuales, o Virtualidad

Aumentada, si los datos reales están en menor proporción que los virtuales.

Página 19 de 135

La Realidad Aumentada es pues una tecnología que ayuda a enriquecer nuestra percepción de

la realidad con una nueva lente gracias a la cual la información del mundo real se complementa

con la de la digital. [11]

Fig. 11 Ejemplo Realidad Aumentada

De forma opuesta, la Virtualidad Aumentada consiste en introducir algo real en un mundo

virtual, por lo cual la información de éste se complementa con elementos reales. Por lo tanto,

está más cerca de la Realidad Virtual que del Mundo Real.

Fig. 12 Ejemplo virtualidad aumentada

Cuando el entorno es completamente virtual, es decir, este y todos sus elementos están

generados por ordenador en su totalidad, se denomina Realidad Virtual.

Fig. 13 Ejemplo de Realidad virtual

Página 20 de 135

2.2.1 REALIDAD VIRTUAL

El término VR ha sido aplicado a lo largo de la historia a cualquier desarrollo tecnológico que

vaya desde juegos de computadora hasta películas tridimensionales, por lo que es importante

dejar este concepto claro. Una definición concisa podría ser la siguiente:

“La Realidad Virtual es una simulación de un ambiente tridimensional generada por

computadoras, en el que el usuario es capaz tanto de ver como de manipular los contenidos de

ese ambiente”[13]

Aunque hay multitud de definiciones a lo largo de la historia, todas se refieren a que la Realidad

Virtual es una experiencia interactiva e inmersiva en un mundo simulado.

Las personas estamos constantemente recibiendo impresiones sensoriales que se comunican

con nuestros sentidos. La calidad de estas cuando nos sumergimos en un mundo virtual

determinan el nivel de inmersión y la sensación de presencia en este.

La realidad virtual actúa sobre tres de nuestros sentidos, y como se puede apreciar en la

siguiente tabla, podemos obtener un 95,5% de la información a través de la vista, el oído y el

tacto [7]. Estimulando en mayor grado estos sentidos virtualmente es posible conseguir la

llamada telepresencia, es decir, hacer sentir al usuario la sensación de estar en el mundo virtual.

Gusto 1 %

Tacto 1,5 %

Olfato 3,5 %

Oído 11 %

Vista 83 %

Tabla 1 Tabla de porcentajes de retención de información

Este tipo de realidad nos permite encontrarnos cara a cara con la información, ver el mundo

circundante en otra dimensión y experimentar cosas que no son accesibles en la vida real o

incluso no creadas todavía.

Tiene 3 características fundamentales:

• Tiempo real y/o autonomía, puedes decidir tus movimientos y acciones en el momento

de la visualización.

• Inmersión en el escenario 3D, perdiendo el contacto con la realidad exterior y

sintiéndose así participe del entorno, sumergiéndose en un mundo totalmente virtual y

por tanto con estímulos virtuales.

• Interacción con los elementos que lo conforman, permitiéndonos interactuar con el

mundo virtual a través de numerosos dispositivos de entrada. Además, el propio

entorno debe reaccionar de manera realista a las acciones del usuario.

Página 21 de 135

Fig. 14 1Cubo de Zeltzer

Otro sentido estimulado por la realidad virtual es el equilibrio. De esto se encarga el sistema

vestibular, es parte del oído interno y da información al cerebro sobre movimiento, posición de

la cabeza y localización espacial. Es imprescindible estimular los sentidos del usuario en el

mundo virtual de una manera adecuada de forma que los desplazamientos, giros o aceleraciones

sean acordes a las del propio usuario.

En realidad, virtual, se denomina motion sickness a la sensación de mareo debido a la

discrepancia entre el movimiento esperado y el movimiento experimentado. Esto puede

producirse por una mala configuración de las interacciones, una latencia mayor entre tramas o

una tasa de refresco no lo suficientemente alta.

Estos dos últimos términos son muy utilizados en este ámbito:

- La latencia es el tiempo desde que se recibe una entrada hasta que se muestra en el

visor. 20 ms es el mínimo aceptable, valores mayores causan mareo ya que lo que se ve

no se corresponde con la posición de la cabeza.

- La tasa de refresco se refiere a los Frames por segundo (Frames Per Second, FPS)

Mínimo de 60Hz para no provocar mareo. Los FPS pueden caer si se sobrepasan las

posibilidades del hardware

Fig. 15 Ejemplo entre diferentes FPS

Página 22 de 135

2.2.1.1 Tipos de realidad virtual

Podemos agrupar los sistemas de Realidad virtual según el grado de inmersión sensorial que el

usuario percibe. Dependiendo del nivel de inmersión este puede interactuar con el mundo

virtual y los objetos del mismo en un grado u otro.

No immersive VR

Es la denominada realidad virtual de escritorio, el tipo más simple. Sólo se permite una salida

sensorial compatible, y es un monitor.

Aunque la realidad virtual busca simular sofisticados espacios tridimensionales, el enfoque no

inmersivo ofrece un nuevo mundo a través de una simple ventana de escritorio. Este enfoque

no inmersivo es más barato y tiene probadamente mayor facilidad y rapidez de aceptación en

los usuarios.[14]

Semi-immersive VR

Intenta mejorar a la anterior, admitiendo el seguimiento de cabeza, aunque todavía usan el

monitor de escritorio. El usuario sabe que está dentro de un mundo virtual porque se ve a sí

mismo dentro del escenario y este sólo llena una parte su visión.

Fig. 16 Ejemplo realidad virtual semi-inmersiva

Inmersive VR

El usuario queda sumergido totalmente en el mundo virtual, ya sea empleando periféricos o

proyecciones. Admite una visión estereoscópica de la escena de acuerdo con la posición y

orientación del usuario.

Fig. 17 Ejemplo realidad virtual inmersiva

Página 23 de 135

2.2.1.2 Visores realidad virtual

En los últimos años la realidad virtual ha experimentado un gran desarrollo y se prevé que tenga

diversas aplicaciones, tanto en el ámbito recreativo como en el profesional. La calidad de las

experiencias de inmersión es un factor clave que depende en gran medida, de la capacidad de

generar la llamada telepresencia o presencia a distancia, que comienza con la percepción de

profundidad que se consigue visualmente generando dos vistas diferentes de la misma escena.

Para entender el concepto y seguir su desarrollo, hay que retroceder a la época del

estereoscopio inventado por Sir Charles Wheatstone en 1840.

Fig. 18 Estereoscopio, visión frontal y superior

Este aparato presenta una doble imagen que se mezcla en nuestro cerebro como una sola,

formando una imagen estereoscópica [15], es decir, se aprovecha de la capacidad que tiene el

cerebro humano de generar una visión tridimensional a partir de la percepción en cada ojo de

dos imágenes ligeramente diferentes, un fenómeno que nos permite calcular distancias y

apreciar el volumen y la profundidad de los objetos. Con ello, se conformaron los primeros

patrones para el diseño de los primeros visores de VR. Desde entonces han ocurrido varios hitos

importantes. En 1957, el pionero Morton Heilig construyo “La Sensorama”, una máquina de

inmersión sensorial total. En 1968, Ivan Sutherland, creo “Human Mounted Display o HMD”, una

pantalla estereoscópica que permitía representar formas simples. En 1991, aparecen las

primeras gafas comerciales de la mano de SEGA sin mucho éxito. Finalmente, en 2010 aparece

el primer prototipo Oculus Rift, un dispositivo que lograba un ángulo de visión de 90°. Y con

estas gafas, la Realidad Virtual volvió a ponerse de moda.

Como se puede observar, han existido intentos puntuales para desarrollar dispositivos VR que

siempre han terminado en fracaso. Sin embargo, con los avances tecnológicos, las empresas ya

disponen de la tecnología para dotarla de atractivo y sentido. Las compañías son conscientes de

esto, por lo que Facebook, Samsung, Google y Sony han lanzado sus cascos de realidad virtual,

en un mercado que los analistas consideran impulsará al sector de los videojuegos.

Es importante precisar que, así como hay opciones bastante sofisticadas (y más caras), también

existen otras que pueden resultar más económicas y que de igual manera cumplen con la

función de introducirnos en un mundo totalmente virtual.

Página 24 de 135

Hay tres categorías principalmente:

• Móviles/carcasas: se corresponden a aquellas con forma de carcasa, que puede ser de

plástico, metal, incluso de catón y que cuentan con un espacio para insertar el

Smartphone. Requieren de un smartphone para funcionar (el móvil como pantalla no se

usa en la actualidad). Para su funcionamiento utilizan unas sencillas lentes. Un ejemplo

de este tipo de gafas son las Google Cardboard

Fig. 19 Visores VR low-cost

• Visores de sin procesador: Incorporan sus propias pantallas y sistemas de sonido, pero

requieren de un equipo o un PC externo que haga el trabajo duro. Un ejemplo de este

tipo de visores son las Oculus Rift, HTC Vive o PlayStation VR.

Fig. 20 Visores VR Oculus / HTC Vive / PlayStation VR

• Autónomos (standalone): Incluyen sus propias pantallas y sistemas de sonido, pero, a

diferencia de los visores sin procesador, en estos visores todo el sistema completo

(incluido el procesador) se encuentra en el interior del visor. Un ejemplo de este tipo de

visores son las Oculus Go, Oculus Quest o Pico Neo.

Cualquier visor que caiga en estas categorías, se podrá diferenciar también dependiendo de

cuántos ejes de movimiento libre nos permita. Se llaman 6DoF (6 Degrees of Freedom o 6 grados

de libertad) a aquellos visores que nos dejan acercarnos y alejarnos de los objetos virtuales como

si se estuviera en la vida real; inclinándonos, agachándonos, andando o cualquier otro

movimiento físico real que el visor traduzca a movimiento idéntico virtual. Los visores de hace

unos años, restringidos a 3 ejes se conocen como 3DoF. Normalmente, cuanto más cómodos y

libres sean estos movimientos, mejor tenderá a ser la experiencia. Nuestra recomendación será,

por regla general, los visores 6 DOF.

Página 25 de 135

Fig. 21 Representación de los grados de libertad.

Otros factores que suelen mejorar la experiencia son la resolución de las pantallas que montan,

el ángulo de visión y el confort que ofrecen. Normalmente, cuanto más cómodos y mayores sean

estos valores, mejor tenderá a ser la experiencia. Existen diferentes plataformas con las que

suelen ser compatibles los diferentes visores: Oculus, SteamVR, Windows Mixed Reality,

PlayStation, Daydream y Vive Wave. Por lo que cada visor suele dar soporte a una o varias.

Página 26 de 135

2.2.2 REALIDAD AUMENTADA

En el avance de la realidad virtual, surge el concepto de Realidad aumentada, una tecnología

que "presenta un mundo virtual que enriquece, en lugar de reemplazar al mundo real" (Bryson,

1992).

Se consigue superponiendo objetos tridimensionales virtuales en entornos reales, y, por tanto,

cumple dos de las tres características de la Realidad Virtual:

• Nos encontraremos en un tiempo real y podremos gozar de autonomía.

• Podremos interactuar con los elementos que conforman el entorno.

Sin embargo, al contrario que la VR, no perderemos el contacto con la realidad en nuestro

escenario, ya que este es la propia realidad. En este caso la información queda contextualizada

en el entorno físico en el que se encuentra el usuario.

Fig. 22 AR aplicable a la Industria 4.0

La realidad aumentada se puede definir como el tipo de realidad que una persona observa

cuando se combina un entorno físico real con elementos virtuales. Esa realidad o visión tiene

lugar a través de un dispositivo tecnológico que mezcla la realidad física del usuario con

elementos físicamente inexistentes (generados por ordenador) y muestra el resultado al

usuario. Ejemplos de estos dispositivos serían móviles, tablets, proyectores, gafas… en general

cualquier dispositivo que disponga de una pantalla o superficie para mostrar la nueva realidad

creada al usuario y que disponga de una sensor de captación de imagen o cámara para poder

recogerla realidad física existente.[16]

Concretamente, para componer un servicio de realidad aumentada son necesarios varios

elementos:[11]

• Por un lado, un elemento que capture las imágenes de la realidad que ve el usuario.

Basta para ello una cámara sencilla que capte el entorno del usuario.

Página 27 de 135

• Por otro lado, un elemento sobre el que se proyecta la mezcla de las imágenes reales

con las imágenes sintetizadas, como puede ser la pantalla de un ordenador, un móvil o

una consola.

• Es preciso un elemento de procesamiento para interpretar la información del mundo

real que recibe el usuario, generar la información digital y mezclarla de forma adecuada.

• Por último, es necesario un elemento al que podríamos denominar activador de

realidad aumentada. Son elementos de localización como los GPS, brújulas y

acelerómetros que permiten identificar la posición y orientación de dichos dispositivos

o elementos físicos como etiquetas o marcadores de tipo RFID o QR. En general

cualquier elemento que sea capaz de suministrar información equivalente a la que

proporciona lo que ve el usuario.

Fig. 23 Elementos necesarios de la AR

Página 28 de 135

2.2.2.1 Tipos y niveles de Realidad aumentada

Según los distintos grados de complejidad o de fusión con la realidad que presentan las

aplicaciones basadas en la realidad aumentada, estas se pueden clasificar en diferentes niveles:

• Nivel 0 – Physical World Hyper Linking o enlazado con el mundo físico: este nivel se

caracteriza por el empleo de imágenes en 2D como códigos de barras que sirven como

enlaces a otros contenidos. Es la forma más básica de realidad aumentada.

• Nivel 1 – Marker Based AR o realidad aumentada con marcadores: se emplean

aplicaciones que pueden reconocer patrones en 2D o 3D simples, como figuras en

blanco y negro, formas o dibujos esquemáticos.

• Nivel 2 – AR without markers o realidad aumentada sin marcadores: No necesitan

marcadores, sino que utilizan sistemas como la brújula digital para conocer la

localización del usuario y proyectar imágenes virtuales de interés sobre la realidad

cotidiana.

• Nivel 3 – Augmented vision o visión aumentada: son dispositivos de alta tecnología que

permiten una experiencia totalmente inmersiva y fusionada con la realidad.

La realidad aumentada también se puede clasificar también según:

• La tecnología que emplea, en este caso se puede hablar de marcadores, objetos

tangibles, Smart Terrain o geolocalización [12].

• El objetivo o a la tecnología empleada. Con relación a su objetivo se puede hablar de

realidad aumentada en imágenes, espacios o lugares.

• La técnica de visualización. La realidad aumentada se puede visualizar principalmente a

través de dos medios: dispositivos portátiles como smartphones o tablets, y gafas de

realidad aumentada.

A continuación, se describen los principales tipos de realidad aumentada, basados en estas

distintas clasificaciones posibles.

Realidad aumentada basada en marcadores

Estos marcadores representan un tipo de activador físico que se ubica en el entorno para

enlazar información o posicionar en la escena un determinado contenido digital.

Este tipo de activadores podrían englobarse en dos niveles:

• Nivel 0, se utilizan códigos unidimensionales y bidimensionales, como códigos de barras

o códigos QR, para enlazar información digital. Es el tipo más simple de AR y solo sirven

de enlace a otros contenidos, donde se utilizan marcadores con unos determinados

patrones predefinidos para incrustar hiperenlaces a contenidos digitales.

Página 29 de 135

Fig. 24 Códigos unidimensionales y bidimensionales

• Nivel 1, se utilizan imágenes u objetos en 3D para colocar datos digitales a través de

reconocimiento de patrones. A diferencia del anterior, permite realizar un seguimiento

de objetos o imágenes, reconocer el entorno y renderizar contenido digital.

Fig. 25 Ejemplo: Realidad aumentada basada en marcadores

Realidad aumentada sin marcadores o georreferenciada

Se establece en el nivel 2, superponer puntos de interés sobre imágenes del mundo real.

En la actualidad existen multitud de dispositivos que contienen elementos que permiten

reconocer el diseño, la disposición y orientación de nuestro entorno para colocar información

digital en él. Estos elementos son denominados “Triggers” o “desencadenantes” y determinan

el posicionamiento del dispositivo móvil:[17]

• GPS: Indica la ubicación del dispositivo a través de las coordenadas.

• Brújula: Hace referencia a la orientación del dispositivo en la dirección que enfoca la

cámara integrada.

• Acelerómetro: Identifica la orientación y ángulo del dispositivo al uso.

Página 30 de 135

Se define este tipo de AR cuando la información capturada por la cámara del dispositivo procesa

conjunto de datos para utilizarlo en el posicionamiento del contenido digital en el entorno real.

Fig. 26 Ejemplos: Realidad aumentada sin marcadores o georreferenciada

Realidad aumentada basada en superposición

La realidad aumentada basada en superposición reemplaza parcial o totalmente la vista original

de un objeto con una vista aumentada de ese mismo objeto. En la realidad aumentada basada

en la superposición, el reconocimiento de objetos juega un papel vital porque la aplicación no

puede reemplazar la vista original con una aumentada si no puede determinar qué tipo de

objeto es.[18] Esto se lleva a cabo a través de la detección de planos y el tracking.

Fig. 27 Ejemplo: Realidad aumentada basada en superposición

Realidad aumentada basada en hologramas

Se utilizan proyecciones u hologramas para mostrar el contenido digital sobre el entorno. Se

proyecta luz artificial sobre superficies del mundo real y el software es capaz de detectar

interacciones sobre dicha luz. Esto se hace comparando proyecciones esperadas con la alterada

por el usuario.

Página 31 de 135

Fig. 28 Ejemplo: Realidad aumentada basada en proyección

El Nivel 3 (Visión aumentada) estaría representado por dispositivos como Google Glass, lentes

de contacto de alta tecnología u otros que, en el futuro, serán capaces de ofrecer una

experiencia completamente contextualizada, inmersiva y personal[5]

Fig. 29 Ejemplo visión aumentada

Página 32 de 135

2.2.2.2 Reconocimiento de objetos y/o imágenes, Tracking y Renderizado.

La realidad aumentada es un proceso por etapas que se clasifican en dos grandes grupos: la

visión por computador y los gráficos por computador.

Por un lado, la visión por computador engloba el reconocimiento de objetos y/o imágenes y el

Tracking, que permiten a un dispositivo reconocer las características de una imagen o frame y

seguirlas en la escena. Por otro lado, los gráficos por computador se refieren a la iluminación y

renderización de la escena, es decir, se utilizan los dispositivos para generar modelos digitales e

integrarlos en el mundo real de forma eficaz.

Reconocimiento de objetos y/o imágenes

Para conseguir representar correctamente los elementos virtuales en la escena del mundo

reales necesario reconocer el entorno que rodea al usuario y los elementos que componen ese

mismo entorno. Así pues, se define el reconocimiento de objetos como la tarea de encontrar e

identificar objetos en imágenes o secuencias de video.

Esto se lleva a cabo a través de distintos algoritmos que buscan características o similitudes, ya

sea por color, iluminación o geometría.

Fig. 30 Reconocimiento de objetos por vértices

Esta tecnología se usa habitualmente para el reconocimiento de imagen los llamados targets.

Los targets son imágenes e incluso figuras que permiten posicionar los contenidos virtuales en

la escena, es decir, los elementos visuales se crean entorno al target.

Tracking

El tracking es el proceso de localizar un objeto que se está moviendo en el espacio y en el tiempo.

Esta fase está íntimamente relacionada con el reconocimiento de objetos, ya que para

posicionar el objeto en cualquier instante éste debe ser reconocido. Para que el tracking sea

posible un algoritmo analiza la secuencia de imágenes que la cámara del dispositivo (móvil,

Tablet, etc.) capta e interpreta y extrae el movimiento del objeto entre los frames. [16]

El Tracker es el dispositivo que realiza el tracking, y debe convertir las coordenadas de la imagen

a las globales del entorno. Para facilitar el posicionamiento, la relación entre coordenadas puede

ser facilitada por marcadores o puntos de interés cuya orientación y posición es conocida.

Página 33 de 135

Según los elementos que se quieren capturar se distingue el tipo de Tracking. Algunos de ellos

son:

• Body Tracking y Hand Tracking. En el Body Tracking la cámara rastrea un cuerpo

humano en tiempo real, capturando su posición y movimientos reproduciéndolos

digitalmente. Se pueden trackear partes más concretas del cuerpo. Cuando el tracking

se centra en las manos, así como cada uno de sus dedos, se le denomina Hand tracking.

Fig. 31 Visual Body Tracking

Fig. 32 Hand Tracking

• Head Tracking. Se basa en determinar la posición y movimientos de la cabeza del

usuario. El interés de esta técnica permite crear aplicaciones donde según se mueva la

cabeza, la imagen mostrada en una pantalla cambia su perspectiva dando la sensación

de profundidad, como si fuera tridimensional. [16].

• Face Tracking. Consiste en determinar la localización en cada instante de caras humanas

y detectar sus gestos (Fig. 33). Mediante algoritmos se es capaz de seguir y reconocer

los gestos de la cara del usuario dibujando una malla sobre ella.[16]

Fig. 33 Face Tracking

Página 34 de 135

Renderizado

Una vez los objetos de la escena son identificados y analizados, es necesario introducir los

elementos virtuales creados mediante programas de representación gráfica. Los elementos

digitales deben intentar adaptarse a las condiciones del entorno:

• Su iluminación debe de ser realista, proporcionar efectos de luz y sombras para así

adaptar la iluminación del objeto virtual a la iluminación del entorno real.

• Al introducir el objeto virtual en la escena, debe parecer que realmente pertenece a ella.

Para ello se debe renderizar el mundo como una máscara transparente que oculta

objetos virtuales y conocer la profundidad. El mundo real debe ser capaz de “tapar” al

virtual.

Fig. 34 Oclusión de elementos virtuales

Página 35 de 135

3 TECNOLOGÍAS UTILIZADAS EN EL PROYECTO

Para el desarrollo de aplicaciones o videojuegos los desarrolladores utilizan frameworks de

software diseñado para crear y desarrollar. Estos framework permite unificar todo el sistema en

uno solo, y se conocen como motores de juego o game engine.

Un motor de videojuego es un término que hace referencia a una serie de librerías de

programación que permiten el diseño, la creación y la representación de un videojuego. [19]

Posee diversas funcionalidades entre las que destacan que poseen un motor gráfico para

renderizar gráficos 2D y 3D, un motor físico que simula las leyes de la física y detecta colisiones,

y proporcionan herramientas de desarrollo visual y software de animaciones, sonidos,

inteligencia artificial y Scripting.

Todos los motores de videojuegos tienen un lenguaje de programación que permite

implementar el funcionamiento de los personajes y objetos que forman parte del

videojuego.[19]

Fig. 35 Motores de juego populares

Estos motores poseen herramientas para la creación de modelos, pero lo más habitual es utilizar

softwares específicos de modelado 3D para añadir elementos que compongan la escena y

renderizarlos como una imagen bidimensional en la pantalla.

Fig. 36 Software de modelo 3D

Para poder comunicarse a nivel de software los motores de juegos utilizan SDKs, que permiten la implementación de diferentes plataformas en el motor.

Página 36 de 135

Un SDK (Kit de desarrollo de software, o de sus siglas en inglés, Software Development Kit) es un

conjunto de herramientas y datos que permite a los desarrolladores programar en un lenguaje

para una plataforma específica.

Un componente estándar que incluyen casi todos los kits de desarrollo de software es la API

(también mencionada a menudo en plural), a través de la cual los proyectos de software se

pueden enlazar a nivel de código fuente. El suministro de esta interfaz de programación

elemental suele ir acompañado de una extensa documentación que incluye instrucciones sobre

cómo usarla, así como otra información de interés[20]

Para realizar los casos de estudio se ha decidido utilizar las siguientes tecnologías:

Motor de juego: UNITY

Para usuarios que no tienen experiencia en programación, la curva de aprendizaje es más suave

que para UnrealEngine. Unity posee una interfaz amigable, que permite crear y modificar

elementos solo con arrastrar y soltar en el editor.

La mayor de sus ventajas es su gran documentación (tanto en inglés como en español

https://docs.unity3d.com/es/2018.4/Manual/UnityManual.html), para distintos lenguajes de

programación (C#, Javascript y Boo), hay gran cantidad de tutoriales y el foro de ayuda de Unity

te resuelve cualquiera de tus dudas. Pone a disposición del usuario los Assets, que son paquetes

ya desarrollados que realizan distintas funcionalidades, desde juegos completos hasta el

controlador del jugador, que permiten utilizarlos sin necesidad de programarlos uno mismo,

ahorrando tiempo (https://assetstore.unity.com//).[21]

En este proyecto se utilizará el lenguaje de programación C# debido a que hay un mayor número

de usuarios de Unity que programan con este lenguaje, por lo que a la hora de resolver dudas

es más fácil encontrar respuesta. Además de ser un lenguaje de programación orientado a

objetos común, la creación de componentes es directa, así como es la referencia a esos

componentes en código.

Software de modelado 3D: SKETCHUP

Su bajo nivel de dificultad a la hora de su aprendizaje y utilización, lo hace ideal para introducir

conceptos de modelado 3D en edades tempranas. Dispone de una versión web de la aplicación

donde se pueden crear los diseños sin necesidad de instalar software en el PC, y a la hora de la

compatibilidad de versiones, la app web se actualiza automáticamente y permite la descarga de

modelos por versión.

Fig. 38 https://learn.unity.com/ Fig. 37 Logotipo Unity

Página 37 de 135

Fig. 39 Logo SketchUp

Cuenta con un repositorio llamado 3D Warehouse para descargar modelos 3D de forma gratuita

y la opción básica brinda las herramientas avanzadas para crear y editar sólidos, aplicar

materiales, escalar los modelos, rotación de objetos…

Además, el motor de juego seleccionado admite de forma nativa modelos de SketchUp,

proporciona herramientas para la importación de sus correspondientes texturas y materiales y

permite definir grupos de componentes, que se convierten en mallas, instanciadas como

GameObjects.

SDK para AR con marcadores: VUFORIA

Para implementar actividades de Realidad aumentada basada en marcadores se utiliza el SDK

de Vuforia, ya que proporciona tanto rastreo de texto como de imágenes, así como su debido

tracking en la escena, y dispone de una detección rápida y rastreo simultaneo de targets. Su

documentación es bastante completa y su aprendizaje bastante fluido.

Fig. 40 Logo Vuforia

Suministra una base de datos para crear, alojar y gestionar distintos tipos de marcadores y un

Tracker que analiza el video proveniente de la cámara para encontrar coincidencias entre los

frame y los targets contenidos.

Pone a disposición de los usuarios frameworks para su implementación en Android Studio,

Xcode, Visual Studio y para el motor de juego seleccionado, Unity.

Página 38 de 135

3.1 UNITY 3D

Unity es un motor de juego con un entorno de desarrollo integrado (IDE) para crear medios

interactivos, generalmente videojuegos[22, p. 2], creado por la empresa Unity Technologies.

Esta herramienta no solo permite crear videojuegos si no todo tipo de experiencias tanto en 2D

como en 3D.

Dispone de una comunidad formada por todos los miembros con un Unity ID, es decir, una

cuenta de usuario con Unity. Esta permite entre otros la descarga del IDE, acceder a la tienda de

Unity, el Asset Store, tanto para descargar como para publicar datos, y conectar equipos y

recursos de Unity.

Fig. 41 Acceso Unity ID

Posee una documentación muy extensa, por lo que se ha creado el ANEXO I: Conceptos básicos

Unity, para reflejar los aspectos más importantes utilizados en los casos de estudio. Además,

ofrece recursos de aprendizaje en forma de tutoriales y proyectos en su apartado Unity Learn.

Aunque dispone de versiones más profesionales, Unity pone a disposición de cualquier usuario

un IDE muy completo con múltiples funcionalidades, por lo que es totalmente accesible.

Unity dispone de una herramienta para gestionar proyectos e instalaciones denominada Unity

Hub. Esta simplifica la forma en que encuentras, descargas y gestionas tus instalaciones del

Editor de Unity y cómo ves todos tus proyectos creados con Unity.[23]

En este proyecto se usará principalmente la versión 2018.4 y en el determinado caso de estudio

para el reconocimiento facial, la versión 2019.4

Fig. 43 Descarga de la versión

Fig. 42 Adicción de modulos en Unity Hub

Página 39 de 135

Fig. 44 Unity Hub: interfaz de instalaciones

Es importante destacar que Unity tiene un carácter multiplataforma, permite implementar

aplicaciones en una amplia variedad de destinos utilizando los mimos Assets y Scripts de un

mismo proyecto. Unity soporta más de 25 plataformas de destino entre las que se encuentran

plataformas de escritorio Windows, Mac y Linux, consolas, Smart TV, dispositivos AR/VR y

plataformas móviles como Android e iOS.

La implementación de los casos de estudio en el proyecto está indicada para Windows y Android,

aunque podría cambiarse a cualquier otra fácilmente, pero es necesario instalar los módulos de

la correspondiente plataforma en Unity Hub como se indica en la Fig.

Fig. 45 Imagen web: Plataformas de destino Unity

Esta configuración quedará retratada en el proyecto en el menú File > Build Settings. Esta es la

ventana donde se deberán de añadir las escenas para construir la aplicación.

Fig. 46 Unity: Build Settings

Página 40 de 135

Respecto a modelos digitales, Unity admite la importación de archivos desde multitud de

software de modelado 3D. Es posible crear modelos dentro de Unity, pero lo más común es

utilizar modelos creados en estos softwares. Unity admite formatos comunes de archivos 3D

exportados, .FBX o .obj, y archivos propios de aplicaciones de modelado 3D o software CAD,

como AutoCAD, 3Dstudio max o Blender. Además, admite de forma nativa SketchUp, una de

las razones por las que se ha elegido este software para modelado 3D en el proyecto.

Toda esta información digital, ya sea creada o exportada, cuando forma parte de una escena de

Unity se le denomina GameObject, pero ¿cómo hacer que estos elementos se muevan,

colisionen o interaccionen con el usuario? El comportamiento de los GameObjects es controlado

por los Components que están adjuntos, y aunque ofrecen características muy versátiles, es

necesario el uso de Scripts para conseguir componentes personalizados.[24]

Fig. 47 Uso de componentes en Unity

Cuando se crea un script C# en Unity , hereda automáticamente de MonoBehaviour y le

proporciona un script de plantilla. La clase MonoBehaviour es una clase base de programación

de la que deriva cada script de Unity, por defecto.[25] Esto quiere decir que Unity se encargará

de ejecutar los métodos mostrados en la Fig. 48 automáticamente siguiendo un ciclo de vida.

Fig. 48 Diagrama básico MonoBehaviour Unity

Página 41 de 135

Así dispone de métodos como Awake() destinado a fines de inicialización, Start() que se ejecuta

una vez cuando el GO al que está asociado en el Script aparece en la escena o Update(), que se

ejecuta antes de mostrar cada frame del juego. Estos dos últimos métodos los definidos por

defecto y, por ende, los más utilizados, los cuales serán objeto de estudio en este proyecto.

Todas estas características, combinadas con la estructura jerárquica de GO que ofrece Unity, su

sistema modular de componentes y su sistema de Scripting, convierten a Unity3D en una de las

mejores opciones a la hora de desarrollar aplicaciones de Realidad Virtual y Realidad

Aumentada.

También ofrece un marco para trabajar con plataformas de realidad aumentada de forma

multiplataforma dentro de Unity: AR Foundation. Este paquete presenta una interfaz, pero no

implementa ninguna característica AR en sí, así que es necesario añadir los paquetes separados

para las plataformas destino: Android, iOS, Magic Leap u Hololens.

Fig. 50 Funciones soportadas AR Foundation

Fig. 49 Compatibilidad con los SDKs de Android y iOS

Página 42 de 135

3.2 VUFORIA

Vuforia es una plataforma de desarrollo de aplicaciones multiplataforma de realidad

aumentada (AR) y realidad mixta (XR).[26] Proporciona SDKs para Unity, Android, iOS y UWP

(Universal Windows Platform).

Un SDK (Kit de desarrollo de software, o de sus siglas en inglés, Software Development Kit) es un

conjunto de herramientas y datos que permite a los desarrolladores programar en un lenguaje

para una plataforma específica. Gracias a esta característica, las aplicaciones de Vuforia se

pueden crear con Unity, Android Studio, Xcode y Visual Studio.

Vuforia ofrece a los desarrolladores, además de licencias profesionales, una licencia Developer

que es gratuita. Este tipo de licencia no busca fines comerciales y, por tanto, tiene un

almacenamiento limitado y permite desarrollar aplicaciones, pero no se pueden distribuir a

usuarios finales.

Para poder acceder a las funciones de Vuforia, al igual que Unity, es necesario tener una cuenta

de usuario. Con ella se puede acceder a la sección de desarrollador a través de su portal web:

https://developer.vuforia.com/[27]. Es destacable mencionar que posee una documentación

bastante completa para cada uno de los diferentes SDKs admitidos.

Fig. 51 Vuforia Engine developer portal

Cada aplicación creada con Vuforia necesita su propia clave de licencia, pero es posible tener la

misma licencia para una misma aplicación que vaya a ser construida en las diferentes

plataformas de destino admitidas. La creación de estas licencias y de las bases de datos de

marcadores se explican detalladamente en el ANEXO II: Bases de datos de marcadores en

Vuforia

Para crear aplicaciones de realidad Aumentada, Vuforia tiene un rastreador nativo o Tracker que

utiliza la cámara del dispositivo para captar el entorno real buscando marcadores o Targets.

Cuando detecta alguno, ejecuta su algoritmo y superpone la información digital en el mundo

físico.

El algoritmo de Vuforia ofrece detección y rastreo simultaneo de targets, además de un rastreo

robusto y una detección rápida. El funcionamiento básico podría resumirse en los siguientes

pasos:

1. La cámara del dispositivo capta una escena.

2. El SDK convierte los fotogramas de la cámara y cambia la resolución para ser tratada por

el Tracker.

3. Vuforia analiza la imagen a través del Tracker y busca coincidencias en la base de datos

configurada en la aplicación, compuesta por uno o más targets.

4. La aplicación renderiza el contenido virtual en la pantalla.

Página 43 de 135

3.2.1 Vuforia en Unity [28]

A partir de 2017.2 Unity integra el motor Vuforia Engine y puede descargarse directamente en

la instalación o añadir el módulo destinado a esto en Unity Hub, pero a partir de 2019.2 esta

función deja de estar disponible y debe descargarse desde el administrador de paquetes de

Unity.

Cuando Vuforia está disponible en el proyecto, sus componentes son visibles en el menú de

GameObjects y Player Settings

El GameObject más importante para conseguir

el proceso de aumento con Vuforia es la AR

Camera. Este GO es un tipo de cámara especial

que admite aplicaciones de realidad

aumentada tanto para dispositivos de mano

como para gafas digitales.

Es importante destacar que Unity denota los targets de Vuforia de forma diferente. En la tabla

se muestra la correspondencia entre marcadores de Vuforia y GameObjects en Unity que se

utilizarán en el proyecto.

VUFORIA UNITY

Single Target GameObject Image

Cuboid Target GameObject Multi Image

Cylinder Target GameObject Cylindrical Image

Tabla 2 Correspondencia entre Targets y GameObjects

Fig. 52 Añadir módulo de Vuforia en Unity Hub para Unity 2018.4

Fig. 53 GameObjects disponibles en Unity de Vuforia Engine

Fig. 54 Unity: XR Setting Vuforia

Página 44 de 135

3.3 SKETCHUP

SketchUp es una herramienta de diseño gráfico y modelado en tres dimensiones (3D) basado en

caras [29]. Su principal característica es que permite a los usuarios realizar diseños en 3D de

forma sencilla. Anteriormente se denominaba Google SketchUp, pero desde que fue vendida a

Trimble en 2012 se denomina simplemente SketchUp.

Ofrece al usuario un entorno amigable y una interfaz intuitiva en la que se pueden modelar

diversas geometrías como edificios, coches, personas o cualquier objeto imaginable por el

desarrollador[30]. SketchUp es un software que se usa comúnmente para el modelado de

arquitectura y los edificios creados en él, pueden ser geo-referenciados sobre Google Earth.

Independientemente de la geometría, estos modelos en 3D pueden representar ideas o

proyectos que, llevados al marco de las tecnologías virtuales, pueden ser usados para

representar estos conceptos en un entorno inmersivo o de una forma más real e interactiva.

Fig. 55 Presentación AR modelo SketchUp

Es destacable mencionar que SketchUp no es un software de diseño asistido por computadora.

Los softwares CAD representan información concreta, sin embargo, SketchUp está pensado para

diseñar conceptos e ideas (aunque pueden ser tan concretas como las del software CAD)

Los modelos creados se pueden subir a la red y almacenarse en la biblioteca propia de SketchUp:

3D Warehouse[31]. Esta es una galería de objetos, texturas e imágenes que se ponen a

disposición de cualquier usuario. Los modelos pueden ser filtrados por categorías o buscarse

directamente a través de la barra de búsqueda superior.

Página 45 de 135

Fig. 56 Biblioteca de modelos SketchUp: 3D Warehouse

Para utilizar SketchUp y 3DWarehouse se necesita una cuenta de usuario de Trimble y aunque

existen versiones más profesionales de pago, ofrece una versión Free a disposición personal. Si

se posee una cuenta de Microsoft Education, existe una versión For Schools que contiene

programas de cursos para el aprendizaje y recursos para imprimir los modelos en 3D. En el

proyecto se ha utilizado la versión Free la cual se usa a través del navegador.

Fig. 57 Portal web de SketchUp

Al crear un nuevo proyecto de modelo, la interfaz predeterminada se muestra en la siguiente

figura. Tiene un eje de coordenadas diferenciado por colores para la altura, anchura y

profundidad (azul rojo y verde), cuyas coordenadas positivas se representan con una línea

continua y las negativas con una línea discontinua. Además, se muestra un componente

predeterminado, Helen. Este componente representa un modelo humano y se usa para tener

una referencia escalar.

Página 46 de 135

Fig. 58 Interfaz de SketchUp

La interfaz web posee dos menús laterales: Uno destinado a la creación y modificación de

geometrías en la escena y otro con funcionalidades más avanzadas que no son objeto de estudio

en este proyecto.

Cualquier elemento dibujado en SketchUp se denomina geometría, y uniendo varias de ellas

correctamente, se obtiene un modelo.

Los modelos en SketchUp se crean usando líneas para formar caras. Una línea es una arista de

un plano y una cara es la superficie que se crea automáticamente cuando 3 o más líneas están

en el mismo plano. Cuando esto sucede, SketchUp asigna un sombreado automáticamente.

Fig. 59 Aristas y caras SketchUp

Fig. 61 Herramientas Rectangle, Arc, Circle y Polygon

Fig. 60 Herramientas Line

y FreeHand

Página 47 de 135

Las caras se dibujan con las herramientas Line o FreeHand cuando la forma de la superficie la

determina el usuario, o con herramientas con formas determinadas: Arc, Rectangle, Circle o

Polygon. Según la herramienta escogida cambia la forma geométrica de la superficie creando

un Arco, rectángulo, circulo o hexágono respectivamente.

Las líneas del modelo pueden comenzar en cualquier posición, pero SketchUp posee un motor

de inferencias que sitúa o infiere puntos a partir de otros muy útil en la creación de modelos.

Fig. 62 Motor de inferencias SketchUp

Para añadir o reducir volumen en las geometrías se utiliza la herramienta Push/Pull que empuja

o tira de una determinada cara para construir un sólido 3D. Para aplicar materiales a las

geometrías, SketchUp ofrece la herramienta Paint con la que se pueden asignar texturas

secuencialmente a cada cara del modelo. Es destacable resaltar que la orientación de las caras

importa a la hora del renderizado de los materiales.

Fig. 65 Uso de la herramienta Push/Pull y Paint

Fig. 64 Herramientas Push/Pull, Follow me

Fig. 63 Herramienta Paint

Página 48 de 135

4 CASOS DE ESTUDIO DESARROLLADOS

Para demostrar que las tecnologías virtuales pueden aplicarse a diversos ámbitos en la

enseñanza y la divulgación científica se han desarrollado los casos de estudio de esta sección.

En el momento actual el profesor requiere nuevas estrategias, percepciones, experiencias y

conocimientos para intentar dar respuesta a los múltiples interrogantes que se le presentan

cada día.

La finalidad es enseñar tanto a docentes como alumnos a través del aprendizaje basado en

juegos y las tecnologías virtuales, una alternativa docente para diversas materias que sirven

como ejemplo, pero que, además muestran múltiples conceptos tecnológicos como son el

reconocimiento de objetos, tracking, modelado 3D, motores de juego…

Esta metodología permite que este último aprendizaje se realice de forma implícita, enseñando

al usuario las tecnologías subyacentes sin percatarse de ello.

El apartado se divide en dos secciones: El primero está destinado a los casos de estudio que

tratan el modelado y la realidad virtual, y el segundo, trata los casos de realidad aumentada.

Ambos apartados contienen una sección de introducción que contiene las directrices para la

configuración de los proyectos en Unity, así como cada caso de estudio la tiene para mostrar su

implementación y los conceptos lúdicos y tecnológicos aplicados.

Caso de

estudio Software

Ámbito de aplicación

Objetivo Tecnología

4.1.1 SketchUp

y Unity Arquitectura, modelado 3D

Introducirse en el modelado 3D e importación de modelos en Unity

VR no inmersiva

4.1.2 Unity Astronomía Conocer los componentes del sistema Solar a través de la AR

VR inmersiva

4.1.3 Unity Tecnología Conocer los principales conceptos de Unity a través de GBL

VR semi-inmersiva

4.2.1 Unity y Vuforia

Astronomía Conocer los componentes del sistema Solar a través de la AR

AR con marcadores multitarget

4.2.2 Unity y Vuforia

Química Conocer los compuestos químicos básicos

AR con marcadores Single

4.2.3 Unity y Vuforia

Ciencias naturales

Conocer la clasificación de los animales según su alimentación

AR con marcadores Multi y Single

4.2.4 Unity y Vuforia

Tecnología Conocer los principales conceptos de Unity y Vuforia a través de GBL

AR con marcadores

4.2.5 Unity Mujeres en la

ciencia y la ingeniería

Divulgación científica para la concienciación de la igualdad de género.

AR reconocimiento facial

Tabla 3 Tabla resumen Casos de estudio

Página 49 de 135

Para cada caso de estudio es necesario crear un proyecto Unity en 3D, y además de configurar

la plataforma destino, es necesario configurar los Player Settings para la implementación final.

Fig. 66 Nuevo proyecto 3D en Unity

Página 50 de 135

4.1 Preparación de un proyecto para la accesibilidad de la VR.

Para los casos de estudio de este subapartado es necesario indicarle a Unity que el proyecto está

destinado a la realidad virtual. Para ello es necesario tener en cuenta:

o Los GameObject predeterminados: La Main Camera y la Directional Light son los

GameObjects predeterminados al crear un proyecto en Unity, y en este caso, son

necesarios en la escena. La Main Camera es la cámara principal de la escena y es la

encargada de mostrar el entorno de juego al usuario, y, la Directional Light ofrece una

iluminación desde la misma dirección a todos los elementos de la escena.

o Es imprescindible habilitar la realidad virtual en Unity. Para ello en el menú Edit > Project

Settings > Player , en el apartado XR Settings

marcamos la opción destinada a este fin: Virtual

Reality Supported. Cuando está habilitado

automáticamente se activa:

- Visualización estereoscópica, con el fin de calcular la profundidad de las cosas. No se

requiere tener dos cámaras, pero para ello es necesario una plataforma destino

adecuada.

Para este fin usaremos el SDK

para las Google Cardboard, el

cual necesita un dispositivo

Android con Android 4.4 KitKat o

superior (API level 19) o superior y

un visor Cardboard [32] o similar.

Es importante destacar que el

editor de Unity siempre ofrece una

previsualización de la escena, pero

disminuye cuantiosamente el

grado de inmersión no usar visores

para lograr la estereoscopía.

- Se aplica a la cámara un input Headtracked (seguimiento de la cabeza) con un

determinado Field of View (Campo de visión). El Transform de la cámara es anulado

con la pose resultante del seguimiento de cabeza, lo que quiere decir que en nuestra

aplicación final podremos observar el entorno alrededor de nuestra posición.

A partir de esta configuración, el proyecto está preparado para crear escenas que admitan la

realidad virtual.

Fig. 67 Game Objects predeterminados VR

Fig. 68 Virtual Reality Supported

Fig. 69 XR Setting : VR Android

Fig. 70 XR Settings: PC, MAC & Linux Standalone

Página 51 de 135

4.1.1 Caso de estudio de modelos 3D en SketchUp e importación a Unity.

INTRODUCCIÓN

La creación de modelos 3D permite representar cualquier idea que el usuario imagine. Aunque

en Unity se pueden crear modelos 3D, es muy frecuente utilizar softwares externos para ello.

En este caso de estudio se detalla la creación de un modelo 3D en el software de modelado

SketchUp. Se muestra una secuencia de la creación del modelo a través de las herramientas

básicas y la adicción de materiales a este. Además, se especifica la debida importación del

archivo de modelo a Unity, incluyendo la configuración de sus materiales de origen. Para realizar

este proceso se tratan los siguientes aspectos:

- Creación de un modelo a través de las herramientas básicas de SketchUp.

- Características de materiales en SketchUp.

- Descarga y posicionamiento de objetos: Warehouse.

- Importación de modelos 3D SketchUp en Unity.

SKETCHUP

El objetivo es crear una construcción para que actúe como GameObject en Unity. A través de

la herramienta Rectangle se crea una cara inicial para actuar como superficie de las paredes y

mediante la herramienta Push/Pull se le ha dado volumen a lo largo del eje y.

Fig. 71 Creación de modelos con SketchUp (1)

Página 52 de 135

Combinando estás herramientas con la herramienta Line, se han ido añadiendo nuevas caras

para formar nuevas superficies a las cuales se le han ido aplicando diferentes extrusiones para

conseguir volúmenes.

El motor de inferencias ofrece gran utilidad a lo largo del modelado, y es destacable para crear

puertas y ventanas. Para “recortar” un sólido, es necesario dibujar la cara deseada sobre la

superficie y utilizar la herramienta Push/Pull teniendo en cuenta que el destino esté inferido

como On Edge.

Fig. 72 Creación de modelos con SketchUp (2)

Es importante atender a las caras de los materiales las cuales deben estar correctamente

orientadas para que no haya problemas ni en la importación ni en el renderizado del modelo.

Fig. 73 Creación de modelos con SketchUp (3): Caras de los materiales

Página 53 de 135

Una vez que todas las caras estén ubicadas correctamente, se pueden aplicar los

materiales al modelo. Esto se llevará a cabo con la herramienta Paint ubicada en

el menú lateral izquierdo. SketchUp pone a disposición del usuario multitud de

ateriales ordenados por categorías. Para aplicar los materiales solo es necesario

elegir un material e ir aplicandolo a cada superficie de forma secuencial.

SketchUp ofrece un componente para importar otros modelos .skt ubicado en el menú lateral

derecho, 3D Warehouse. Al importar un nuevo modelo, es necesario posicionarlo y

redimensionarlo. Este proceso se llevará a cabo con las herramientas Scale y Move ubicadas en

el menú lateral izquierdo.

Fig. 74 SketchUp: Herramienta Scale

Fig. 75 Modelo 3D en SketchUp

Una vez creado el modelo 3D se puede descargar el archivo con formato .skp desde SketchUp

indicando la versión deseada y guardarlo de forma local.

UNITY

Fig. 76 Proceso de importación .skp a Unity

Página 54 de 135

Unity admite la extensión de los archivos procedentes de SketchUp de forma nativa, por lo que

sólo es necesario arrastrar el archivo desde el administrador de descargas hasta la ventana del

proyecto.

Fig. 77 Importación del modelo .skt a Unity sin materiales

En la figura anterior se pueden observar las opciones de

importación del modelo procedente de SketchUp , el cual carece

de los materiales predefinidos. Unity permite extraer materiales

y texturas o dejarlos incrustados en el modelo. Para configurar

esto es necesario ir a la pestaña de materiales y configurar el

parámetro Location. Hay que indicarle a Unity que utilizaremos

los materiales externos ajustando este parámetro a Used External

Materials (Legacy). Esta opción extrae los Materiales y los guarda

de forma externa en una carpeta de Asset en lugar de guardarlos

dentro del modelo.

La importación del modelo realizado se puede observar en la

siguiente Figura. Como se ha podido apreciar, importar modelos 3D desde SketchUp es un

proceso sencillo. Es posible crear cualquier cosa que nos imaginemos en el software de

modelado para que forme parte del entorno virtual. A través de la ventana de importación de

Unity, se pueden configurar sus propiedades para guardar los materiales externamente

utilizados y a partir de esto, posicionar y configurar el modelo como cualquier otro GameObject

de la escena.

Fig. 78 Unity: Configuración materiales de un modelo .skp

Página 55 de 135

Fig. 79 Importación del modelo .skt a Unity con materiales

Página 56 de 135

4.1.2 Caso de estudio visión estereoscópica: Sistema solar en VR

INTRODUCCIÓN

En este caso de estudio se detallan los pasos necesarios para construir un Sistema Solar en

Realidad Virtual. Nuestro entorno inmersivo en este caso será el espacio y los GameObject que

lo forman, el sol y los planetas. Intentaremos aumentar la inmersión y el realismo de la escena

incluyendo efectos realistas de iluminación y audio, además de renderizarlo en visión

estereoscópica. Los conceptos lúdicos y tecnológicos que trata en el proyecto son:

- Utilizar la realidad virtual para ver un lugar inaccesible: Vista del sistema Solar.

- Conceptos de rotación y traslación: comportamiento de GameObject vía Scripting.

- Creación del entorno inmersivo.

- Creación de GameObject primitivos y posicionamiento.

- Reutilización de Assets (Prefabs)

- Iluminación y audio

UNITY

Tras crear el nuevo proyecto, es fundamental preparar la colección de

Asset que se van a utilizar en la escena. Para ello, se han descargado

diferentes imágenes para emular las texturas de los planetas, el sol y la

luna, y una imagen para crear el fondo espacial.

Para crear el entorno inmersivo utilizaremos un material con un Shader

Skybox. Estos envuelven la escena por completo y muestra cómo se vería

el horizonte. Para ello es necesario crear un material en la ventana de

proyecto Create > Material y definir su Shader. Este último puede

definirse de diversas maneras, pero se sugieren dos: Skybox 6 Sided y Skybox Panoramic.

Ambos envuelven la escena, pero el primero genera un cubo con la imagen en sus 6 caras

correspondientes, y el segundo envuelve la imagen alrededor de una esfera. Queda a elección

del usuario cual escoger, pero es destacable comentar que, según el material elegido, las

esquinas del cubo o la costura de la esfera podrían apreciarse en escena y esto no es deseable.

Fig. 82 Asset importados para el proyecto

Fig. 80 Skybox: Panoramic

Fig. 81 Skybox: 6 Sided

Página 57 de 135

Una vez creado el entorno, hay que crear en el centro de la escena un GameObject Sphere para

simular el Sol. Para asignarle un material a esta esfera, simplemente se arrastra el Asset hasta el

GameObject en la vista de escena o se referencia la imagen deseada en el Albedo del material.

Para conseguir que el Sol emita luz en todas las direcciones, se le agregará un GameObject Point

Light. Este deberá ser hijo del GameObject Sol, para que en todo momento dependan en el uno

del otro y se mantengan juntos.

Ajustaremos la propiedad Color del Point Light para definir el color que tendrá la luz y la

propiedad Range para definir hasta que distancia alcanza dicha luz.

Fig. 85 GameObject Sol: Sphere

Fig. 83 Vista escena Skybox

Fig. 86 Vista de juego: Sol con iluminación

Fig. 84 GameObject Point Light

Página 58 de 135

De la misma forma que se ha creado el Sol, se crean los diferentes planetas del Sistema Solar

posicionandolos por su Transform y aplicandole las diferentes texturas elegidas. Como se puede

observar, en este momento es muy útil la visión sin perspectiva disponible en el Gizmo.

En la captura anterior se puede apreciar la jerarquía de proyecto con todos los planetas.

También se ha creado un Game Object para la Luna, que será hijo de la Tierra, y un GameObject

cilindro para el anillo de Saturno. Una vez creados los GameObject de la escena, se puede definir

como se van a comportar a través de Scripting. Para ello se crea en la ventana de proyecto un

Script C# llamado Rotar.

Fig. 88 Detalles de importación Script

Como se describe en la sección de Unity, la nueva clase creada deriva de la clase Monobehaviour

para que Unity ejecute algunas funciones automáticamente.

Fig. 89 Script Rotar en C#

Fig. 87 Vista de escena Sol y planetas

Página 59 de 135

Se definen dos variables públicas que serán visibles en la interfaz:

- Referente, para indicar alrededor de quien gira el GameObject.

- La velocidad de rotación a través de un número entero.

Si al iniciar el modo de juego el referente no está asignado, se asigna él mismo. En el método

Update se llama al método RotateAround del Transform, al que se le pasan 3 parámetros: la

posición del tranform sobre el que se rota, el eje de rotación, y la velocidad.

Este Script será asignado como componente a todos los GameObject que queremos que se

muevan, es decir, a los planetas. Todos ellos tendrán como referente el GameObject Sol, y será

necesario ajustar la velocidad con la que se mueven cada uno pero, como se puede observar en

la captura superior, hay excepciones:

- La luna tendrá como referente el GameObject Tierra, y por tanto girará alrededor de

ella, no del Sol. Este último movimiento estará implicito gracias al parentesco con el

Game Object Tierra.

- La Tierra tendrá dos componentes Script Rotar: uno dedicado al movimiento de

translación y otro dedicado al de rotación, es decir, uno de ellos hará que el Game

Object Tierra se mueva alrededor del referente Sol, y otro hará que la Tierra gire sobre

si referenciandose a ella misma.

Fig. 91 Vista de escena : Sistema Solar VR

Fig. 90 Detalle de los componentes Script en el GO Tierra

Página 60 de 135

Una vez creados los objetos virtuales que necesitamos para la

escena y de haber definido como se comportan, podemos

crear un Prefab para poder reutilizar este sistema solar. Esto

se hará arrastrando el GameObject Sol y todos sus hijos desde

la ventana de Jerarquía hasta la ventana de Proyecto.

Este paso es importante ya que, en el caso de estudio del

Sistema Solar en Realidad aumentada, se supondrá que esto

se ha llevado a cabo. Para aumentar la inmersión en la escena

incorporaremos efectos de audio. Para ello se ha obtenido un

Asset de tipo audio en formato mp3 de un ruido ambiente

simulando el espacio y se ha importado al proyecto. Para

aplicar el audio a la escena, es necesario añadir a la Main

Camera un componente Audio Source (El componente Audio

Listener lo tiene por defecto). En este es necesario referenciar

el archivo de audio en la propiedad Audio Clip como se muestra

en la siguiente figura:

Fig. 94 Main Camera: Audio Listener/Source

Para conseguir dibujar las órbitas de los planetas alrededor del Sol, añadiremos a cada planeta

un componente Trail Renderer. Este componente se usa para crear rutas que siguen el camino

del movimiento de un GameObject. La propiedad Time deberá ser ajustada en cada componente

Trail Renderer según el tiempo que cada planeta tarda en dar la vuelta al Sol, cualidad que indica

la velocidad del Script Rotar de cada planeta.

A partir de esto, ya tenemos creado nuestro sistema solar en realidad virtual a partir de

GameObjects primitivos, con texturas personalizadas y un comportamiento de rotación

definido. Además, nuestro entorno queda delimitado por un Material Skybox, tiene efectos

auditivos y una iluminación realista definida por un único punto de luz, el Sol.

Fig. 93 Componente Trail Renderer

Fig. 92 Previsualización Prefab: Sistema Solar

Página 61 de 135

Fig. 95 Vista de juego Unity: Sistema Solar VR

Para poder visualizarlo en realidad virtual, es decir, aplicar una visión estereoscópica, es

necesario construir nuestra aplicación en Android en el menú Build Setting, como se indica en

el apartado 4.2. En la siguiente captura se puede apreciar ya la aplicación finalizada y lista para

introducir el smartphone en el visor.

Fig. 96 Vista estereoscópica en Android: Sistema Solar VR

Página 62 de 135

4.1.3 Caso de estudio destinado a la física: Laberinto en Unity

INTRODUCCIÓN

En este caso de estudio se detallan los pasos necesarios para construir un Laberinto en Realidad

Virtual. Este tipo de actividades se suelen utilizar bastante ya que contienen muchos conceptos

básicos de la creación de entornos, y ofrecen una forma divertida de comprenderlos. Es el típico

caso de estudio ideal para gamificar, ya que contiene los elementos de juego más característicos,

como vidas y recompensas, y se puede dividir en varias sesiones. Los conceptos lúdicos y

tecnológicos que trata en el proyecto son:

- Creación de entornos y jugadores.

- Creación de elementos con GameObject primitivos en Unity.

- Importación de Prefabs y Asset Store.

- Animaciones de personajes.

- Interacción del jugador con elementos del entorno: Colliders y Triggers.

- Comportamiento de los GameObject vía Scripting.

- Realización de interfaces de usuario

UNITY

Para comenzar la actividad es necesario construir la estructura del laberinto. Esta acción se lleva

a cabo mediante GameObjects primitivos, en concreto, un plano que actúa como suelo y

diversos GameObjects cubo para las paredes, cuyo Transform ha sido alterado para conseguir

su correcta distribución.

Como las paredes tienen un componente Box Collider por defecto, se ha utilizado la acción de

ajuste Vertex snapping [33] para ajustar los vértices entre paredes y a la superficie, evitando así

problemas posteriores en el renderizado.

1 Ejemplo pared Laberinto

Página 63 de 135

Como se muestra en el ANEXO I, se aplican materiales y texturas a los GameObjects creados

para definir su apariencia. Cada GameObject tiene asignado un material en el cual se puede

definir su color, brillo, luminiscencia… y otras características a través de las texturas como

rugosidad o fricción. Para hacer esto posible, se han descargado imágenes de la web que emulan

paredes de ladrillo y suelo de azulejos, y han sido asignadas como referencia al Albedo de los

GameObject que componen la escena.

2 Estructura Laberinto con paredes y materiales

Cuando la estructura está creada, se procede a crear al jugador que corresponde con otro

GameObject primitivo, pero esta vez en forma de esfera. Para controlar su comportamiento, se

le añade un nuevo componente Script que será modificado para de momento definir su

movimiento en la escena.

3 Inspector: Player

Esto se consigue añadiendo un componente Rigidbody al que se le aplican fuerzas vía Scripting

determinadas por los inputs del jugador. Los inputs son elementos de entrada a través de los

Fig. 97 Scripting: Player Controller

Página 64 de 135

cuales interactúa el usuario, como pueden ser el teclado o el mouse, y quedan definidos en el

menú Project Settings. En este caso el input utilizado será el teclado.

Fig. 98 Project Settings: inputs

Hasta el momento, los GameObjects utilizados han sido modelos primitivos básicos de Unity,

pero se puede utilizar el Asset Store para descargar todo tipo de Asset ya predefinidos y más

complejos.

Se ha procedido a realizar una búsqueda para obtener Assets de monstruos que interactúen con

el jugador. Estos actuaran como enemigos, uno de los elementos básicos de los juegos. El Asset

seleccionado para este fin se muestra en la siguiente figura.

4 Asset Store: Free Monster

Para que el jugador pueda detectar cualquier elemento, es necesario que estos tengan un

componente Collider adjunto. En este caso, el Asset descargado no lo tenía, por lo que es

necesario editar su Prefab en el modo correspondiente y añadir dicho componente.

Página 65 de 135

Fig. 99 Adicción de Collider a monster

Los GameObjects básicos con los que interaccionará el jugador serán los Enemigos, las

recompensas y la Salida. Se crean dos GameObjects vacíos (menú: GameObject > Create Empty)

ya que se añade un número considerable de monedas y enemigos los cuales serán los

GameObject padre de cada grupo.

Fig. 100 GameObject Enemigos

Fig. 101 GameObjects recompensas

Página 66 de 135

Fig. 102 GameObject Salida

Para realizar las interacciones los GameObjects básicos quedan configurados como se muestra

en la siguiente tabla:

Nombre Laberinto Recompensas Salida Enemigo Player

Tag Untagged Recompensa Finish Enemy Player Collider Box Capsule Box Box Sphere Is Trigger No Si Si Si No Rigidbody No No No No Si Is kinematic No

Tabla 4 Relación Colliders GameObjects Laberinto

Se añade una etiqueta (Tag) a cada GameObjects según al grupo que pertenezca y se destaca

que todos poseen un componente Collider para interactuar entre ellos. Los GameObject básicos

con los que interactúa el jugador tienen activa la propiedad Is Trigger y no se comportan como

un cuerpo físico, es decir, se puede pasar a través de ellos. Cuando eso sucede, se llama a la

función OnTriggerEnter() que se configura más adelante en el jugador.

Las monedas son pequeños cilindros estrechos al que

se le ha agregado un material emulando oro y se ha

ajustado la propiedad Metallic para darle apariencia

metálica.

Las monedas no tienen un componente Rigidbody por

lo que no le afecta la gravedad. Están colocadas a una

pequeña distancia sobre el suelo y contienen un Script

Rotar, que hacen que giren sobre su propio Transform

en el aire. Se establece una variable pública visible en

el Inspector para determinar la velocidad de giro.

Fig. 103 Script rotar para monedas

Página 67 de 135

Fig. 105 Inspector: monedas

Además de controlar el comportamiento de los GameObjects vía Scripting, también se pueden

utilizar otro tipo de controladores como los de Animación.

El conjunto de Assets del enemigo descargado contiene diferentes clips de animación los cuales

contienen información acerca cómo ciertos objetos deberían cambiar su posición, rotación, u

otras propiedades en el tiempo. [34] Estos clips luego son organizados a un sistema con una

estructura similar a la del diagrama de flujo llamado Animator Controller

Animator Controller funciona como un “State Machine” que mantiene un seguimiento de qué

clip debería actualmente estar reproduciéndose, y cuando las animaciones deberían cambiar o

mezclarse juntas.[34] Este será un componente del enemigo utilizado.

Fig. 106 Controlador de animaciones enemigo.

Fig. 104 Inspector: salida laberinto

Página 68 de 135

La máquina de estados creada hace que el enemigo este moviéndose hacia los lados en la

escena continuamente, y para hacer que el enemigo “muera” cuando es atravesado por el

Player, se crea un nuevo script adjunto al enemigo para que active la transición a dicho estado

haciendo uso de su componente Animator Controller.

En el script del jugador se configuran las interacciones con los GameObjects básicos . Esto se

hace detectando eventos de Trigger cuando el Player entra en la zona donde está ubicado un

GameObject con la propiedad Is Trigger activa.

Según la etiqueta del Collider detectado se realizarán las siguientes funciones:

- Si el player colisiona con una GameObject etiquetado como recompensa, el

GameObject moneda desaparece y se aumenta el contador de estas. Además se

muestra en pantalla el valor actual de monedas.

- Si el player colisiona con un GameObject etiquedado como Enemy, se decrementa el

contador de vidas. Cuando el contador llegue a cero, se devuelve el GameObject a su

posición inicial, y se resetean los contadores de vidas y monedas. Además se muestra

en pantalla el valor actual de vidas.

- Si el player colisiona con un GameObject etiquetado como Finish, aparece el

recuento de monedas y el tiempo transcurrido en una interfaz de usuario.

Fig. 108 Inspector: Enemigo

Fig. 107 Script para Animator

Página 69 de 135

Fig. 109 Script Player Controller

Para introducir otros elementos de juego como el recuento de monedas, vidas y tiempo se

utilizan elementos UI. Como se indica en el ANEXO I, todos los elementos UI deben ser hijos de

un GameObject Canvas y tienen un componente Rect Transform en vez de un Transform para

posicionarlos.

Fig. 110 Vidas y monedas Laberinto

Página 70 de 135

Como se puede observar en la Fig. 109, vía Scripting se realiza el recuento de vidas y monedas,

y para poder mostrarlas durante el juego, se emplean GameObject Text en la interfaz de usuario,

mostradas en el margen inferior izquierdo en la Fig. 110.

Fig. 111 Canvas Laberinto

A esta interfaz se le asigna una imagen de fondo que estará desactivada por defecto (y por

ende, sus hijos) y aparecerá al final del juego. Esta contiene dos GameObjects Text que deben

indicar el recuento de monedas y tiempo empleado para llegar hasta la salida.

Los GameObject Text deben referenciarse con el valor de los contadores del script para poder

ser modificados y ser mostrados en la interfaz durante el juego.

Fig. 112 Script Player Controller (1)

Página 71 de 135

Para poder relizar dicha referencia, es necesario definir las variables públicas en el script del

jugador, asignarle el valor de los respectivos contadores y referenciar en el inspector los

GameObject de la escena con estas variables.

Fig. 113 Referencias elementos UI scripting

Siguiendo todos los pasos anteriores, se ha creado un laberinto, con un jugador que reacciona a

eventos de colisiones y trigger ante recompensas, enemigos y la salida del juego previamente

configuradas, haciendo un recuento de estos elementos vía scripting y mostrando su valor en la

interfaz de usuario.

Para la visualización del juego, la ubicación de la cámara determina su grado de inmersión:

o Si la cámara está posicionada en un punto fijo donde se observa todo el entorno de

juego, nos encontramos ante una visualización no inmersiva. En este tipo de VR, no hay

sensación alguna de inmersión aunque se pueda interactuar con los elementos de juego.

o Por el contrario, si la cámara se hace hija del jugador de la escena, nos encontraremos

ante una visualización semi-inmersiva. En este tipo, la situación de presencia aumenta

en cierta medida ya que el punto de visualización del entorno corresponde con los

movimientos de entrada que proporciona el usuario.

Fig. 114 Laberinto: Modo de juego no inmersivo

Página 72 de 135

Fig. 115 Laberinto: Modo de juego semi inmersivo

Fig. 116 Laberinto: Interfaz final

Página 73 de 135

4.2 Preparación de un proyecto para la accesibilidad de la AR

Para los casos de estudio de este subapartado es necesario indicarle a Unity que el proyecto está

destinado a la realidad aumentada. Para ello es necesario tener en cuenta:

o Es imprescindible habilitar la realidad aumentada en Unity a través de Vuforia. Para ello

en el menú Edit > Project Settings > Player , en el apartado XR Settings marcamos la

opción destinada a este fin: Vuforia Augmented Reality.

Cuando se activa, se descargan los Asset predeterminados para la utilización de Vuforia

en Unity, los cuales son visibles en la carpeta de proyecto. Además, se incorpora un

nuevo menú destinado a los GameObjects propios de la realidad aumentada con

Vuforia, GameObject > Vuforia Engine.

o Los GameObject predeterminados: La Main Camera y la Directional Light son los

GameObjects predeterminados al crear un proyecto en Unity, pero en este caso, no son

necesarios. La iluminación la aporta el mundo real, pero se necesita una cámara apta

para la realidad aumentada.

Unity pone a través del SDK de

Vuforia, un GameObject para este fin,

la AR Camera, de la que todos los GO

de la escena deben ser hijos. Para

comenzar un proyecto en AR, es

necesario borrar los GameObjects

predeterminados y añadir una AR Camera, donde se realizará la configuración de

Vuforia.

o Es necesario introducir la licencia de desarrollador en la configuración de Vuforia.

Podemos acceder a ella a través de la ARCamera.

Fig. 119 Inspector: AR Camera

Fig. 117 XR Settings: Realidad Aumentada

Fig. 118 GameObjects predeterminados AR

Página 74 de 135

Fig. 120 Configuración de Vuforia.

o Hay que descargar la base de datos de targets

que vayamos a utilizar en el proyecto desde la

página web de Vuforia. Podemos acceder a ellas

a través del botón Add Database de la

configuración, y es posible, añadir tantas como

queramos. Hay que tener en cuenta, que cada

vez que se descarga una base de datos de targets

se están descargando archivos en el proyecto, y

no es conveniente tener grandes cantidades de

estos, por tanto, hay que descargar solo las BBDD necesarias.

Fig. 122 Configuración Vuforia: múltiples BBDD

Estos pasos son imprescindibles a la hora de configurar un proyecto para AR, pero en la

configuración de Vuforia, hay otras propiedades importantes que iremos modificando en los

casos de estudio como Max Simultaneous Tracker Image, que delimita el número de targets

que puede detectar a la vez la AR Camera, o Enable video background, que activa o desactiva el

fondo del vídeo captado por la cámara dejando solo visibles los objetos virtuales.

Todos los marcadores utilizados en el proyecto están disponibles en el ANEXO III: Marcadores

AR utilizados en los casos de estudio.

Fig. 121 Descargar BBDD Vuforia

Página 75 de 135

4.2.1 Caso de estudio marcador multi: proceso de aumento Sistema solar en AR

INTRODUCCIÓN

En este caso de estudio se detallan los pasos necesarios para realizar el proceso de aumento del

Prefab del Sistema Solar creado en el apartado 4.1.2. Esta información es contenido digital y se

necesita un referente cuando la cámara capta la escena. Para ello se necesita un marcador.

Como se ha mencionado en la sección de Tecnologías utilizadas, existen marcadores comerciales

listos para utilizar, y en este caso de estudio se usará mergeCube.

En el proyecto es la demostración más simple que podría hacerse: Coger un marcador comercial

y añadirle un conjunto de GameObjects ya configurados cuando este aparezca en la escena. El

sistema Solar podría crearse de nuevo, pero para ampliar conceptos importantes de Unity, será

modificado parcialmente con el fin de tratar el sistema Prefab y los sistemas de partículas. Por

tanto, en este caso de estudio, los puntos principales a aplicar son:

• Creación de una base de datos con un marcador comercial en Vuforia.

• Descarga y configuración de la base de datos en Unity.

• Emplazamiento del contenido virtual en el marcador.

• Modificación de Prefabs.

• Sistemas de partículas en Unity.

• Configuración del comportamiento del marcador vía Scripting.

VUFORIA

El primer paso es añadir una base de datos en Vuforia que contenga el marcador que reconocerá

la cámara de escena. Este proceso se detalla de forma minuciosa en la sección 3.2. y en las

siguientes Figuras se puede observar el resultado de su desarrollo.

Fig. 123 Base de datos planetarioAR

La base de datos queda preparada para su

descarga tras añadir el marcador y añadir las

imágenes a cada cara del Cube. Es importante

insistir en poner atención a las dimensiones

del Target y la posición y rotación de las caras

para realizar un correcto proceso de

aumento.

Fig. 124 Detalle MultiTarget: mergeCube

Página 76 de 135

UNITY

Tras crear un nuevo proyecto, es necesario realizar la configuración inicial como se indica en el

apartado anterior. Como la base de datos tratada sólo tiene un marcador Cube, al realizar la

descarga, Unity lo importa directamente a la escena como un GO MultiTarget. Cada cara del

cubo se crea como hijo de este, con su nombre y la posición del lado correspondiente.

Fig. 126 Archivos importados desde Vuforia

Si no se crea de forma predeterminada, es posible crearlo en el menú GO Vuforia Engine >

Multitarget. Cada marcador posee dos componentes predeterminados:

• Multi Target Behaviour, donde se indica la

base de datos a la que pertenece el target, y

el nombre del target. En este caso,

planetarioAR y mergeCube respectivamente.

• El Script Default Trackable Event Handler,

para configurar el comportamiento del

marcador.

Para importar el Prefab Sol, sólo es necesario arrastrar el archivo correspondiente a la ventana

de proyecto actual, ya sea desde el directorio de Windows o desde la ventana de proyecto del

Sistema Solar VR. Una vez importado, se coloca en la escena como hijo del MultiTarget,

ajustando su escala al marcador mediante su componente Transform.

Fig. 128 Adicción de contenido digital al Multitarget

Como se puede observar, un Prefab se diferencia claramente de un GameObject ya que se

representa con un cubo azul en la ventana de Jerarquía y un signo para entrar al modo Prefab.

Fig. 125 Estructura jerárquica mergeCube Unity

Fig. 127 Detalles Inspector MultiTarget

Página 77 de 135

Con el fin de simular el polvo Solar se añade un sistema de partículas al Sol, pero para poder

modificarlo es necesario entrar en este modo y crear un GameObject Particle System.

Fig. 129 Modo Prefab: Configuración inicial del Sistema de partículas

Las Particles son pequeñas, imágenes simples o meshes que son mostrados en gran número

gracias a un sistema de partículas.[35]

Los sistemas son los encargados de emitir las partículas en una determina región de un espacio

cuya forma está definida por su Shape. Estas partículas se emiten en una dirección dentro de un

rango y tienen un tiempo de vida determinado. Estos sistemas tienen una gran cantidad de

propiedades y módulos, pero en este caso de estudio se utilizan principalmente Emission, Shape

y Renderer que son los activos por defecto.

- En el módulo Emission ajustamos el parámetro Rate over Timer para controlar el

número de partículas que creamos.

- El módulo Shape estará determinado por una esfera cuyo origen está ubicado en el Sol

- El módulo Renderer se queda el material que Unity ofrece por defecto para una

partícula (Default-Particle).

Fig. 130 Módulos Emission, Shape y Renderer

Otras configuraciones del sistema de partículas se configuran en las propiedades generales:

- El sistema tendrá una duración de 5 segundos y se activa la opción Looping para que se

vuelva a ejecutar cuando acaba el ciclo.

- Se activa la propiedad Prewarm para que no se inicien en un punto, sino que aparezcan

ya distribuidas, emulando el polvo solar que sale del sol.

- Los parámetros Start life time y Start speed son utilizados para controlar el tiempo de

vida de las partículas en segundos y la velocidad inicial.

- El tamaño de la partícula Start Size quedará determinado por un valor aleatorio entre

0.001 y 1 y su Start Color quedará determinado por un Gradiente para que las partículas

sean de diferentes tamaños y colores.

Página 78 de 135

Una vez ajustadas todas las propiedades deseadas podemos salir del modo Prefab, y el sistema

solar con el efecto de partículas queda como en la siguiente captura.

Fig. 131 Modo Prefab: Configuración final del Sistema de partículas

El último paso es definir el comportamiento del target vía Scripting con el componente indicado:

El script Default Trackable Event Handler.

Al comienzo de la clase se define una variable pública GameObject Sol visible en el Inspector,

que es utilizado para llamar al método SetActive() del GameObject referenciado. Esta está

determinada por una variable booleana, True o false, y determina si el GO es visible en la escena

o está desactivado.

Fig. 132 Scripting/Inspector: Variable pública Sol

Si el Target detectado por el algoritmo de Vuforia tiene el nombre mergeCube, se activará la

referencia de la variable Sol poniendo la variable del método SetActive() a true. Por el contrario,

cuando el Target deje de ser visible por la cámara de escena, se desactivará el contenido digital

poniendo la variable del método a false.

Fig. 133 Scripting/Inspector: Variable pública Sol

Página 79 de 135

Una vez guardados los cambios y referenciada la variable Sol como el GO Prefab Sol en el

Inspector, la aplicación final ya está creada y configurada: Un Sistema Solar en realidad

aumentada a través de marcadores con Unity y Vuforia.

Fig. 134 Sistema Solar AR Windows: No Enable video background

Fig. 135 Sistema Solar AR Android: Enable video background

Página 80 de 135

4.2.2 Caso de estudio marcadores single y GUI: Química en AR

INTRODUCCIÓN

En este caso de estudio se propone una actividad para conocer los compuestos químicos básicos

y su formulación sistemática, aplicando el aprendizaje basado en juegos. Como elementos de

estos se utilizan un formato de desarrollo en forma de puzle, un contador de tiempo y un

ranking.

La propuesta consiste en una actividad grupal y colaborativa, en la que los diferentes integrantes

deben de formar las fórmulas de los compuestos químicos básicos, que se corresponden con los

marcadores destinados a la Realidad aumentada.

Fig. 136 Conjunto de piezas para formar los marcadores

Los destinatarios de la actividad no dispondrán de las fórmulas establecidas en los targets si no

de los elementos químicos de los que se componen (Fig. 136) . Cuando encuentren la fórmula

pedida por la interfaz y Vuforia reconozca el marcador, colocará el contenido digital creado y

mostrará al usuario el siguiente compuesto a adivinar. Los participantes deben formar cada uno

de los targets que va mostrando la interfaz en el menor tiempo posible para situarse así en lo

alto del ranking.

Los conceptos lúdicos y tecnológicos que trata en el proyecto son:

• Compuestos químicos básicos y sus moléculas.

• Tipos de formulación para los compuestos químicos.

• Creación de bases de datos de marcadores en Vuforia.

• Emplazamiento de contenido virtual en los targets.

• Creación de elementos UI y contadores.

• Configuración del comportamiento de los Targets vía Scripting.

VUFORIA

Hay que añadir 6 single target a la base de datos de Vuforia en el portal de desarrolladores. Cada

uno de ellos se corresponden con las fórmulas de los compuestos químicos más comunes. Es

necesario tener en cuenta el tamaño de los marcadores, ya que hay elementos compartidos

entre las fórmulas y hay que tener en cuenta la relación de aspecto del marcador para

reutilizarlo.

Página 81 de 135

Fig. 137 Base de datos formulas_quimicas

Una vez realizado el paso anterior, podemos descargar la base de datos con los marcadores para

utilizarlos en Unity.

UNITY

El proyecto de Unity debe configurarse como se indica en el punto tal para que Vuforia Engine

esté disponible, y se puedan utilizar los GameObject de Vuforia.

En primer lugar, es necesario borrar la cámara por defecto de Unity y añadir al proyecto una

cámara adecuada para la realidad aumentada. Para ello se utiliza la AR camera de los GO de

Vuforia. En este momento, es necesario introducir la licencia en la configuración de Vuforia

Se añade un GO Image de Vuforia para cada target y configuramos la base de datos y el nombre

cada uno de ellos:

Fig. 138 Single Targets : formulas químicas

Se añade como contenido digital un plano y las moléculas que componen cada compuesto a

través de GameObjects primitivos para cada Target. Cada plano tiene un GameObject Text para

digitalizar el nombre del compuesto en forma común y en forma sistemática.

Página 82 de 135

Fig. 139 single Targets : Planos digitales

Fig. 140 Contenido digital: moléculas químicas

Una vez configurados los targets y añadido el contenido digital, se crea la interfaz de usuario.

Como se ha comentado, los elementos UI estarán dentro del GameObject Canvas. Estos

elementos constan de tres paneles, dos botones y elementos UI de texto.

El panel principal (PanelFondo GO) es el que se muestra al entrar en modo juego y contiene un

GO Text para el título y un botón para comenzar. A través de la propiedad Source image se le ha

añadido una imagen para el fondo, la cual debe estar configurada con Texture Type 2DSprite,

indicada para las IU. Como se puede apreciar en la siguiente Figura, en este caso se ha utilizado

una imagen con formato png que permite entre ver en el inicio el entorno del usuario.

Fig. 141 Interfaz principal Química en Realidad Aumentada

Página 83 de 135

En la Jerarquía hay dos paneles desactivados por defecto dedicados al tiempo y el compuesto a

reconocer. El botón Start del panel principal está destinado a comenzar la actividad activando

estos paneles y desactivando el panel principal.

Las funciones de los botones se establecen en la función On Click () de cada uno de ellos. Para

esto se referencian los tres paneles para activarlos o desactivarlos según estemos en la ventana

principal o en la de reconocimiento, lo mismo que se hace con los botones. Esto se realiza

llamando al método SetActive del GameObject referenciado.

Fig. 143 OnClick() Button Start

El botón salir del panel reinicia el contador de tiempo llamando al método reset de la clase

temporizador.

Este contador se realiza con una variable float que cuenta el tiempo que transcurre en cada

frame (Update()). Para mostrarla al usuario es necesario tener una pública que debe

referenciarse en el Inspector, con el GameObject Text hijo del panel tiempo.

Para usar los elementos UI en scripting es necesario usar UnityEngine.UI. El contador es

numérico y necesita asignarse a una variable de texto del Cavas, por tanto, es necesario

convertirla a string antes de asignarla.

Fig. 144 Script temporizador

Fig. 142 OnClick() Button Exit

Página 84 de 135

Para controlar el texto del panel del compuesto químico se utiliza el script por defecto que

ofrecen los marcadores. En este se configura la actividad: El texto de inicio determina el primer

target a detectar, y cuando este sea reconocido por la cámara AR, se establece el texto del

siguiente compuesto que el usuario debe de formar con las piezas.

Fig. 145 Interfaz de reconocimiento de Targets Química

A través de dos variables públicas se referencia el contenido digital, es decir, el plano con una

imagen y su nombre formulado, y el texto del compuesto en la interfaz.

Fig. 146 Química AR: variables públicas

Cuando Vuforia detecta un target (Fig. 147) se le impone una condición: que el nombre del

target detectado sea el del nombre del marcador requerido y el texto del compuesto sea el

definido en el componente de texto de la interfaz. Cuando esto sucede, se llama al método

SetActive() del GO plano para hacerlo visible tanto él como a sus hijos encima del marcador,

mezclando así información digital con información real. Además, se establece el siguiente

compuesto a detectar en el panel de la interfaz.

Aunque solo hay una variable plano, cada target tiene el componente script, y por tanto en cada

uno de ellos debe referenciarse como variable pública el plano del compuesto deseado.

Cuando el target deja de ser detectado (Fig. 148), con las mismas condiciones se desactivan

dichos planos, poniendo la variable del método SetActive() a false, pero el texto de la interfaz se

deja activo en la escena junto con el tiempo.

Página 85 de 135

Fig. 147 Método OnTrackingFound()

Fig. 148 Método TrackingLost() formulas

Cuando se detectan todos los compuestos propuestos , se recoge en un fichero las marcas de

tiempo de los equipos y se establece el ranking.

Página 86 de 135

Fig. 149 Actividad química: Renderizado de contenido digital

Página 87 de 135

4.2.3 Caso de estudio marcadores single y multi: Ciencias naturales primaria

INTRODUCCIÓN

Este caso de estudio es un claro ejemplo de la implementación de las TIC en la docencia para

alejar los métodos convencionales e introducir un nuevo atractivo en el aprendizaje. El fin es

aprender los mismos conceptos, pero a través de la Realidad Aumentada para llamar la atención

de los niños y niñas, intentando así que realicen un aprendizaje en primera persona haciéndoles

que interactúen tanto con los datos digitales como con los físicos.

Está dedicado a las ciencias naturales y se centra en la clasificación de los animales según su

alimentación. El ejemplo teórico seleccionado se muestra en la siguiente figura el cual pertenece

a una actividad de un libro de ciencias naturales de segundo de primaria.

Fig. 150 Ejemplo ejercicio teórico libro de 2º de primaria

El presente caso de estudio puede ser utilizado de diversas formas: puede orientarse para la

educación primaria haciendo una exhibición de la actividad virtualizada o incrementar su

complejidad para niveles de Secundaria realizando su estructura completamente.

Los conceptos lúdicos y tecnológicos que trata en el proyecto son:

• Integración de las TIC en la enseñanza convencional.

• Clasificación de los animales según su alimentación.

• Creación de bases de datos y marcadores con Vuforia para realidad aumentada.

• Adicción de contenido digital 2D y 3D a los marcadores.

• Comportamiento de la actividad vía Scripting.

VUFORIA

Se crea una base de datos con 3 single Targets en el portal de desarrolladores para cada

clasificador y se descarga en Unity. Además de esta nueva base de datos, también se utiliza la

del marcador comercial mergeCube.

Página 88 de 135

5 Base de datos: Animales

UNITY

Para comenzar a implementar el proyecto, se añadirán a la escena tanto los GameObjects single

target como el MultiTarget como se muestra en la siguiente figura:

Fig. 151 Distribución de marcadores en la escena

En casos de estudio anteriores, la configuración de los marcadores se realizaba de una forma

automática ya que sólo existían marcadores provenientes de una sola base de datos, pero en

este caso es necesario tener presente dicha configuración para realizar una correcta referencia

vía script de los marcadores.

Fig. 152 Diferentes bases de datos empleadas

Página 89 de 135

Una vez configuradas las bases de datos, se puede añadir contenido digital a la escena:

La primera interacción se realiza a través del MultiTarget donde cada cara del cubo corresponde

a un plano con una imagen de un animal. Para realizar un aumento de información

tridimensional, se han descargado Asset prefabricados de la tienda de Unity con Prefabs de los

animales, los cuales se posicionan de acuerdo a las imágenes sobre las caras del MultiTarget.

Estos modelos 3D estarán desactivados en la escena por defecto.

Fig. 153 Contenido digital 2D en el MultiTarget

Fig. 154 Contenido digital 3D en el MultiTarget

Fig. 155 Comparación del contenido digital MultiTarget

Página 90 de 135

Las siguientes interacciones se configuran vía script de acuerdo con la interacción del usuario

con la aplicación. Para ello se usa el Script que Vuforia ofrece por defecto donde se definen las

variables públicas para referenciar los modelos 3D de los animales y hacer que estos aparezcan

alrededor del MultiTarget acorde al marcador clasificador utilizado.

Esta activación se hace mediante el método SetActive del GameObject. Cuando los marcadores

sean reconocidos por el SDK de Vuforia (OnTrackingFound()) la variable del método mencionado

se pondrá a true para activar los GameObjects que pertenezcan a ese clasificador. De forma

opuesta, cuando deje de ser reconocido (OnTrackingLost()), la variable será false, y estos estarán

inactivos de nuevo.

Al igual que ocurre con las bases de datos, es necesario referenciar todos los modelos 3D de los

Assets en cada marcador ya que todos ellos tienen el script de configuración.

Fig. 157 Variables públicas visibles en el Inspector

Fig. 156 Método OnTrackingFound ()

Página 91 de 135

Por último, es necesario indicar en la configuración de Vuforia que como máximo el tracker

reconocerá en la escena dos targets de forma simultánea, y para ello es necesario indicarlo en

el parámetro Max Simultaneous Tracked de dicha configuración.

Fig. 158 Marcadores simultaneos en la escena

En las siguientes figuras se puede apreciar el funcionamiento de la actividad: Los alumnos deben

de interactuar y descubrir todos los animales del MultiTarget para luego comprobar cuales son

carnívoros herbívoros u omnívoros a través de los marcadores creados para este fin.

Fig. 159 Planos en las caras del MultiTarget

Fig. 160 Renderización de contenido 3D en el MultiTarget según marcadores Single

Página 92 de 135

4.2.4 Caso de estudio: Tracking a través de un laberinto AR

En este caso de estudio se detallan los pasos necesarios para realizar el proceso de aumento del

Prefab del Laberinto creado en el apartado 4.1.3. Esta información es contenido digital y se

necesita un referente cuando la cámara capta la escena. Utilizaremos el mismo marcador

MultiTarget que en casos anteriores, mergeCube.

Este caso de estudio puede formar parte de la gamificación del Laberinto, convirtiendo la parte

de Realidad Aumentada en una sesión formativa.

Además de todos los conceptos lúdicos y tecnológicos aplicados en el caso 4.1.3, se añaden los

siguiente:

• Funcionamiento de marcadores con Vuforia y Unity.

• Posicionamiento de contenido digital en AR.

• Materiales transparentes en Unity.

• Comprensión del concepto de Tracking.

VUFORIA

La base de datos de mergeCube ya ha sido creada en casos de estudios anteriores. El único paso

que realizar en Vuforia en este caso de estudio, es descargarla en Unity.

UNITY

Para poder reutilizar el Laberinto del caso de estudio 4.1.3, es necesario convertirlo previamente

en un Prefab, para que conserve su configuración y la de todos los elementos de juego.

Fig. 161 Jerarquía del Prefab del Laberinto con elementos para interactuar

Las únicas distinciones entre el laberinto de la sección anterior son:

• Se añade un material transparente que emula un cristal superior para que el jugador no

se salga de la estructura.

Página 93 de 135

Fig. 162 Detalle cristal transparente Laberinto

El valor alfa del color Albedo controla el nivel de transparencia del material. Esto sólo tiene un

efecto si el modo de renderizado para el material se establece en modo transparente, y no

Opaque. Es importante elegir el modo de transparencia correcto, ya que determina si seguirá

viendo o no reflexiones y reflejos. [36]

El Laberinto se coloca en la escena ubicado en una cara del marcador. En este caso, el jugador

no se controla vía Scripting, ya que su movimiento queda determinado por el tracking del

marcador.

Fig. 163 Laberinto en MultiTarget

Página 94 de 135

En las siguientes figuras se puede apreciar el resultado final: Se ha construido un laberinto apto

para la Realidad aumentada, que puede moverse y cuyo movimiento del jugador es

determinado por la orientación y posición del target.

Nos alejamos así de inputs físicos que podría limitarnos, y poder probar así la experiencia

simplemente con un visor y el target físico.

Fig. 164 Renderizado final laberinto AR: Vuforia Disable background

Fig. 165 Laberinto en Realidad aumentada

Página 95 de 135

4.2.5 Pasa palabra mujeres científicas

Las mujeres han contribuido notablemente a la ciencia y a la tecnología desde sus inicios, y para

contribuir a la difusión y divulgación de esta ardua tarea, se ha creado este caso de estudio con

el fin de poner de manifiesto esta gran contribución del género femenino y promocionar el

concepto de igualdad en un ámbito estudiantil.

Coincidiendo con la adopción de los Objetivos de Desarrollo Sostenible (ODS), la Asamblea

General de las Naciones Unidas declaraba el 11 de febrero como el Día Internacional de la Mujer

y la Niña en la Ciencia, una forma de visibilizar el vínculo entre dos cuestiones claves y

transversales en la nueva agenda global. Por un lado, la consecución de la igualdad de género

en todos los ámbitos, plasmado en el ODS 5, y, por otro la ciencia, la tecnología y la innovación

como uno de los motores de desarrollo sostenible. Se reconocía así que la exclusión o la falta de

participación en condiciones de igualdad de las mujeres en las comunidades científica y

tecnológica (ya sea como creadoras, tomadoras de decisiones o usuarias) suponen un lastre

importante para conseguir gran parte de los objetivos y metas de la agenda 2030. [37]

Ocasionalmente, las instituciones suelen realizar jornadas para la sensibilización de esta causa y

hay multitud de actividades, revistas, talleres… que los divulgadores utilizan para mostrarle a los

más jóvenes posibles referentes que no hubieran conocido de otra forma.

Este caso de estudio está basado en dos recursos educativos sobre este ámbito ya propuestos,

que se han unificado en una misma plataforma y han sido modificadas por medio de las TIC para

aplicar el aprendizaje basado en juegos:

• El primer recurso es un cómic creado por la ilustradora Raquel García Ulldemolins con la

colaboración de la Unidad de Igualdad de la Universidad de Sevilla , en la que se plasma la

obra de teatro: Científicas: pasado, presente y futuro ideada por Francisco Vega. Esta trata

entre otros la historia de mujeres que han aportado grandes avances a la ciencia y la

tecnología como son Ada Lovelace, Hipatia de Alejandría, Marie Curie, Rosalind Franklin y

Hedy Lamarr.

Fig. 166 Científicas el cómic

• El segundo recurso es una de las actividades propuestas al final del cómic, un juego tipo

«pasapalabra» con preguntas las científicas de las que acaban de leer.

Para unificarlos en la misma plataforma se ha creado una aplicación que es manejada a través

de una interfaz gráfica y sus elementos, donde el usuario puede interactuar con esta y elegir de

que científica quiere aprender. El segundo recurso ha sido gamificado a través de la realidad

aumentada y la adicción de los elementos de juego que lo caracterizan

Página 96 de 135

Los conceptos lúdicos y tecnológicos que trata en el proyecto son:

• Concienciación de la ardua labor y aportación de grandes referentes femeninos en la

ciencia e ingeniería.

• Gamificación de la actividad a través de la Realidad aumentada.

• Creación de interfaces de usuario para la ponencia teórica.

• Componentes de interacción para la gestión y operatividad de la interfaz.

• Parentesco en Unity

• Implementar un juego para afianzar los conceptos teóricos y aplicar el aprendizaje

basado en juegos.

INTERFAZ UNITY

En este caso de estudio la configuración de importación de los materiales es muy importante.

En el proyecto se utilizan imágenes importadas como Default para aplicar cualquier fondo a una

figura, Sprite 2D para interfaces de usuario y Normal map para texturas.

Fig. 167 Tipo de textura Sprite [2D and UI]

Para comenzar el caso de estudio, se crea los GameObject tipo Panel que se utilizan para el

desarrollo de la aplicación:

• El Panel principal es utilizado para dar la bienvenida al usuario, y mostrarle las opciones

disponibles que tiene.

• El Panel menú comic contiene los elementos teóricos en formato cómic acerca de la

historia de Hipatía de Alejandría, Hedy Lamarr, Ada Lovelace, Marie Curie y Rosalind

Franklin.

• El Panel – AR se encarga de activar la cámara de realidad aumentada para comenzar la

actividad práctica.

Fig. 168 Paneles de la escena

Página 97 de 135

Panel principal

Hacemos uso de los paneles para crear los diferentes fondos de las secciones de la actividad y

hacer que actúen como GameObject padre de los elementos de cada sección. Cada uno de ellos

tiene un componente Image para darle la apariencia que queramos, utilizando como se ha

mencionado imágenes con textura Sprite 2D

Fig. 169 GameObject Panel en Unity

Para mostrar el título se utiliza un GameObject Text, y para interactuar con la interfaz una serie

de botones. Dos de ellos están ubicado en un subpanel interno y están dedicados a publicitar la

UPCT y la ETSIT. Los otros dos determinan la siguiente acción a realizar por el usuario:

Fig. 170 Elementos UI del Panel Principal / Panel hijo enlaces UPCT - ETSIT

Para ubicar los elementos UI se utiliza su Rect Transform y los Anchors. Con estos últimos

podemos “anclar” cada elemento a una posición de la pantalla, para que la renderización se

adapte a cualquier tamaño y resolución, por eso, las siguientes capturas del caso pueden variar

en cierta medida a su relación de posicionamiento. En la siguiente figura se muestra la interfaz

principal inicial a la que se ha añadido una imagen ilustrativa.

Página 98 de 135

Fig. 171 Modificación de la apariencia de la escena

Los botones son componentes de interacción, y por tanto debe definirse su comportamiento

para que realicen la función deseada.

Por un lado, la funcionalidad del subpanel para los logos de la universidad, reside en la creación

a través de scripting de hiperenlaces a sus correspondientes páginas web.

Esto se lleva a cabo mediante la llamada al método OpenURL de la aplicación, cuyo argumento

debe ser la URL que se quiere hiperenlazar, en este caso https://upct. Es/ y http:/teleco.upct.es

Fig. 172 Script para enlaces web

Con la información descrita, deberíamos tener 2 script que abren dichas URL y cada uno de ellos

debe estar referenciado a su correspondiente botón en su propio método On Click () como se

muestra en la siguiente figura.

Página 99 de 135

Fig. 173 Inspector: Script para enlaces web

Los otros dos botones restantes se utilizan para cambiar entre paneles:

El botón científicas: se activa el panel teórico de la actividad. Para llevar a cabo esta función se

utiliza el método SetActive de los GameObjects Paneles, desactivándolos todos y habilitando

solamente el panel para los cómics.

Fig. 174 Botón para el Panel del cómic

El botón pasapalabra: cambia el panel principal por el panel con la actividad práctica. Igual que

en el caso anterior, se desactivan todos y solo se deja habilitado el panel del juego.

Fig. 175 Botón para el Panel AR

Página 100 de 135

Panel menú comic

Este panel sirve para alojar los contenidos teóricos de la actividad que consta de :

• Un botón para volver al menú principal

Fig. 176 Botón salir menú principal

• 5 botones para poder elegir sobre que científica queremos investigar que se describen más adelante.

Fig. 177 Panel del cómic

A cada mujer científica se le asignan 4 paneles: Estos están destinado a mostrar las 4 hojas del

cómic indicado en la introducción, que se han pasado a formato imagen y se han importado

como Asset Sprite 2D en la ventana de proyecto.

Fig. 178 Distribución en la jerarquía de los paneles y Assets para los comic

Página 101 de 135

Es importante destacar la importancia del parentesco en este caso de estudio. A través de los

botones se van desactivando y activando paneles, y, por ende, también se activan y desactivan

sus GameObjects hijos.

Para esta sección se crean 20 paneles nuevos, y puede resultar confuso manejar tantos

GameObjects a la vez, por ello como cada científica tiene 4 paneles y todos tienen la misma

distribución, se crean 4 paneles, y cuando se le asigna la funcionalidad, se duplican, se asignan

el material de la imagen y se renombran para las lograr los otros 16.

Fig. 179 Distribución inicial para cada cómic

Todos los paneles tienen una imagen destinada a la página del cómic, un botón que permite al

usuario volver al menú de las científicas, y dependiendo de la página observada, botones para

avanzar o retroceder en el cómic.

Los paneles están clasificados del 0 al 3, siendo el cero padre de todos los otros. Cuando nos

encontramos en la primera página (Fig 177) y queremos avanzar al siguiente, es necesario

indicarlo en el método OnClick del botón inferior derecho. En las siguientes capturas se

muestran las transiciones entre paneles que se realizan para Hipatia.

Fig. 180 Método OnClick botón avanzar en el Panel 0 y retroceder en el Panel 2 (activar página 1)

Fig. 181 Método OnClick botón avanzaren el Panel 1 y Retroceder en el Panel 3 (activar página 2)

Página 102 de 135

Fig. 182 Método avanzar en el panel 2 (activar página 3)

Para configurar el botón de salida al menú de selección de cómic de las científicas, es necesario

destacar que depende del cómic seleccionado. Por ejemplo, la Fig se muestra el método OnClick

del botón salir para el cómic de Hedy Lamarr. Como anteriormente se ha hecho, se activa el

panel deseado y se desactivan los demás, pero es necesario destacar que debe añadirse el Panel

padre dedicado a cada cómic para que se desactiven todas las “páginas” hijas.

Fig. 183 Botón salir del cómic de Hedy

Una vez configurados los botones de estos 4 paneles que sirven como ejemplo para una

científica, se duplica el Panel padre 4 veces más para conseguir 5 conjuntos. Una vez realizado

esto, se procede a renombrar los GameObject para asociarlos con la científica que les

corresponde, a insertar los Asset en las imágenes de los paneles y a referenciar los GameObjects

renombrados en los métodos OnClick() de sus botones.

Página 103 de 135

Este tipo de actividades suelen usarse en para hacerlas de forma grupal y colaborativamente.

Un usuario suele hacer solamente un cómic, y agrupándolos en conjunto con sus

compañeros/as, logran construir el libro de cómics de las mujeres científicas.

Fig. 184 Cómic Hipatia: Panel 0, 1, 2, 3

Fig. 185 Comic Hedy Lamarr: Panel 0, 1, 2,3

Fig. 186 Cómic Rosalind Franklin: Panel 0, 1, 2, 3

Fig. 187 Cómic Curie: Panel 0, 1, 2, 3

Fig. 188 Cómic Ada Lovelace: Panel 0, 1, 2, 3

Página 104 de 135

Como se ha dicho al principio de la explicación de este panel, hay 5 botones para poder elegir

sobre que científica queremos investigar. El comportamiento del botón será determinado por la

acción del usuario y consiste en nuevo en activar y desactivar los GameObjects convenientes.

A la hora de hacer estos botones, es necesario tener en cuenta que los GameObjects

pertenecientes a los cómics, son hijos de este panel y, por tanto, cuando queramos añadirle la

funcionalidad deberá estar activo junto con el Panel de la científica seleccionada.

Fig. 189 Button Hipatia: interacción para el cómic

Finalmente, tras la adicción de una imagen, el panel y sus funcionalidades quedarían completas.

Fig. Panel Científicas: El comic

Página 105 de 135

Panel AR

Una vez que se realiza el cómic, es hora de demostrar si realmente se han adquirido los

conceptos de aprendizaje deseados.

Para ello se recurre al aprendizaje basado en juegos, y se reconstruye un juego tipo pasapalabra

en formato de diapositivas a un método que proporcione más interacción y atractivo visual a

través de las tecnologías virtuales: Un pasapalabra en Realidad Aumentada.

Tras la lectura del cómic se propondrán las siguientes preguntas, cuya respuesta estaba

contenida en estos:

Letra Respuesta Enunciado

A Ada Nombre de pila de la primera programadora de la historia

B Babbage Constructor de la máquina analítica que usa Ada Lovelace

C Curie Apellido de la científica que inventó la palabra ‘radioactividad’

D Dalila Personaje cinematográfico que hizo famosa a Hedy Lamarr

E Espectro

ensanchado Invento de Hedy Lamarr para conexiones seguras

F Francia País de adopción de Marie Curie

G Genética Rama de la Ciencia que revolucionó la foto 51 de Rosalind

H Hipatia Nombre de la primera mujer científica de la historia

I Inglaterra País de nacimiento de Ada Lovelace y Rosalind Franklin

J Contiene

Alejandría Ciudad de nacimiento de Hipatia

K Contiene Franklin

Apellido de la gran cristalógrafa que hizo la foto 51

L Lamarr Apellido de actriz que inventó ‘la primera wifi’

M Marie Nombre de pila de la científica que descubrió el Radio

N Nobel Nombre de los premios más prestigiosos del mundo. Marie Curie tiene

2

O Orlando Ciudad en la que vivió hasta su muerte Hedy Lamarr

P Polonio Elemento químico que descubrió Marie Curie y le puso un nombre

parecido al de su país

Q Químicas Lo fueron Marie Curie y Rosalind Franklin

R Rosalind Nombre de la primera científica que describió el virus de la polio

S Sorbona Universidad francesa en la que trabajó Marie Curie

T Teón Padre de Hipatia

U Uranio Elemento químico que sirvió a Marie Curie para descubrir la

radioactividad

V Viena Ciudad donde nació Hedy Lamarr

W WiFi Invento que se desarrolló a partir de la patente de Hedy Lamarr

X Rayos X Rayos que ayudaron a Rosalind Franklin a estudiar el carbón

Y Contiene

Byron Apellido del padre de Ada, gran poeta inglés

Tabla 5 Preguntas pasapalabra

Para implementar el juego se utilizará este Panel AR, cuya peculiaridad con los anteriores es que,

al activarlo con el botón de panel principal, también activa la cámara AR.

Página 106 de 135

Este panel posee un botón para comenzar la actividad, un tiempo inicial y un botón para salir al

menú principal.

Fig. 190 Panel AR inicial

Cuando el botón GO es pulsado, este mismo se desactiva y se muestra el panel destinado a las

preguntas y respuestas predefinidas. Cuando esto pasa, un contador descendente definido vía

scripting y referenciado al texto de la imagen del tiempo, comienza a ejecutarse.

Fig. 191 Clase tiempo pasapalabra

Página 107 de 135

Fig. 192 Método OnClick() Botón Go

Se crea un Panel que contiene un gameobject text para el enunciado de las preguntas, las cuales

están definidas vía Scripting y también dos botones que activa el botón GO junto con el rosco.

Fig. 193 Panel AR cuando se pulsa GO

Cuando el usuario interactúa con la aplicación, determina la reacción de la interfaz: Si la

pregunta es correcta, la letra objetivo es sombreada de verde y si no lo es, es sombreada de

rojo.

Fig. 194 Visualización pasapalabra

Página 108 de 135

5 CONCLUSIONES

Llegados a este punto se ha cumplido el objetivo principal del proyecto: La evaluación de las tecnologías virtuales como recurso para la divulgación científica. Dada la situación excepcional ocasionada por la pandemia sanitaria del covid19, se ha tenido que adaptar la evaluación original que se pensaba realizar. Originalmente se pretendía realizar un estudio con la recogida de datos empíricos obtenidos de los participantes de varios talleres y su posterior análisis. Pero dada la imposibilidad de realizar dichos talleres se ha optado por realizar el trabajo aquí presentado. Para cumplir por tanto con el objetivo inicial, se ha realizado un estudio en profundad de las tecnologías virtuales existentes y se han propuesto un conjunto de actividades, que pueden ser auto formativas, y totalmente accesibles. Estas actividades abarcan los contenidos conceptuales propios de las tecnologías de estudio, así como conceptos propios de las diferentes materias seleccionadas para los casos de estudio (química, astronomía, ciencias naturales, etc.). Estas actividades propuestas permiten adquirir un conocimiento de forma incremental y adaptable por niveles educativos, y siguiendo la gamificación como metodología docente. En definitiva, se proporciona un marco de trabajo para el desarrollo de actividades docentes auto formativa que instruye desde lo más básico a lo más complejo y se demuestra a través de los casos de estudio que puede ser usado para la divulgación científica y como recurso docente alternativo. Con la estructura marcada en el proyecto, un usuario no relacionado con las tecnologías digitales es capaz de conocer sus características básicas y la de los softwares utilizados para su creación.

A través del estado del arte, se cumple con dos de los subobjetivos marcados:

• Por un lado, se muestra la gamificación y el aprendizaje basado en juegos como un recurso para la divulgación. Se pone de manifiesto las ventajas de utilizar las tecnologías virtuales en actividades docentes y como estas afectan de una forma positiva al aprendizaje, tanto en niveles primarios como en más profesionales.

• Por otro lado, se expone el marco teórico de las tecnologías virtuales. En esta sección se definen y se presenta su clasificación para ubicarlas en el espectro de la realidad. Además, se describen las características básicas de la AR y la VR, que tipos existen de cada una y como se produce su visionado a través de diferente hardware y software.

El subobjetivo de la accesibilidad se cumple utilizando potentes herramientas software que ofrecen una versión gratuita para desarrolladores, además de utilizar como plataformas destino dispositivos hardware de visualización que el usuario es posible que tenga en casa, como un PC, un smartphone o una Tablet.

Ya que la documentación de Unity y Vuforia son muy extensas y contienen información muy diversa, los conceptos y el funcionamiento básicos de dichos softwares se han recogido en dos anexos. Contienen todos los conceptos teóricos de los componentes utilizados en los casos de estudio, para poder adquirir una base previa a la creación de proyectos VR y AR y/o consultar conceptos durante la realización de dichos casos.

Esto último cumple otro de los subobjetivos: los casos de estudio implementados muestran de una forma más visual y práctica dentro de un proyecto Unity cómo funcionan esos componentes, pero, además extienden algunos más complejos, como pueden ser sistemas de partículas o animaciones, para profundizar aún más en el aprendizaje del motor de juego.

Todos los casos de estudio tienen un formato lúdico, ya sea como recurso docente alternativo para el aprendizaje de conceptos de diversas asignaturas como pueden ser la química, las

Página 109 de 135

ciencias naturales o la astronomía, o del propio motor de juego y sus SDKs. También se orientan como recurso orientado a la divulgación científica, con un tema tan sonado como es la igualdad de género o mostrando la transcendencia del paso de la mujer en la ciencia y la ingeniería.

Algunos de ellos son ideales para la gamificación y en otras se instaura el llamado aprendizaje basado en juegos, donde se introducen elementos propios de los juegos a la actividad, como tiempo, recompensas o rankings como vía de implicación, motivación y mejora del compromiso del estudiante hacia las actividades.

Asimismo, queda realizado un porfolio de actividades de distintos niveles y distintas temáticas utilizando las tecnologías virtuales.

Para finalizar esta sección, se plantean como trabajos futuros la implantación de los talleres propuestos y la recogida y análisis de datos de los participantes a los talleres, de manera que se demuestre empíricamente el alto alcance de estos recursos de divulgación y docencia.

Página 110 de 135

6 ANEXO I: Conceptos básicos Unity

6.1.1 Interfaz de Unity

Unity posee una interfaz muy intuitiva y amigable con el usuario. En este apartado se detalla la

funcionalidad de las ventanas principales [38] que la conforman y otras que pueden sernos de

gran utilidad. En la siguiente captura se puede observar una disposición personalizada de la

interfaz donde se aprecian las ventanas principales.

Fig. 195 Ventanas principales Unity

En la ventana de Jerarquía [39] se muestran todos los

GameObjects de la escena de un modo jerárquico, ya sean

Assets o Prefabs. Por defecto, los GameObjects están

dispuestos conforme se crean, pero pueden reordenarse o

utilizar la característica de parentesco que ofrece Unity.

Esta permite crear objetos padre y objetos hijo, haciendo

a estos últimos dependientes de su respectivo objeto

padre. Los objetos hijos heredan el movimiento y rotación

del objeto padre y pueden ser muy útiles para hacer

agrupaciones de GameObjects. Este tipo de parentesco

puede ser simple, donde un GameObject tiene unos

determinados hijos, o transitivo, determinados hijos

actúan como padre de otros hijos.

La barra de herramientas [40] es una parte de la interfaz

no reajustable. En ella se encuentra el Transform Tool, los

toggles del Gizmo y los controles de reproducción de

escena. El Transform Tool contiene las herramientas

básicas para gestionar y modificar los elementos de la

escena. Sirven para posicionar GameObjects, rotarlos o

escalarlos en dicha vista. Fig. 196 Parentesco en Unity

Página 111 de 135

Fig. 197 Barra de Herramientas: Detalle Transform Tools

Además, dispone de otros botones que dan acceso a los servicios de Unity Cloud y cuenta de

Unity, un menú Layers para la visibilidad por capas y un menú Layout para fijar diseños

alternativos de la interfaz.

La ventana de proyecto [41] muestra todos los Assets y Prefabs que están disponibles para ser

usados en el proyecto. Dispone de un buscador y una estructura de carpetas para navegar entre

ellos, además de varias funciones que permiten hacer un filtrado más preciso por tipo, etiqueta

o favoritos. Asimismo, se indica a través de diferentes iconos el tipo de GameObjects al que

pertenece cada Asset. También es posible realizar la búsqueda de Assets en el Asset store (del

que se hablará más adelante) a través de esta ventana.

Fig. 198 Ventana de proyecto Unity

La ventana de inspector [42] presenta las propiedades y componentes del GameObject

seleccionado o los ajustes de importación de Assets. Si se seleccionan varios GO, se muestran

solamente las propiedades o componentes comunes.

La vista de escena [43] proporciona una navegación visual para editar y gestionar la escena.

Asimismo, muestra una previsualización de la vista de juego. Esta ventana incluye el Gizmo de

escena [44] que muestra la orientación actual de la cámara y permite modificar el ángulo de

visión y el modo de proyección.

- Los brazos cónicos del Gizmo ajustan la vista de la cámara de escena al eje que representa. Para activar o desactivar la perspectiva, basta con presionar encima del cubo interior. Esta última opción es muy útil cuando se están desarrollando aplicaciones en 2D o interfaces de usuario. Además, Unity facilita la visualización de planos básicos a través de un menú que se muestra al presionar con el botón derecho encima del Gizmo.

Página 112 de 135

La vista de juego [45] representa la renderización final de la escena, es decir, como quedaría

la visualización final de la aplicación vista desde la cámara. Para iniciar el modo de juego, se

utiliza los controles de reproducción de la barra de herramientas. Es necesario tener en cuenta

que al entrar en modo Play, se pueden realizar cambios de las propiedades en el inspector, pero

cualquiera de ellos es temporal y todos ellos se revertirán al salir de este modo. Es destacable

mencionar que no es posible entrar en este modo si existen errores críticos en el proyecto.

Fig. 201 Vista de escena con previsualización y vista de juego

La ventana de consola [46] muestra registros de mensajes, advertencias y errores. En el

proyecto se utilizará con el fin de depurar el código y mostrar por consola cualquier dato que

nos pueda ser útil. Para ello se hace uso de la función Debug.Log en los scripts.

Fig. 202 Vista de la ventana consola

Fig. 200 Menú Gizmo de planos básicos Fig. 199 Vista de escena y previsualización vista de juego

Página 113 de 135

El Asset store es una biblioteca de assets gratuitos y comerciales creados por Unity Technologies

y también por miembros de la comunidad. Permite descargar e importar Assets directamente

en el proyecto. Dispone de un buscador y diferentes filtros para encontrar multitud de Asset,

tanto simples, como una textura, o tan complejos como podría ser un proyecto completo.

Fig. 203 Ventana Asset Store Unity

La interfaz predeterminada está formada por las ventanas

principales, sin embargo, estas y otras ventanas están

disponibles a través del menú Window de Unity [47]. Las

ventanas principales anteriormente mencionadas se

encuentran en la sección General.

Unity dispone de ventanas para animar GameObjects en la

escena. Con la ventana animación [48] es posible crear y

modificar clips a través de una línea temporal y gestionar los

correspondientes eventos de la animación.

La sección de rendering está destinada a la gestión de los

ajustes de iluminación y luces de la escena, y a la oclusión de

GameObjects durante la renderización. Está característica

desactiva el renderizado de GameObjects cuando son ocluidos

por otros, es decir, cuando no están visibles por la cámara de la

escena. Estas ventanas sirven para aumentar el rendimiento

durante el renderizado y disminuir las peticiones de

renderizado o draw-calls.

En la sección de Analysis destaca la ventana Profiler [49]puede ser destinada a investigar y

encontrar cuellos de botella en la línea de tiempo del renderizado. Dispone de características

que permiten analizar el rendimiento de la GPU, CPU, memoria y audio entre otros. Es útil para

saber que recursos se destinan a cada parte de la escena y si es necesario modificarlos para el

correcto funcionamiento en tiempo de ejecución (Evitar cortes de fluidez, tiempo destinado al

inicio…)

Fig. 204 Menú Window Unity

Página 114 de 135

6.1.2 Terminología de Unity: Asset, GameObject, Componentes, Prefab.

Un Asset es una representación de cualquier item que puede ser utilizado en el proyecto.

Pueden ser imágenes, animaciones, audios... creados dentro de Unity o desde otro software

como pueden ser achivos de modelo CAD. Para importar un Asset puede utilizarse el menú de

Unity Assets o arrastrarlos directamente a la ventana de proyecto. Cada tipo de Asset admitido

por Untiy tiene unas configuraciones de importación distintas que se mostrarán en el inspector.

Unity pone a disposición del usuario los Standar Assets[50], que son colecciones de archivos y

datos de proyectos complejos ampliamente utilizados, y muy útil a la hora de la creación de

escenas.

Fig. 205 Inspector: Tipos de GO y GO primitivos

Por otra parte, cada objeto en la escena de juego, y por tanto en la ventana de Jerarquía, es un

GameObject. [51]

Estos tienen una naturaleza muy diversa y pueden ser de diferentes tipos según su utilidad. Se

crean en la ventana de la jerarquía o desde el menú GameObject de Unity.

Los denominados GameObject primitivos[52] son representaciones virtuales de geometrías

básicas cuya utilización puede ser muy favorable a la hora de crear la escena. Se encuentran en

la sección 3D Object y pueden ser tan útiles como podría ser un cubo, una esfera o una cápsula

a la hora de crear paredes, planetas o colisionadores.

Cada GO tiene un nombre específico y es posible asignarle una etiqueta, un layer y/o iconos

personalizados que se mostraran en la vista de escena. Un tag o etiqueta [53] es una palabra

de referencia que se asigna a un GO para ayudar a su identificación. Pueden usarse los

predeterminados o crear tags personalizados.

Los GameObjects tienen una casilla de verificación para activar o desactivar su visibilidad en

dicha vista [54]. Es importante tener en cuenta que, si se desactiva un objeto padre, también se

desactivarán todos sus parientes. También puede marcarse como estáticos para indicarle a Unity

que esto GO no se moverán en tiempo de ejecución.

Los GameObjects no son capaces de hacer nada por si mismos si no se le asignan propiedades a

través de componentes [55]. Un GO siempre tiene un componente Transform [56] y no es

posible quitarlo. Este componente determina la posición, rotación y escala del GO dentro del

Página 115 de 135

espacio de juego. Para cambiar el valor de dichas propiedades, podemos desplazar los ejes del

componente, o modificar el panel derecho. Ambos hacen lo mismo, aunque el panel

proporciona más precisión en las unidades, lo que mejora la renderización.

Fig. 206 Detalle componente Transform

- La posición se mide en unidades de longitud. Por defecto, el motor de física asume que una unidad del espacio del mundo corresponde a un metro.

- La rotación se mide en ángulos de Euler y cuaternios, pero utilizaremos la primera opción. Es útil ubicar el GameObject “padre” de otros elementos hijos, en el origen de coordenadas (0,0,0) para que a la hora de incorporárselos sean concéntricos, comprobando así que los elementos hijos están posicionados correctamente.

- El escalado es una proporción. Si cambiamos el escalado de un objeto padre, se ha de tener en cuenta que el de los elementos hijos también lo hará. Debe evitarse el escalado no uniforme ya que reduce la velocidad de la renderización gráfica, aunque suele utilizarse bastante.

Los componentes tienen propiedades reajustables que pueden ser referencias o valores.[57]

- Los valores son cajas de texto, desplegables o casillas de verificación que nos ayudan a personalizar el GameObject seleccionado.

- Las referencias son asignadas arrastrando un GameObject a la propiedad o utilizando el “Object picker” a la derecha, que permite buscar entre los Asset disponibles del proyecto. Es decir, se referencia un GameObject, Asset u otro tipo de componente pertenecientes proyecto como propiedad.

Fig. 207 Propiedades por referencia y valor

Página 116 de 135

Es posible reutilizar un GO configurado de una manera particular convirtiéndolo en un

Prefab.[58] Unity proporciona el sistema Prefab que permite crear, configurar y almacenar un

GO completo como un Asset reutilizable. Además, proporciona un entorno de edición exclusivo

y permite mantener todas las copias sincronizadas, aunque es posible configurar ciertas

excepciones.

Fig. 208 Inspector: GO Asset Prefab con icono azul

Fig. 209 Detalle Prefab en la ventana de proyecto

Para crear un Prefab [59] hay que arrastrar un GO de la ventana de Jerarquía a proyecto, y, para

modificarlo es necesario abrirlo en modo Prefab[60]. Es relevante destacar que no se puede

eliminar un GO que sea parte de un Prefab.

Los Prefab son muy útiles cuando se requiere instanciar un GO en tiempo de ejecución que no

existían anteriormente en la escena.

Esta terminología es importarte ya que es básica en Unity y la utilizaremos a lo largo del

proyecto. A modo de resumen se puede concluir que:

- Un Asset es un archivo real alojado en el PC en la carpeta del proyecto. - Un GameObject es un Asset alojado en la escena, aparece en la Jerarquía y es parte del

entorno de juego. - Un GameObject actúa como una caja vacía para agregar componentes en los cuales

reside la funcionalidad. Esta se personalizará a través de propiedades. - Las propiedades pueden ser valores directamente ajustables o con la necesidad de

asignarle una referencia a un objeto (Ya sea un Asset, un GO o un Prefab) - Un Prefab actúa como plantilla de un GO con una configuración de componentes y

propiedades determinadas.

Página 117 de 135

6.1.3 Materiales y texturas

Los materiales y texturas se utilizan para definir la apariencia visual que tendrá el objeto tras la

renderización. Para realizar el renderizado de la escena, Unity distingue entre Materiales,

Shaders y Texturas:[61]

- El Shader utilizado determina que opciones están disponibles en un material, y es el encargado de realizar los cálculos para el renderizado, basándose en la iluminación y la configuración del material. Por defecto se establece un Shader Standard.[62]

- Los materiales definen como la superficie debe ser renderizada incluyendo referencias al Shader y define unos parámetros específicos para este.

- Las texturas son imágenes bitmap que representan otros aspectos del material como la rugosidad o relieve de la forma.

Es necesario destacar que se denomina Albedo al color básico de la superficie de un objeto. El

valor alfa del color controla el nivel de transparencia en el material, propiedad muy útil a la hora

de crear ventanas o cristales.

Se puede aplicar un solo color al Albedo, pero es más común referenciar un Asset. Para ello es

necesario descargarlo y realizar los ajustes necesarios en la importación de los archivos.

En el momento de buscar Assets de materiales y texturas en el navegador de Google, se ha

optado por elegir imágenes con licencia Creative Commons que permite a los usuarios utilizar

archivos protegidos por derecho de autor sin solicitar un permiso explícito.

Es recomendable crear una carpeta de Asset específica para los materiales que se utilizarán en

la escena. Se puede crear un material, en dicha ventana o en el menú Assets > Create > Material.

Unity muestra las opciones de importación de cada Asset en la ventana inspector cuando

cualquiera de estos está seleccionado. Esta configuración permite definir como Unity importa

un archivo.

Fig. 211 Inspector: Material – Albedo

Fig. 210 Detalle color Albedo

Página 118 de 135

6.1.4 Motor de física: Rigidbody, Collider y Triggers

Para conseguir que la escena se vea de una manera realista, los GameObjects deben acelerarse

correctamente y deben ser afectados por colisiones, gravedad y otras fuerzas. Para ello Unity

dispone de dos motores de física separados, uno para la física 2D y otro para la 3D.[63]

El componente que permite el comportamiento físico para un GO es el Rigidbody[64]. Cuando

un GO tiene un componente Rigidbody adjunto responde de una forma automática a la gravedad

y se le asigna una masa específica (por defecto 1kg). Este componente se mueve a través de

fuerzas.

Fig. 212 Unity: Componente Rigidbody

Si se configura como activa la propiedad Is Kinematic, Unity elimina el GO del motor de física,

por lo que no le afectarán colisiones o fuerzas, y posibilita que se mueva utilizando el Transform

desde Script. Aunque el motor de física no tenga en cuenta un Rigidbody Kinematic y no pueda

recibir fuerzas, estos si afectarán a otros objetos.

Con el fin de definir las formas de un objeto para

propósitos de colisiones físicas están los

denominados componentes Colliders [65]. Definen

una forma geométrica invisible que permitirá que

el GO sea movido por colisiones entrantes.

Para agregar un Collider a un GameObject no es

necesario tener un Rigidbody adjunto. Son los

denominados Static Colliders y se utilizan para

elementos que no se mueven en la escena ya que

no se mueven en respuesta a colisiones. En

contraposición, existen los Dynamic Collider donde

el GO tiene tanto un componente Collider como un

Rigidbody adjunto. En función de la configuración

del Rigidbody, se representa en el siguiente

diagrama como interactúan estos Colliders y por

tanto cuando se producen colisiones. Cuando esto

Fig. 213 Unity: Componentes Collider

Página 119 de 135

ocurre Unity llama a la función OnCollisionEnter ()[66].

Static Collider

GO sin Rigidbody No se mueven en respuesta a colisiones, pero interactúan con los dinámicos.

Dynamic Collider

GO con Rigidbody

Rigidbody Collider

No Kinematic

Reaccionan a colisiones y fuerzas. Se mueve a través de fuerzas. No aplica fricción.

Kinematic Rigidbody

Collider

Kinematic No responde a colisiones y fuerzas. Se mueve a través del Transform. Aplica fricción. Tabla 6 Tipos de Colliders

El motor de física de Unity asume que un GO se ha detenido cuando el Rigidbody no se mueve

una cantidad mínima. En este momento el GO se configura en modo “sleeping” y no se volverá

a mover hasta que no reciba una colisión o fuerza que lo “despierte”.

Un Collider con la propiedad Is Trigger Activa no se

comporta como un objeto sólido y permite a otros

Collider pasar a través de él. Con esta configuración es

necesario un Rigidbody adjunto para recibir eventos de

Trigger.

Se utiliza para detectar cuando un Collider entra en el

espacio de otro sin crear una colisión, y en este caso se

llama a la función OnTriggerEnter () [67].

Fig. 216 Entre que Colliders se producen Trigger

Fig. 214 Entre que Colliders se producen colisiones

Fig. 215 Unity: Componente Box Collider

Página 120 de 135

6.1.5 Audio e iluminación

Para aumentar el concepto de inmersión en la escena, en muchas ocasiones añadiremos

estímulos auditivos. Para sonorizar la escena Unity proporciona dos GO básicos que se muestran

en las siguientes capturas: Audio Source[68] y Audio Listener[69]

El componente Audio source actúa como una fuente de audio que reproduce un Audio Clip [70]

en la escena. Esta última es una propiedad por referencia al archivo de sonido que se reproduce.

Por defecto está marcada la propiedad destinada a que el Clip se reproduzca al entrar en modo

de juego, Play On Awake. Los formatos de archivos de audio que Unity puede importar son .aif,

.wav, .mp3, y .ogg.

Para reproducir el Clip, Audio Source hace uso del componente Audio Listener, que es el

encargado de reproducir el sonido en los altavoces. Este componente no tiene propiedades y

generalmente se ubica en la cámara principal.

Otra forma de introducir más realismo a la escena es mediante la iluminación. De forma

predeterminada, Unity coloca una Directional Light que ilumina todos los objetos de la escena,

pero existen otros recursos para diferentes alumbrados. En la siguiente tabla, se muestran los

tipos de Light [71] disponibles en el menú GameObject > Light.

Directional Light

Son fuentes distantes de luz que existen infinitamente lejos. Ilumina todos los objetos desde la misma dirección

Point Light Se encuentra en un punto del espacio y emite luz en todas las direcciones por igual.

Spotlight Tiene una posición específica, pero está limitado a un ángulo. Forma cónica.

Area Light Está definida por un rectángulo en el espacio que se emite en todas las direcciones por un solo lado del rectángulo.

Reflection Probe

Cámara de Unity que captura una vista esférica de sus alrededores en todas las direcciones.

Light Probe Group

Permite dentro de una escena capturar y almacenar información sobre la luz que pasa a través del espacio vacío.

Tabla 7 Tipos de GO Lights

Fig. 217 Unity: Componente Audio Listener

Fig. 218 Unity: Componente Audio Source

Página 121 de 135

6.1.6 Interfaz de usuario (UI)[72]

Una interfaz de usuario es un conjunto de controles que el usuario utiliza para interactuar con

la aplicación. Toda interfaz de usuario en Unity necesita un GameObject Canvas[73], que tendrá

que ser padre de los elementos UI de la escena. Si no se crea antes de crear otro elemento UI,

se crea automáticamente. Junto con este, se crea un objeto Event System que gestiona la UI y

ayuda en el sistema de mensajes.

Fig. 219 Elementos UI en Unity

El Canvas dispone de una propiedad Render Mode que permite elegir el renderizado para los

elementos UI.[74]

Screen Space – Overlay

El Canvas se muestra en la parte superior de la escena .

Screen Space – Camera

El Canvas se coloca a una distancia específica frente a la cámara.

World Space El Canvas se comporta como cualquier GO en la escena.

Tabla 8 Render Mode - canvas

Página 122 de 135

Unity ofrece los GameObject UI, componentes visuales y de interacción para la interfaz que se

pueden observar en la Figura superior. Todos ellos son elementos para interactuar con la GUI

de una forma distinta, pero tienen en común que utilizan un componente Rect Transform [75],

un diseño 2D del componente Transform. Este tiene las mismas propiedades que un Transform

tradicional y adicionalmente el ancho, la altura y un concepto llamado Anchors.

Los Anchors son tipos de anclaje para la esquina inferior izquierda y la esquina superior derecha

del rectángulo, referenciado a un punto de la interfaz u objeto. Unity pone a disposición de los

usuarios los Anchors preset, que son las opciones de anclajes más comunes, donde también se

indica la selección de Anchors actual.

Fig. 220 Componente Rect Transform

Las modificaciones del Rect Transform ocurren alrededor de un

pivote. Es posible moverlo cuando así se configura en la barra de

herramientas.

Un Canvas es un área rectangular, y por lo general se aplica una Image o Panel para obtener un

fondo. Para aplicar imágenes a los elementos UI es necesario que su tipo de textura sea UI

Sprites (2D/UI) .[76]

Los componentes elementos UI pueden dividirse entre componentes visuales [77] y

componentes de interacción[78]. Estos últimos tienen la propiedad Interactable para que el

sistema maneje la interacción como un input.

El elemento Button [79]es un claro ejemplo de componente de interacción, y además ofrece

una funcionalidad ampliamente utilizada: cuando el usuario pulsa el botón, se ejecuta la acción

implementada. Unity realiza este proceso llamando a la función OnClick () [80] del elemento.

Fig. 222 Elemento UI Button

Fig. 221 Toggles pivote Unity

Página 123 de 135

7 ANEXO II: Bases de datos de marcadores en

Vuforia

Cada aplicación creada con Vuforia necesita su propia clave de licencia, pero es posible tener la

misma licencia para una misma aplicación que vaya a ser construida en las diferentes

plataformas de destino admitidas.

Fig. 223 Añadir licencia Vuforia

Para adquirir las licencias de desarrollador, se debe acceder al administrador de licencias [81] a

través del portal web [27]y pulsar sobre Get Development Key.

Este proporciona herramientas y la información necesaria para crear y administras todas las

licencias de un mismo usuario .

Fig. 224 Vuforia: Administrador de licencias

Una base de datos es una infraestructura de almacenamiento para un conjunto de datos

estructurados que siguen un cierto esquema y, que por sí solos no aportan información, sino

que hay que procesarlos.

Vuforia pone a disposición del usuario en el portal web, un administrador para crear bases de

datos [82]. En este caso, los datos son targets y usaremos el administrador de Vuforia para

alojarlos, crearlos y gestionarlos.

Fig. 225 Vuforia: Administrador de Bases de datos

Página 124 de 135

Para crear una base de datos en Vuforia solo es necesario pulsar sobre Add Database y asignarle

un nombre.

Fig. 226 Crear base de datos Vuforia

Una vez creada, podemos comenzar a añadir targets. Un target o marcador representan

imágenes que el motor de Vuforia puede rastrear y detectar.

Estas imágenes deben tener extensión .png o .jpg para poder añadirlas a la base de datos de

Vuforia y, según la geometría del marcador pueden estar dispuestas en de diferentes maneras.

Fig. 227 Vuforia: Tipos de marcadores

Dicha geometría determina los tipos de target que pueden ser creados en el gestor:

- Un Single Target representa un plano y necesita una imagen que se adhiere al marcador. - Un Cuboid Target representa un cubo y necesita una imagen en cada cara de este. - Un Cylinder Target [83]representa un marcador en forma de cilindro y necesita una

imagen alrededor del cuerpo y una para cada tapa.

Fig. 228 Previsualización Target Cuboid y Cylinder

Página 125 de 135

Fig. 229 Vuforia: Targets en bases de datos AR

Los targets y las imágenes seleccionadas deben respetar una relación volumétrica, es decir, las

medidas del target digital deben respetar las del target físico. Para ello a cada target se le deben

asignar unas dimensiones en su proceso de creación, las cuales se muestran en la siguiente tabla:

TIPOS DE TARGET DIMENSIONES

Single Image Width

Cuboid Width, height, length

Cylinder Bottom Diameter, Top diameter, Side Length

Tabla 9 Vuforia: Dimensiones Targets

Un 3D Object no tiene dimensiones predefinidas, ya que se crea escaneando un objeto. No se

entra en mucho detalle ya que en el proyecto no se implementa ningún target de este tipo.

El motor de Vuforia rastrea y detecta a través de la cámara del dispositivo el entorno, y busca

características similares entre estas imágenes alojadas en la base de datos con los fotogramas

capturados en tiempo real.

El administrador de Targets también permite inspeccionar los marcadores contenidos en las

diferentes bases de datos.

Fig. 230 Vuforia: Características de un marcador single

Página 126 de 135

Ofrece una visualización de las características del target, que al fin y al cabo, son un borde afilado

o similar. La cantidad de características de una imagen determinan su trackability que se

representa en una escala de 0 a 5 estrellas en la propiedad Augmentable. Este valor representa

el grado de cuan buena es una imagen para ser detectada o “aumentada”.

Para ser detectados correctamente, los targets deben cumplir ciertas propiedades:

- Un Image target [84] debe ser rico en detalles con múltiples características, tener un buen contraste con regiones claras y oscuras, y carecer de patrones repetitivos ya que el algoritmo necesita cierto grado de aleatoriedad para no confundir patrones.

- Un Multitarget [85] (un target volumétrico) debe respetar las propiedades en todas sus imágenes al igual que un Image Target, pero además es necesario tener en cuenta la profundidad. Además, se espera consistencia, es decir, que todas las caras estén en su lugar.

Una vez que se detecta el objetivo, Vuforia Engine rastreará la imagen y aumentará su

contenido.

Página 127 de 135

8 ANEXO III: Marcadores AR utilizados en los casos

de estudio.

MultiTarget mergeCube

Fig. 231 mergeCube.Back

Fig. 232 mergeCube.Bottom

Fig. 233 mergeCube.Front

Fig. 234 mergeCube.Left

Fig. 235 mergeCube.Right

Fig. 236 mergeCube.Top

Página 1 de 135

Single Target en química: Compuestos básicos

Agua oxigenada

Agua:

sal:

Sosa caustica

Lejía

Acido cloridrico

Página 2 de 135

Single Target en Ciencias naturales: Clasificación de los animales según su alimentación

Página 3 de 135

9 BIBLIOGRAFIA

[1] A. P. Manzano y J. A. Baeza, «Gamificación transmedia para la divulgación científica y el fomento de vocaciones procientíficas en adolescentes», Comun. Rev. Científica Iberoam. Comun. Educ., n.o 55, pp. 93-103, 2018.

[2] «45cb187d-55a4-9577-a0ce-476fa0ed1b06.pdf». Accedido: dic. 08, 2020. [En línea]. Disponible en: https://www.aragon.es/documents/20127/674325/Estudio%20Prospectiva%20Analisis%20de%20tendencias%20RA%20y%20RV%20con%20formato.pdf/45cb187d-55a4-9577-a0ce-476fa0ed1b06.

[3] «Etesis_1.pdf». Accedido: dic. 08, 2020. [En línea]. Disponible en: https://www.tdx.cat/bitstream/handle/10803/8909/Etesis_1.pdf.

[4] A. B. Vera, «LAS TECNOLOGIAS DE INFORMACION Y COMUNICACIONES (TIC) EN LA DOCENCIA UNIVERSITARIA», vol. 12, p. 11, 2003.

[5] «Realidad Aumentada en Educación», p. 39. [6] X. Basogain, M. Olabe, K. Espinosa, y C. Rouèche, «Realidad Aumentada en la Educación:

una tecnología emergente», p. 8. [7] D. Z. Guillén, «La realidad virtual como recurso y herramienta útil para la docencia y la

investigación», Rev. Iberoam. Tecnol. En Educ. Educ. En Tecnol., n.o 6, Art. n.o 6, dic. 2011. [8] «La UNCuyo aplicará realidad virtual para simular neurocirugías», ECOCUYO - Diario Digital

de Negocios, abr. 29, 2019. https://ecocuyo.com/desarrollaran-entornos-de-realidad-virtual-para-neurocirugias-en-mendoza/ (accedido dic. 06, 2020).

[9] P. Cornellà, M. Estebanell, y D. Brusi, «Gamificación y aprendizaje basado en juegos.», Enseñ. Las Cienc. Tierra, vol. 28, n.o 1, Art. n.o 1, ago. 2020.

[10] «Vista de Los adolescentes aprenden jugando: La ludificación como estrategia de enseñanza | Revista de Educación de Puerto Rico (REduca)». https://revistas.upr.edu/index.php/educacion/article/view/16070/13613 (accedido dic. 05, 2020).

[11] F. Telefónica, Realidad Aumentada: una nueva lente para ver el mundo. Fundación Telefónica, 2011.

[12] «Memoria.pdf». Accedido: dic. 04, 2020. [En línea]. Disponible en: https://upcommons.upc.edu/bitstream/handle/2099.1/24986/Memoria.pdf.

[13] E. R. Escartín, «LA REALIDAD VIRTUAL, UNA TECNOLOGÍA EDUCATIVA A NUESTRO ALCANCE», p. 15.

[14] L. A. Luengas, D. A. R. López, y K. J. Galeano, «Realidad virtual no inmersiva: instrumentos electrónicos de aplicación educativa», Visión Electrónica, vol. 4, n.o 1, Art. n.o 1, jun. 2010, doi: 10.14483/22484728.275.

[15] M. Kohl y W. für P. und Elektrotechnik, «Estereoscopio de Wheatstone», Stéréoscope a miroir de Wheatstone, mar. 2016, Accedido: oct. 18, 2018. [En línea]. Disponible en: http://hdl.handle.net/10915/51674.

[16] «Memoria.pdf». Accedido: dic. 03, 2020. [En línea]. Disponible en: https://upcommons.upc.edu/bitstream/handle/2099.1/24986/Memoria.pdf.

[17] «Realidad Aumentada en Educación.pdf». Accedido: dic. 06, 2020. [En línea]. Disponible en: http://oa.upm.es/45985/1/Realidad_Aumentada__Educacion.pdf.

[18] «¿Qué es la realidad aumentada y cómo funciona?», Xperiencia Virtual, may 07, 2018. https://www.xperienciavirtual.es/es/que-es-la-realidad-aumentada/ (accedido dic. 06, 2020).

[19] «¿Qué es un motor de videojuegos? – Observatorio del Gabinete de Tele-Educación». https://blogs.upm.es/observatoriogate/2018/07/04/que-es-un-motor-de-videojuegos/ (accedido dic. 08, 2020).

Página 4 de 135

[20] «SDK: ¿qué es un software development kit?», IONOS Digitalguide. https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/software-development-kit/ (accedido dic. 08, 2020).

[21] «TFG-B.724.pdf». Accedido: dic. 03, 2020. [En línea]. Disponible en: http://uvadoc.uva.es/bitstream/handle/10324/13198/TFG-B.724.pdf?sequence=1&isAllowed=y.

[22] «Haas_IQP_Final.pdf». Accedido: nov. 13, 2020. [En línea]. Disponible en: https://web.wpi.edu/Pubs/E-project/Available/E-project-030614-143124/unrestricted/Haas_IQP_Final.pdf.

[23] «Unity 2020.2b», Unity. https://unity3d.com/es/beta/2020.2b (accedido nov. 13, 2020). [24] U. Technologies, «Creando y usando scripts - Unity Manual».

https://docs.unity3d.com/es/2018.4/Manual/CreatingAndUsingScripts.html (accedido dic. 02, 2020).

[25] U. Technologies, «Unity - Manual: Important Classes - MonoBehaviour». https://docs.unity3d.com/Manual/class-MonoBehaviour.html (accedido dic. 02, 2020).

[26] U. Technologies, «Unity - Manual: Vuforia». https://docs.unity3d.com/2018.4/Documentation/Manual/vuforia-sdk-overview.html (accedido nov. 23, 2020).

[27] «Vuforia Developer Portal |». https://developer.vuforia.com/ (accedido dic. 02, 2020). [28] «Getting Started with Vuforia Engine in Unity».

https://library.vuforia.com/articles/Training/getting-started-with-vuforia-in-unity.html (accedido nov. 12, 2020).

[29] «Software de diseño 3D | Modelado 3D en la web | SketchUp», Drupal. https://www.sketchup.com/es/page/pagina-de-inicio (accedido nov. 28, 2020).

[30] «Software de diseño arquitectónico | Herramienta arquitectónica basada en web | Visualización arquitectónica», Drupal. https://www.sketchup.com/es/industries/architecture (accedido dic. 02, 2020).

[31] «3D Warehouse». https://3dwarehouse.sketchup.com/?hl=es (accedido dic. 02, 2020). [32] «Quickstart for Google VR SDK for Unity with Android», Google Developers.

https://developers.google.com/vr/develop/unity/get-started-android?hl=es (accedido nov. 23, 2020).

[33] U. Technologies, «Posicionando GameObjects - Unity Manual». https://docs.unity3d.com/es/2019.4/Manual/PositioningGameObjects.html (accedido dic. 09, 2020).

[34] «Unity - Manual: Visión general del Sistema de Animación». https://docs.unity3d.com/es/530/Manual/AnimationOverview.html (accedido dic. 10, 2020).

[35] U. Technologies, «Qué es un Sistema de Partículas? - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/PartSysWhatIs.html (accedido nov. 24, 2020).

[36] U. Technologies, «Color Albedo y Transparencia - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/StandardShaderMaterialParameterAlbedoColor.html (accedido dic. 10, 2020).

[37] «Mujeres y ciencia: ¿discriminación basada en la evidencia?», La Vanguardia, feb. 10, 2017. https://www.lavanguardia.com/ciencia/opinion/20170210/414215473166/mujeres-ciencia-discriminacion-basada-evidencia.html (accedido dic. 10, 2020).

[38] U. Technologies, «Las ventanas principales - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/UsingTheEditor.html (accedido dic. 02, 2020).

[39] U. Technologies, «La ventana de Hierarchy (Jerarquía) - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/Hierarchy.html (accedido dic. 02, 2020).

Página 5 de 135

[40] U. Technologies, «La Barra de Herramientas - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/Toolbar.html (accedido dic. 02, 2020).

[41] U. Technologies, «The Project window - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/ProjectView.html (accedido dic. 02, 2020).

[42] U. Technologies, «The Inspector window - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/UsingTheInspector.html (accedido dic. 02, 2020).

[43] U. Technologies, «The Scene view - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/UsingTheSceneView.html (accedido dic. 02, 2020).

[44] U. Technologies, «Scene view navigation - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/SceneViewNavigation.html (accedido dic. 02, 2020).

[45] U. Technologies, «The Game view - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/GameView.html (accedido dic. 02, 2020).

[46] U. Technologies, «Console Window - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/Console.html (accedido dic. 02, 2020).

[47] U. Technologies, «Other windows - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/OtherViews.html (accedido dic. 02, 2020).

[48] U. Technologies, «Guía de la ventana de animación - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/AnimationEditorGuide.html (accedido dic. 02, 2020).

[49] U. Technologies, «Profiler overview - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/Profiler.html (accedido dic. 02, 2020).

[50] «Unity - Manual: Assets Estándar». https://docs.unity3d.com/es/530/Manual/HOWTO-InstallStandardAssets.html (accedido dic. 02, 2020).

[51] U. Technologies, «GameObjects - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/GameObjects.html (accedido dic. 02, 2020).

[52] U. Technologies, «Primitive and placeholder objects - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/PrimitiveObjects.html (accedido dic. 02, 2020).

[53] U. Technologies, «Tags (Etiquetas) - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/Tags.html (accedido dic. 02, 2020).

[54] U. Technologies, «Desactivando GameObjects - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/DeactivatingGameObjects.html (accedido dic. 02, 2020).

[55] U. Technologies, «Introducción a los componentes. - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/Components.html (accedido dic. 02, 2020).

[56] U. Technologies, «Transform - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/class-Transform.html (accedido dic. 02, 2020).

[57] «Unity - Manual: Usando Components». https://docs.unity3d.com/es/530/Manual/UsingComponents.html (accedido dic. 02, 2020).

[58] U. Technologies, «Prefabs - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/Prefabs.html (accedido dic. 02, 2020).

[59] U. Technologies, «Creating Prefabs - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/CreatingPrefabs.html (accedido dic. 02, 2020).

[60] U. Technologies, «Editing a Prefab in Prefab Mode - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/EditingInPrefabMode.html (accedido dic. 02, 2020).

Página 6 de 135

[61] U. Technologies, «Materiales, Shaders y Texturas - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/Shaders.html (accedido dic. 02, 2020).

[62] U. Technologies, «Standard Shader - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/shader-StandardShader.html (accedido dic. 02, 2020).

[63] U. Technologies, «Física - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/PhysicsSection.html (accedido dic. 02, 2020).

[64] U. Technologies, «Visión general del Rigidbody - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/RigidbodiesOverview.html (accedido dic. 02, 2020).

[65] U. Technologies, «Colliders - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/CollidersOverview.html (accedido dic. 02, 2020).

[66] U. Technologies, «Unity - Scripting API: Collider.OnCollisionEnter(Collision)». https://docs.unity3d.com/ScriptReference/Collider.OnCollisionEnter.html (accedido dic. 02, 2020).

[67] U. Technologies, «Unity - Scripting API: Collider.OnTriggerEnter(Collider)». https://docs.unity3d.com/ScriptReference/Collider.OnTriggerEnter.html (accedido dic. 02, 2020).

[68] U. Technologies, «Unity - Manual: Audio Source». https://docs.unity3d.com/2018.4/Documentation/Manual/class-AudioSource.html (accedido dic. 02, 2020).

[69] U. Technologies, «Unity - Manual: Audio Listener». https://docs.unity3d.com/2018.4/Documentation/Manual/class-AudioListener.html (accedido dic. 02, 2020).

[70] U. Technologies, «Unity - Manual: Audio Clip». https://docs.unity3d.com/2018.4/Documentation/Manual/class-AudioClip.html (accedido dic. 02, 2020).

[71] U. Technologies, «Tipos de luz - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/Lighting.html (accedido dic. 02, 2020).

[72] U. Technologies, «UI (Interfaz de Usuario) - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/UISystem.html (accedido dic. 02, 2020).

[73] U. Technologies, «Canvas - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/UICanvas.html (accedido dic. 02, 2020).

[74] U. Technologies, «Diseño Básico - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/UIBasicLayout.html (accedido dic. 02, 2020).

[75] U. Technologies, «Rect Transform - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/class-RectTransform.html (accedido dic. 02, 2020).

[76] U. Technologies, «Sprites - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/Sprites.html (accedido dic. 02, 2020).

[77] U. Technologies, «Componentes Visuales - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/comp-UIVisual.html (accedido dic. 02, 2020).

[78] U. Technologies, «Componentes de Interacción - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/comp-UIInteraction.html (accedido dic. 02, 2020).

[79] U. Technologies, «Button (Botón) - Unity Manual». https://docs.unity3d.com/es/2018.4/Manual/script-Button.html (accedido dic. 02, 2020).

Página 7 de 135

[80] «Unity - Scripting API: UI.Button.onClick». https://docs.unity3d.com/530/Documentation/ScriptReference/UI.Button-onClick.html (accedido dic. 02, 2020).

[81] «License Manager». https://library.vuforia.com/content/vuforia-library/en/tools/license-manager.html (accedido dic. 02, 2020).

[82] «Target Manager». https://library.vuforia.com/content/vuforia-library/en/tools/target-manager.html (accedido dic. 02, 2020).

[83] «Cylinder Targets». https://library.vuforia.com/content/vuforia-library/en/features/images/cylinder-targets.html (accedido dic. 02, 2020).

[84] «Image Targets». https://library.vuforia.com/content/vuforia-library/en/features/images/image-targets.html (accedido dic. 02, 2020).

[85] «Multi Target». https://library.vuforia.com/content/vuforia-library/en/features/images/multi-target.html (accedido dic. 02, 2020).