creaciÓn de un avatar en realidad virtual y …

103
TRABAJO FIN DE GRADO Grado en Ingeniería Biomédica CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y AUMENTADA Memoria y Anexos Autor: Nathalia Cancino Fuentes Director: Eduardo Soudah Prieto Co-Director: Oscar de Coss Convocatoria: Junio 2019

Upload: others

Post on 25-Nov-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

TRABAJO FIN DE GRADO

Grado en Ingeniería Biomédica

CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y

AUMENTADA

Memoria y Anexos

Autor: Nathalia Cancino Fuentes Director: Eduardo Soudah Prieto Co-Director: Oscar de Coss Convocatoria: Junio 2019

Page 2: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …
Page 3: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un avatar en realidad virtual y aumentada

i

Resum

Actualment s'han realitzat diversos estudis que demostren que l'ús de la realitat virtual (VR) i

augmentada (AR) en l'educació, millora la capacitat d'aprenentatge i incrementa factors com: la

creativitat, la imaginació, l'autoaprenentatge, etc. No obstant això, encara és molt reduït el nombre de

tecnologies accessibles aplicades a l'àrea de la salut. És a partir d'això, que sorgeix la necessitat de crear

noves eines que, mitjançant l'ús de tecnologies amb un alt potencial, assoleixin la complementació dels

mètodes tradicionals d'educació associats a l'àrea de la salut. L'objectiu d'aquest treball, és

desenvolupar una eina tecnològica basada en la creació d'un model anatòmic en 3D en realitat virtual

i augmentada. Per al compliment d'aquest propòsit, es va dividir la metodologia de treball en 3

seccions: general (realització de l'avatar 3D), mòdul 1 (desenvolupament d'una aplicació per a mòbil i

tauleta) i mòdul 2 (creació d'eina de caràcter cinemàtic i biomecànic ambla finalitat d'establir l'activació

del bíceps i del tríceps). D'aquest treball es va obtenir una tecnologia amb un alt nivell d'acceptació

(mitjançant l'AR i VR), altament prometedora, que aconsegueix complementar els mètodes

tradicionals d'aprenentatge del cos humà.

Paraules claus: Avatar, Realitat virtual (VR), Realitat augmentada (AR), Cos humà, salut, educació,

activació muscular, Aplicació mòbil.

Page 4: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

ii

Resumen

Actualmente se han venido realizando diversos estudios que demuestran que el uso de realidad virtual

(VR) y aumentada (AR) en la educación, mejora la capacidad de aprendizaje e incrementa factores

como: la creatividad, imaginación, el autoaprendizaje, etc. Sin embargo, aún es muy reducido el

número de tecnologías accesibles aplicadas al área de la salud. Es a partir de esto, que surge la

necesidad de crear nuevas herramientas que, mediante el uso de tecnologías con un alto potencial,

logren la complementación de los métodos tradicionales de educación asociados al área de la salud. El

objetivo de este trabajo es desarrollar una herramienta tecnológica basada en la creación de un

modelo anatómico en 3D en realidad virtual y aumentada. Para el cumplimiento de este propósito, se

dividió la metodología de trabajo en 3 secciones: general (realización del avatar 3D), módulo 1

(desarrollo de una aplicación para móvil y tableta) y módulo 2 (creación de herramienta de carácter

cinemático y biomecánico a fin de establecer la activación del bíceps y del tríceps). De este trabajo se

obtuvo una tecnología con un alto nivel de aceptación (mediante la AR y VR), altamente prometedora,

que logra complementar los métodos tradicionales de aprendizaje del cuerpo humano.

Palabras claves: Avatar, Realidad virtual (VR), Realidad aumentada (AR), Cuerpo humano, salud,

educación, activación muscular, Aplicación móvil.

Page 5: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un avatar en realidad virtual y aumentada

iii

Abstract

Nowadays, several studies have been carried out that shown that the use of virtual reality (VR) and

augmented (AR) in education improves learning capacity and increases factors such as: creativity,

imagination, self-learning, etc. However, the number of accessible technologies applied to the area of

health is still very limited. On that basis, arises the need new tools that, using technologies with a high

potential, achieve the complementation of the traditional methods of education associated with the

area of health. The objective of this work is to develop a technological tool based on the creation of an

anatomical 3D model in virtual and augmented reality. To fulfil this purpose, the work methodology

was divided into 3 sections: general (3D avatar realization), module 1 (development of an application

for mobile and tablet) and module 2 (creation of a kinematic and biomechanical character tool to

establish activation of the biceps and triceps). From this work, we obtained a technology with a high

level of acceptance (through RA and VR), which is highly promising and complements the traditional

methods of learning the human body.

Keywords: Avatar, Virtual Reality (VR), Augmented Reality (AR), Human body, health, education, muscle

activation, Mobile application.

Page 6: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

iv

Page 7: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un avatar en realidad virtual y aumentada

v

Agradecimientos

Quisiera agradecer a todas aquellas personas que hicieron posible la realización de este trabajo.

• En primer lugar, agradezco especialmente a mi tutor Eduardo Soudah por ser el mejor tutor

que un estudiante podría tener, por darme la oportunidad de trabajar con él, por siempre estar

dispuesto a ayudar con la mejor actitud y por ser un gran apoyo para la finalización de mis

estudios de grado.

• Me gustaría agradecer a Oscar de Coss por ser fundamental en el desarrollo de este trabajo,

por disponer de su tiempo para ayudarme durante todo el proceso, por su amabilidad y

paciencia y por siempre estar para mi cuando lo necesitaba.

• Quisiera agradecer a CIMNE (Centro Internacional de Métodos Numéricos en Ingeniería) por

brindarme sus instalaciones para realizar mi proyecto ya que esto fue de gran importancia

durante el proceso.

• Por otro lado, quisiera agradecer al docente de la asignatura de fisiología de la Universidad

Politécnica de Cataluña, Antonio Rafael Almirall, por su amabilidad y ayuda para la realización

de las encuestas de aceptación de la tecnología desarrollada.

• Quiero agradecer a Felipe Suarez, por brindarme tranquilidad y acompañarme en los

momentos que más lo necesito, por ayudarme a crecer cada día.

• Finalmente quiero agradecer a las personas más importantes de mi vida, mi madre (Patricia

Fuentes) y mi hermana (Laura Cancino), quienes siempre han estado para mí, quienes me dan

su amor y su apoyo en cada cosa que me propongo realizar, son luz y tranquilidad en mi vida

y cada logro que tenga en la vida, es gracias y para ellas.

A todos y a cada uno de ustedes, gracias.

Page 8: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

vi

Page 9: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un avatar en realidad virtual y aumentada

vii

Glosario

VR Realidad Virtual

AR Realidad Aumentada

3D Tercera Dimensión (x,y,z)

2D Segunda Dimensión (x,y)

BD Base de Datos

UI Interfaz de usuario

APP Aplicación

Page 10: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

viii

Índice

RESUM ______________________________________________________________ I

RESUMEN __________________________________________________________ II

ABSTRACT __________________________________________________________ III

AGRADECIMIENTOS __________________________________________________ V

GLOSARIO _________________________________________________________ VII

1. PREFACIO ______________________________________________________ 1

1.2. Motivación ............................................................................................................... 1

1.3. Requerimientos previos........................................................................................... 2

2. INTRODUCCIÓN _________________________________________________ 3

2.1. Objetivos del trabajo ............................................................................................... 3

2.1.1. General .................................................................................................................... 3

2.1.2. Específicos ............................................................................................................... 4

2.2. Alcance del proyecto ............................................................................................... 4

3. REALIDAD VIRTUAL Y AUMENTADA _________________________________ 5

3.1. Realidad Virtual ........................................................................................................ 5

3.1.1. ¿Qué es realidad virtual? ........................................................................................ 5

3.1.2. Origen de la realidad virtual ................................................................................... 5

3.2. Realidad Aumentada ............................................................................................... 7

3.2.1. ¿Qué es realidad aumentada? ................................................................................ 7

3.2.2. Origen de la realidad aumentada ........................................................................... 7

3.3. La realidad virtual y aumentada en la salud y educación ....................................... 8

4. METODOLOGÍA Y DESARROLLO ___________________________________ 13

4.1. General ................................................................................................................... 14

4.1.1. Base de datos (BD) ................................................................................................ 14

4.1.2. Entorno Unity ........................................................................................................ 20

4.2. Módulo 1: aplicación para móvil y tableta ........................................................... 25

4.2.1. Creación de escenas .............................................................................................. 25

4.2.2. Entorno de visualización ....................................................................................... 31

4.3. Módulo 2: Cinemática del Avatar .......................................................................... 33

4.3.1. HoloLens – Kinect .................................................................................................. 33

Page 11: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un avatar en realidad virtual y aumentada

ix

4.3.2. Calibración del modelo ......................................................................................... 35

4.3.3. Activación muscular ............................................................................................. 37

5. RESULTADOS __________________________________________________ 40

5.1. Resultados generales ............................................................................................. 40

5.1.1. Modelo 3D del cuerpo humano ........................................................................... 40

5.2. Módulo 1 ................................................................................................................ 43

5.3. Módulo 2 ................................................................................................................ 48

5.3.1. Pruebas ................................................................................................................. 48

5.3.2. Resultado final ...................................................................................................... 50

6. ENCUESTA Y ANÁLISIS DE RESULTADOS _____________________________ 53

7. FUTURAS MEJORAS _____________________________________________ 61

7.1. Avatar 3D (General) ............................................................................................... 61

7.2. Aplicación para móvil y tableta (Modulo 1) .......................................................... 61

7.3. Modelo cinemático (Modulo 2) ............................................................................. 61

8. ANÁLISIS DEL IMPACTO AMBIENTAL _______________________________ 63

CONCLUSIONES _____________________________________________________ 65

PRESUPUESTO Y ANÁLISIS ECONÓMICO _________________________________ 67

PLAN DE TRABAJO ___________________________________________________ 70

BIBLIOGRAFÍA ______________________________________________________ 73

ANEXO A __________________________________________________________ 77

A1. Código para cambiar escena (1 a 2)....................................................................... 77

A2. Código para cambiar escena (2 a 3)....................................................................... 77

A3. Código para cambiar escena (2 a 4)....................................................................... 77

A4. Código para cambiar escena (cualquiera a 1) ....................................................... 78

A5. Código para activar o desactivar los toogle ........................................................... 78

A6. Código de configuración del dropdown Huesos ................................................... 79

A7. Código de configuración del dropdown Músculos ................................................ 81

ANEXO B __________________________________________________________ 83

B1. Código de configuración del Kinect con el avatar ..................................................... 83

B2. Código de Tracking del movimiento .......................................................................... 87

B3. Código de activación muscular .................................................................................. 90

Page 12: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

x

Page 13: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

1

1. Prefacio

1.2. Motivación

El desarrollo de nuevas tecnologías ha impulsado el crecimiento científico de las últimas décadas, la

era tecnológica actual en conjunto con el constante progreso del mundo ha implementado la

necesidad de evolucionar en campos como: El sector educativo, el ámbito laboral, el entorno médico

y sanitario, entre otros.

En el año 2016, la revisa Nordina (Nordic Studies in Science Education) publicó un estudio denominado

“Realidad aumentada en la educación de las ciencias: recursos para el aprendizaje de los estudiantes”,

el cual se basó en determinar qué tipos de beneficios pueden ser encontrados en la aplicación de esta

tecnología en la educación, para ello, se efectuó una detallada investigación del estado del arte donde

se encontró que se realizó una prueba piloto a 30 estudiantes de primer año de enfermería, en la cual,

se disponía de una aplicación que permitía visualizar el funcionamiento de los pulmones “Adentro” del

cuerpo de un estudiante, de este estudio se obtuvo que hubo una diferencia significativa entre la

adquisición de conocimientos cuando se utiliza un método convencional, en contraste con los

conceptos adquiridos cuando se aplica la AR ya que los estudiantes declararon que mediante el uso de

realidad aumentada se incrementó su capacidad de entendimiento de los pulmones en relación a los

conceptos adquiridos previamente (Sin AR) (1).

Otras investigaciones tales como: “The Promising Roles of Augmented Reality in Educational Setting: A

Review of the Literature “publicado por la revista “International Journal of Educational Methodology”

demostró los múltiples beneficios de la AR en la educación, algunos de estos son: aprendizaje seguro

y divertido, mayor participación motivación e interés de parte de los estudiantes, contribución a la

creatividad, Imaginación y el autoaprendizaje, mejora en las habilidades de resolución de problemas y

aumento en capacidad de aprendizaje (rapidez y comprensión), entre otros(2).

Por otro lado, la implementación de Tecnologías de la Información y la Comunicación (TIC) se ha vuelto

una necesidad, actualmente la búsqueda de información es muy rápida y ha logrado volverse cada vez

más accesible, es por esto por lo que surge la necesidad de tecnologías innovadoras que logren

explotar el potencial de los métodos actuales a fin de facilitar el entorno educativo e incrementar la

motivación y participación de las personas en el aprendizaje.

El presente proyecto pretende integrar un modelo tecnológico actualmente innovador de amplio

potencial investigativo al sector de la Ingeniería Biomédica y la salud, que permita realizar acciones

educativas en el sector de la fisiología humana mediante la aplicación de Realidad Virtual y Aumentada.

Page 14: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Pág. 2 Memoria

2

La principal motivación del trabajo es incrementar el número de tecnologías en el ámbito de la salud

que faciliten el aprendizaje del cuerpo mediante una aproximación interactiva real de organismo

humano.

1.3. Requerimientos previos

Para el desarrollo óptimo del trabajo, se deben tener en cuenta algunos requerimientos previos tales

como:

• Conocimientos de la plataforma “Unity”, “Vuforia” y “ARCore” y el uso de herramientas de

realidad virtual y aumentada”.

• Bases de programación en el lenguaje “C”

• Experiencia en tratamiento de “Bases de Datos”

• Habilidades en el uso de “Kinect”

• Conocimientos de Anatomía Humana, entre otros.

Page 15: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

3

2. Introducción

En las últimas décadas, se ha venido incrementado el uso de dos tecnologías con alto potencial, la

realidad virtual y la realidad aumentada, cuya aplicación en el área de la salud se está potenciando de

manera progresiva. En el año 2018, la International Data Corporation (IDC), indico que una de las

tecnologías más prometedores a nivel mundial para el año 2019, sería la VR/AR, con un aumento del

130% en sus inversiones, esto se debe a que están llevando a cabo investigaciones para aplicar esta

tecnología en múltiples campos, como en la salud(4).

Este proyecto busca la creación de métodos alternativos de aprendizaje enfocados en al área de la

salud, mediante la creación de un modelo anatómico en realidad virtual y aumentada, que permita el

aprendizaje del cuerpo de manera innovadora y ajustada a las exigencias tecnológicas actuales.

2.1. Objetivos del trabajo

2.1.1. General

El principal objetivo de este proyecto es desarrollar una herramienta tecnológica basada en la creación

de un modelo anatómico en 3D en realidad virtual y aumentada, el propósito de esta es brindar soporte

al aprendizaje del cuerpo humano de forma pedagógica e interactiva. De esta forma se busca generar

un entorno de conocimiento adecuado para mejorar y complementar los métodos tradicionales de

educación en el ámbito de anatomía y fisiología humana.

El trabajo está dividido en tres secciones: la primera sección tiene como propósito el desarrollo de un

avatar en representación del cuerpo humano, el cual se encuentre debidamente organizado por capas

(Huesos, músculos y órganos) y que contenga diferentes texturas que permitan un mejor

entendimiento del organismo.

El primer módulo, tiene como objetivo la creación de una aplicación para móvil y tableta de carácter

educativo en la cual se pueda explorar el cuerpo humano en realidad aumentada, dicha aplicación

debe ser interactiva, fácil de utilizar y agradable a la vista.

La segunda sección (módulo 2) tiene como fin la implementación del modelo anatómico 3D en realidad

virtual con la finalidad de detectar movimientos y determinar la activación de algunos músculos. Esta

herramienta busca ser un modelo inicial para estudios futuros en biomecánica y métodos numéricos a

fin de modelar el comportamiento del tejido muscular.

Page 16: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

4

2.1.2. Específicos

Los objetivos específicos de este proyecto son:

• Limpiar, estructurar y clasificar la base de datos “BodyParts3D de Life Science”. A partir de este

objetivo se busca obtener la organización completa de los archivos contenidos en la base de

datos con el fin de facilitar su interacción con el software Unity.

• Aplicar diferentes texturas a los elementos procedentes de la base de datos.

• Ajustar el modelo anatómico en un entorno de programación.

• Crear escenas para la aplicación de móvil y tableta que permitan la interacción con los

usuarios.

• Construir un entorno de visualización (para la APP) agradable a la vista y fácil de utilizar

• Desarrollar un algoritmo en el lenguaje “C” de programación que permitan cambiar escenas,

interactuar con botones y desplegables cuya función logre un desarrollo óptimo de la

aplicación móvil.

• Llevar a cabo la correcta programación que permita la conexión entre Kinect y el avatar, con

el fin de lograr el movimiento del modelo anatómico.

• Generar un algoritmo cuyo propósito sea determinar la activación de bíceps y tríceps.

• Determinar el nivel de aceptación de la tecnología en cuestión.

2.2. Alcance del proyecto

El proyecto busca, al ser finalizado, crear una herramienta tecnológica denominada “Human Body”

para estudiantes de grado o de bachillerato que deseen aprender anatomía. Se pretende llegar al

desarrollo de un modelo anatómico completo, una aplicación para móvil y tableta y un modelo

cinemático que permita el movimiento del avatar y que muestre la activación muscular del bíceps y el

tríceps.

Page 17: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

5

3. Realidad virtual y aumentada

3.1. Realidad Virtual

3.1.1. ¿Qué es realidad virtual?

Actualmente existen diversas tecnologías que buscan cambiar la manera en que interactuamos con el

mundo en general. Las grandes empresas de la industria tecnológica, tales como Microsoft, se han

encargado de transformar la concepción general de las comunicaciones actuales.

A partir de lo anterior, surgen nuevos dispositivos y herramientas tecnológicas que buscan cambiar la

manera en que se percibe el mundo. A razón de esto, en las últimas décadas se ha venido

desarrollando una tecnología basada en la alteración de la realidad, tal como la conocemos y la

apreciamos, que se fundamenta en el uso de un dispositivo externo que modifica significativamente el

campo visual de la persona, este puede ser: Gafas, pantallas, cascos, entre otros. A este concepto de

simulación por ordenador de un entorno 3D, se le conoce como Realidad Virtual (VR).

En general, el concepto de realidad virtual se encuentra asociado a la sensación de “inmersión” en un

entorno completamente virtual. Es por esto, que la intención de la tecnología es generar en las

personas la fuerte impresión de estar completamente sumergidos en un escenario determinado, por

lo que resulta ser muy “Real” para quien lo experimenta.

3.1.2. Origen de la realidad virtual

A pesar de que se considere una tecnología relativamente “nueva”, su origen se sitúa décadas atrás,

sin embargo, no era utilizada con fines comerciales, ya que se encontraba presente en laboratorios de

investigación, instalaciones industriales, recintos militares de alta gama, entre otros. Esto se debe a

que aún no era una tecnología muy desarrollada y en sus comienzos resulto ser costosa, lenta y poco

eficiente, sin embargo, prometedora.

A partir de las primeras emisiones públicas de televisión, en el año 1927 en Inglaterra y en 1930

en Estados Unidos, se comenzaron a patentar las primeras máquinas y artefactos de VR. A pesar de

no ser completamente dinámicos (Debido a que no existían los gráficos 3D en tiempo real), poseían

características particulares, tales como: Videos a color, alteración de los sentidos del olfato y del tacto,

mediante la reproducción de olores artificiales y la fabricación progresiva de viento, entre otros.(5)

Morton Leonard Heilig, fue pionero en tecnología de realidad virtual. La primera invención que realizó

fue con fines cinematográficos y correspondió a un artefacto denominado “Sensorama” (figura 3.1),

que consistió en una cabina cerrada donde se proyectaban películas cortas (5 grabaciones de 2 minutos

Page 18: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

6

cada una), se podían observar videos 3D a color, vibraciones, audios, entre otros. Esta máquina era de

uso unipersonal, lo que favorecía al entorno de realidad virtual, ya que aislaba sensorialmente a la

persona que lo experimentaba(6).

Figura 3.1. Sensorama, primera máquina de realidad virtual inventada por Morton Heilig (Fuente: Pensamientos

Computables (7))

Años más tarde, en la década de los 60, el mismo creador del Sensorama, quien es hoy considerado el

“padre” de la Realidad Virtual, patenta por primera vez un visor que se podía acoplar a la cabeza, cuya

función era ver diapositivas y proyectar imágenes estereoscópicas en 3D, este dispositivo tenía

integrado un generador de olor y un emisor en estéreo (7).

En el año 2012, el empresario estadounidense Palmer Luckey fundó “Oculus VR”, una compañía cuyo

objetivo es desarrollar tecnología de realidad virtual, esta empresa lanzó en el 2016 un casco de VR al

mercado denominado “Oculus Rift” (Ver imagen 3.2). Esta tecnología tuvo tanto éxito que logro que

inversionistas potenciales tales como Mark Zuckerberg se interesaran considerablemente en el sector

impulsando a importantes empresas como: Samsung, Sony, entre otras, a emprender en este

campo(8).

Figura 3.2. Oculus Rift(9)

Page 19: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

7

En la actualidad existen más de 230 empresas en el sector de la realidad virtual y cada día se vuelve

más accesible, esto se debe principalmente a la adopción masiva de tecnologías que se acoplan a

dispositivos móviles y al amplio potencial investigativo que posee.

A pesar de que la industria que más se ha potenciado en términos de VR sea la de videojuegos, hoy en

día se están fluctuando investigaciones en pro de la aplicación de dicha tecnología en otros sectores

tales como: construcción, salud, comunicación e información, entre otras. El presente trabajo se

encuentra enfocado a la aplicación de esta tecnología en la medicina y la salud (10).

3.2. Realidad Aumentada

3.2.1. ¿Qué es realidad aumentada?

La realidad aumentada, a diferencia de la realidad virtual, corresponde a una tecnología creada con el

fin de proporcionar un vínculo entre la informática (como elementos 3D) y la realidad física palpable

en la que nos encontramos, este tipo de tecnología combina ambas realidades e interpone elementos

visuales que interactúan con el campo visual en un entorno real. Por ejemplo, en la siguiente figura 3.3

se puede observar la combinación de elementos reales (Manos) con elementos 3D creados a partir de

programas informáticos (Elefante)(11).

Figura 3.3. Ejemplo de realidad aumentada (12)

3.2.2. Origen de la realidad aumentada

A partir de los inicios de la realidad virtual en la década de los 60’s se comenzaron las investigaciones

en el entorno de realidades mixtas, con el fin de superponer la realidad física (En la que vivimos) y el

entorno virtual. En el año 1992, Tom Caudell funda el concepto de “Realidad Aumentada” debido a las

investigaciones en aeronáutica que se encontraba realizando donde logró superponer textos, gráficos,

entre otros, en las pantallas de los trabajadores encargados de monitorear el sistema mecánico del

avión(13).

Page 20: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

8

3.3. La realidad virtual y aumentada en la salud y educación

Tal como se ha venido demostrando en los últimos años, la realidad virtual y aumentada puede formar

parte de un sinnúmero de aplicaciones en la salud dado su potencial multidisciplinar. Por ejemplo, la

AR ha sido utilizada ampliamente por psicólogos para el tratamiento de enfermedades, fobias, manías,

entre otros, ya que gracias a la posible inmersión de elementos computaciones en la realidad podemos

crear situaciones que de algún modo interactúen con el paciente. Por ejemplo, cedetel instauró un

modelo diseñado para combatir la fobia a las arañas, mediante esta tecnología podemos simular

arañas reales, exponiendo al paciente a sus miedos gracias a proyecciones virtuales. ver figura 3.4 (14).

Figura 3.4. Fobia a la arañas- tratamiento a partir de realidad aumentada(15)

A partir de diversas técnicas de imagen se ha venido implementado el uso de imágenes 3D captadas

mediante tomografías computarizadas, ecografías, resonancias magnéticas, entre otras y

posteriormente segmentadas, con el propósito de orientar a los médicos cirujanos durante los

procedimientos, esta tecnología consigue adquirir una visión mejorada y en profundidad del campo

que se procederá a operar, gracias a esto, se puede mejorar significativamente la capacidad visual del

cirujano, proporcionando visión 3D del paciente. Como se puede observar en la figura 3.5, esta

tecnología también se está implementado como método de preparación de cirugías a partir de

imágenes reales del paciente, gracias a esto, los cirujanos pueden ver la ubicación de todos sus órganos

y patologías. Actualmente, resulta una tecnología altamente prometedora para las cirugías de cáncer,

ya que se puede determinar con mayor exactitud la ubicación del tumor (16).

Actualmente la realidad aumentada es una de las tecnologías con mayor potencial en la medicina,

incluso se ha llegado a decir que puede salvar vidas. En instituciones hospitalarias se han logrado aplicar

técnicas de imágenes con AR en tiempo real, esto ha aportado grandes ventajas en los estudios y

procedimientos de anatomía ya que podemos ver diferentes partes del cuerpo con mayor profundidad

y detalle.

Page 21: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

9

La AR es de gran utilidad a la hora de visualizar estructuras críticas como los vasos principales, los

nervios u otros tejidos vitales, es por esto por lo que en algunos procedimientos que requieren especial

atención, el uso de AR aumenta significativamente la seguridad del paciente ya que se logran proyectar

dichas estructuras que son difíciles de visualizar y que, si no se realiza bien el procedimiento, pueden

representar riesgos mortales para los pacientes.

Además de ser una tecnología que aumenta la seguridad del paciente, es capaz de reducir los tiempos

empleados durante los procedimientos, es fácil de controlar ya que logra integrar funciones como el

manejo de la opacidad de los objetos, la desactivación o activación de elementos y partes del cuerpo,

Además es posible utilizar el reconocimiento de voz para crear comandos que permitan su

funcionalidad con las manos libres, puede integrar el reconocimiento de gestos y movimientos, por lo

que el equipo puede interactuar incluso en superficies estériles. Esto es fundamental en

procedimientos quirúrgicos, ya que permite a los médicos tener acceso al control del dispositivo sin

romper los protocolos asépticos (17).

Otra aplicación relevante de la realidad aumentada es el sector del diagnóstico clínico, ya que esta

tecnología puede proyectar imágenes ya sea en 2D o en 3D de los diferentes órganos en cuestión

facilitando al personal la toma de decisiones médicas. Por otro lado, la realidad aumentada sirve como

soporte para la medicina en medida que logra complementar la información obtenida por métodos

tradicionales, es decir, la implementación de realidad aumentada promueve el aprendizaje y la

formación médica (18).

Figura 3.5. Realidad aumentada en la salud (19)

Con base en lo anterior, la AR brinda soporte a profesionales de la salud en sus métodos de aprendizaje

y ejecución, ya que dispone de herramientas que facilitan el desarrollo de actividades, la visualización

de elementos y la captación de conceptos. Una característica clave de esta tecnología es que hace

posible la interacción multisensorial en el entorno en el que se encuentra sumergido, esto facilita

ampliamente el aprendizaje y la efectividad del mismo ya que aplica la “educación activa” cuyo objetivo

se basa en trasmitir conocimientos a partir de experiencias (20).

Page 22: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

10

Una investigación realizada por la “International Journal of Educational Methodology”, donde se

efectuó un análisis detallado (a partir de una revisión de la literatura) a un total de 18 artículos

incluidos: artículos de investigación, revisiones, notas técnicas, características y noticias, acerca de los

prometedores roles de la realidad aumentada en el entorno educativo, mostró que la realidad

aumentada mejoró el conocimiento y la comprensión de los estudiantes acerca de conocimientos

concretos, como en los materiales(2).

Actualmente se han realizado diversos estudios acerca de la AR en el sector educativo. Uno de estos,

clasificó las ventajas de esta, los logros alcanzados y los enfoques de aprendizaje del uso de dicha

tecnología, esto se encuentra registrado en la figura 3.7, en donde se puede observar que la realidad

aumentada en la educación posee aspectos diferenciadores como: la proporción de un sentido de la

realidad, la sensación de estar teniendo una experiencia natural, el incremento del factor de diversión

durante el aprendizaje, el ambiente de aprendizaje seguro, el aumento de la participación e interés de

los estudiantes, el desarrollo de entornos de aprendizaje auténtico, haciendo el aprendizaje atractivo

y efectivo, brindando motivación y facilitando el entendimiento mediante la conexión con experiencias

y problemas del mundo real. Por otro lado, se pudo determinar que el uso de la AR en la educación

tenía múltiples beneficios en la creatividad, Imaginación, el autoaprendizaje y la capacidad espacial de

los estudiantes, mejorando las habilidades de resolución de problemas e interpretación (21).

Por otro lado, es importante destacar que una de las herramientas más significativas que integran AR

y VR es el desarrollo de aplicaciones móviles, es por esto por lo que importantes compañías como

Google se encuentran desarrollando investigaciones en el uso de esta tecnología para incorporarla a

las aplicaciones convencionales. Algunos de los ejemplos de aplicaciones móviles actuales que poseen

AR incorporado son: Google Sky map, 4D Anatomy, ¡FETCH! Lunch Rush, Google translate, Pokémon

Go (22).

Finalmente, en los últimos años se han desarrollado aplicaciones para el entendimiento de la anatomía

y el cuerpo humano. Por ejemplo, la compañía Neosentec (Augmented reality) desarrolló una

aplicación de anatomía, con el fin de implementar exámenes virtuales acerca del conocimiento del

cuerpo y lograr dar soporte a el aprendizaje en este campo (Ver figura 3.6) (23).

Figura 3.6. Ventajas(23)

Page 23: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

11

Figura 3.7. Ventajas de la RA, los logros alcanzados y los enfoques de aprendizaje que soporta(21).

Page 24: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

12

Page 25: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

13

4. Metodología y Desarrollo

En este capítulo se explicará la metodología que se ha desarrollado para el cumplimiento de los

objetivos propuestos al principio del TFG. Antes de empezar a exponer la metodología, a continuación,

se explicarán brevemente las herramientas que se han utilizado para su desarrollo.

• Unity: Es un entorno integrado de desarrollo creado por Unity Technologies con el fin de crear

contenido 3D completamente interactivo con el usuario. Es un software funcional, que posee

una amplia gama de funciones y diseños que permiten reducir el tiempo empleado al hacer

videojuegos o aplicaciones para todo tipo de plataforma tales como: aplicación Mac OSX,

ejecutable de Windows, iPhone, iPad, teléfonos y tabletas con Android, Wii, PS3 y Xbox 360.

Unity ha sido el lugar de desarrollo de múltiples juegos y es aplicable casi en cualquier entorno

que se desee. Se puede obtener de forma gratuita(24).

• Kinect: Es un controlador de juegos desarrollado por Microsoft y creado por Alex Kipman,

sirve para las plataformas de Xbox 360 y para ordenadores Windows. Tiene como objetivo

dar a los usuarios la capacidad de interactuar con objetos virtuales sin contacto físico con

dispositivos o consolas controladoras, este sistema utiliza una interfaz natural cuyo fin es el

reconocimiento de gestos, voces, objetos, entre otros (25). Este controlador utiliza un sensor

de profundidad, una cámara de infrarrojos que a su vez utiliza la tecnología de una cámara

RGB y un micrófono de múltiples matrices, el fin de este sensor es capturar los movimientos

de las personas (26).

• Vuforia: Es una plataforma que permite el desarrollo de aplicaciones (ya sea en ordenadores,

tabletas, monitores de realidad mixta (HMD- HoloLens), móviles, videojuegos, entre otros)

de Realidad Aumentada (AR) y Realidad Mixta (MR), mediante su integración a Unity. Esta

plataforma se puede utilizar por medio del seguimiento basado en marcadores (objetos o

imágenes registrados cuyo objetivo es poseer información y desencadenarla cuando la

cámara de algún dispositivo compatible lo reconoce, estos pueden ser desde códigos QR,

hasta etiquetas 2D) o aplicaciones sin marcado (Tecnología basada en el uso de GPS,

acelerómetro, giroscopio y algoritmos de procesamiento de imágenes, con el fin de

posiciones objetos virtuales o información en el entorno)(27).

• ARCore: Es una plataforma desarrollada por Google que tiene como objetivo la creación de

experiencias con AR. ARcore utiliza interfaces de programación de aplicaciones que logran

sumergir al móvil o Tablet en un ambiente de realidad mixta, dando la posibilidad de

interactuar con la información del entorno. Esta plataforma utiliza tres métodos calves para

Page 26: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

14

integrar el mundo virtual con el mundo real, estas son: el seguimiento del movimiento (capta

la posición en el entorno), la comprensión del ambiente (determina la ubicación y tamaño de

superficies) y la ubicación de todo tipo de superficies (horizontales, verticales y ángulos)(28).

Una vez mencionadas las herramientas, se procederá a explicar (paso a paso) los procedimientos

realizados durante el desarrollo del proyecto. Para esto, se tuvo en cuenta el siguiente diagrama (Figura

4.1)

Figura 4.1. Metodología

La metodología de trabajo se ha dividido en 3 fases que se explicarán a continuación:

• General: en esta fase se expondrá cómo fue el desarrollo del avatar en 3D, para esto, se

presentará el tratamiento de la base de datos (extracción, limpieza y organización) y el modelo

en el entorno Unity.

• Módulo 1: en este apartado se mostrará el procedimiento realizado para el desarrollo de la

aplicación móvil o de tableta para la plataforma Android y todo lo relativo a ello (creación de

escenas y entorno de visualización).

• Módulo 2: finalmente se explicará el proceso relacionado con la cinemática del avatar y como

se llegaron a obtener los movimientos del modelo (hololens-kinect, calibración y activación

muscular).

4.1. General

4.1.1. Base de datos (BD)

Con el fin de obtener un modelo 3D del cuerpo humano, se utilizó la Base de datos “BodyParts3D” del

creador: Kousaku Okubo la cual se puede utilizar de forma gratuita para el modelo masculino de un

Homo Sapiens y consta de 3907 elementos tridimensionales pertenecientes al cuerpo entero (29).

General Módulo 1 Módulo 2

Page 27: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

15

La metodología para el tratamiento adecuado de los datos inmersos en la base de datos se puede

relacionar en el siguiente diagrama de flujo (Figura 4.2).

Figura 4.2. Metodología para el tratamiento de la BD.

• Extracción

Para la extracción de los elementos integrados en la base de datos, se tuvo en cuenta cinco grandes

grupos: Huesos, músculos, órganos, vasos sanguíneos y otros. A partir de ello, se realizaron tres

subdivisiones, cabeza, piernas, torso, con el fin de facilitar la organización posterior.

En primer lugar, seleccionó el grupo general que se quería descargar. A efectos prácticos, se

demostrará un ejemplo con los Huesos de la cabeza, sin embargo, se realizó el procedimiento para

cada uno de los grupos y subgrupos respectivos. Ver Figura 4.3

Figura 4.3. Extracción de elementos de la base de datos. Imagen adaptada (29)

Una vez se obtiene el grupo, se eligieron todos los objetos presentes y se arrastraron a la ventana de

selección, consecutivamente se utilizó la herramienta denominada "Anatomograma" donde se

visualizó un modelo 3D que posteriormente, mediante el botón de “DLobj”, se procedió a descargar

en el ordenador. Ver figura 4.4.

Extracción Limpieza Organización

Page 28: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

16

Figura 4.4. Descarga de archivos. Imagen adaptada(29)

En el Anatomograma, se observó el conjunto de archivos descargados. Ver Figura 4.5

Figura 4.5. Elementos del grupo de huesos - subgrupo cabeza(29)

• Limpieza

De la fase de extracción se obtuvieron los 3907 archivos tipo “3D Object”. El problema que estos

presentaban era que no se lograba observar con claridad a que parte del cuerpo correspondía, ya que

cada objeto contenía caracteres iniciales que dificultaban su clasificación. Es por esta razón que se

procedió a limpiar en su totalidad los nombres de los elementos.

Esta acción se realizó por medio del programa “Advanced Renamer” en la versión para ordenador 3.84

lanzada por Microsoft Windows. Mediante el cual se pueden realizar cambios de nombre a una escala

masiva.

En primer lugar, se seleccionó la ventada denominada “Eliminar Patrón” y se escribió la secuencia que

se deseaba suprimir, los puntos simbolizaban los caracteres numéricos del patrón, posteriormente, se

verificó el nuevo nombre del archivo, si se encontraba correcto se procedió a oprimir el botón

Page 29: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

17

“Renombrar” y de esta manera quedaba modificado. Este procedimiento se realizó para cada una de

las carpetas de los grupos y subgrupos mencionados en el apartado anterior. La figura 4.6 representa

el proceso que se lleva a cabo para la limpieza de los nombres.

Figura 4.6. Limpieza “Advanced Renamer”

Durante la ejecución del programa, se pudo observar que algunos archivos provenientes de la base de

datos poseían el mismo nombre, esto se debe a que caracterizaban exactamente la misma parte del

cuerpo, la diferencia entre estos archivos “Repetidos” era que se complementaban entre sí para

corregir errores de versiones anteriores de la base de datos. A pesar de que esto sea un aspecto

positivo de las nuevas versiones descargadas, generó un error de lectura en el software “Advanced

Renamer” dado que al cambiar los nombres no se podía asignar el mismo a más de dos archivos

distintos tal como se puede observar en la Figura 4.7.

Page 30: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

18

Figura 4.7. Error nombres repetidos

Para solucionar estos errores, se interpuso un símbolo (_) al final de cada repetición de esta manera

(Figura 4.8):

Figura 4.8. Limpieza de Archivo Repetido

Esto fue posible gracias a la herramienta del programa denominada “Adjuntar subsegundo de imagen”

más “separador”.

• Organización

Finalmente, para finalizar el tratamiento de la base de datos, se organizó en carpetas y subcarpetas de

la siguiente manera ver figura 4.9. Cabe resaltar que para los resultados finales no se tuvieron en

cuenta los vasos, ya que no se encontraban completos a la hora de importarlos en Unity.

Nombre. Original

_Nombre.O

riginal_

Page 31: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

19

Figura 4.9. Organización de archivos

Page 32: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

20

4.1.2. Entorno Unity

• Importación y unión de elementos

A partir de la organización de las carpetas, se procedió a realizar en el software de Unity la importación

de todos los elementos presentes. Para esto se situaron las capetas creadas en la sección de assets de

Unity. Ver figura 4.10.

Figura 4.10. Importación: Assets carpetas organizadas

Posteriormente se realizó la unión de estas piezas. Para ello, se creó una escena denominada “HUMAN

BODY” con el fin de unificar el modelo 3D y poder modificar las texturas de cada parte del cuerpo. En

este espacio se situaron las carpetas organizadas siguiendo el esquema de la figura 4.9.

El siguiente ejemplo Ver figura 4.11 corresponde a la unidad de los huesos y sus subclasificaciones

respectivas. Sin embargo, hay que tener en cuenta que esto se obtuvo para todos los grupos y

subgrupos del esquema de la figura 4.9.

Figura 4.11. Unificación de elementos en Unity

Page 33: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

21

• Textura

Con el fin de diferenciar con claridad las partes del cuerpo del modelo anatómico, se insertaron

texturas semejantes a las de un modelo físico real, para esto se crearon 60 materiales con texturas

diferentes que se insertaron en las partes del cuerpo respectivas. Cabe destacar que los materiales con

mayor protagonismo corresponden a: huesos y músculos, ya que todas las estructuras Óseas (206

huesos) y musculares (639 músculos aproximadamente) poseen dichos materiales, sin contar que un

gran porcentaje de las estructuras contenidas en la base de datos poseían dos o más elementos por

parte del cuerpo, es decir que por un hueso podía haber tres elementos que lo conformaban y en

conjunto daban lugar a la pieza completa.

Para el desarrollo de este apartado, se utilizó la herramienta “Tag” del inspector de Unity Figura 4.12,

con el fin de visualizar parte por parte las estructuras anatómicas del modelo.

Figura 4.12. Herramienta (TAG) que facilita la visualización de los elementos

Para insertar las texturas, se seleccionaron los elementos (Uno por uno) y se arrastró hacía ellos el

material nuevo a implementar. Este proceso se realizó para los 3907 elementos diferenciando huesos,

músculos, vasos, órganos, entre otros.

En las siguientes figuras desde la 4.13 hasta 4.17, se puede apreciar como el cambio de texturas influye

en la percepción de la pieza y como se fueron diferenciando las partes del cuerpo. Los ejemplos a

continuación corresponden a los músculos, huesos y el órgano del cerebro.

• Músculos:

En la figura 4.13 se puede visualizar el modelo parcial de los músculos, donde es resaltable el

cambio de color de algunos elementos, en su mayoría en la parte derecha de este, donde las

piezas tornan de color rojizo, a este material se le denominó “MUSCLE MATERIAL” y fue

insertado a todo musculo contenido en el modelo virtual.

Page 34: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

22

Figura 4.13. Cambio de Textura “Músculos”

• Huesos:

En la figura 4.14, tal como en la 4.13, se puede apreciar la diferencia entre el color original del

modelo y la textura aplicada con el fin de diferenciar las estructuras anatómicas.

Figura 4.14. Cambio de Textura “Huesos”

• Cerebro:

Una de las estructuras a enfatizar más complejas a la hora de realizar el cambio de textura fue

el cerebro, ya que debido a su composición posee una gran cantidad de elementos, por lo que

fue necesario el uso de 18 materiales específicos (por estructura anatómica) como amígdala,

cerebelo, entre otros. Las figuras, 4.15, 4.16 y 4.17, hacen referencia al cambio de texturas del

cerebro.

Page 35: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

23

Figura 4.15. Cambio de Textura “Cerebro 1”

Figura 4.16. Cambio de Textura “Cerebro 2”

Figura 4.17. Cambio de Textura “Cerebro 3”

Page 36: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

24

Uno de los problemas con mayor relevancia durante esta fase es la presencia de archivos vacíos debido

a errores de importación de Unity, es decir, que no se lograban visualizar dichos objetos. Esto generó

un gran inconveniente a la hora de presentar el modelo completo ya que no se encontraban en Unity

todas las piezas originales. Se planteó la solución de importar de nuevo todos los archivos vacíos desde

otro ordenador, de cambiar las dimensiones de los objetos, de buscar uno por uno en la base de datos,

sin embargo, dichos archivos no fueron reconocidos por el software, este problema pudo ser generado

por la versión que se utilizó para el desarrollo de este trabajo o del procesador del ordenador (Figura

4.18).

Figura 4.18. Archivos vacíos Unity

Por otro lado, en Unity se pudieron ver los errores presentados en la primera clasificación de la base

de datos donde algunos archivos asociados a un grupo no correspondían al mismo. Por ejemplo, en la

sección de músculos se encontraban algunos huesos, así sucesivamente. Gracias al entorno de

visualización que permite este programa, se pudieron incorporar todos los elementos a sus grupos

respectivos.

Figura 4.19. Elementos faltantes “Perdidos”

Page 37: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

25

Finalmente, otro problema que se presentó durante la ejecución de Unity es la “Perdida” de elementos

del torso (Figura 4.19), esto sucedió dado que la base de datos tiene la opción de descargar otros

elementos ver figura 4.20 que no se habían tenido en cuenta en la primera organización de la base de

datos. Para la solución de este inconveniente, se descargaron dichos archivos y se repitió todo el

procedimiento anterior, desde la limpieza de los nombres, hasta el cambio de las texturas.

Figura 4.20. Otros elementos de la base de datos

4.2. Módulo 1: aplicación para móvil y tableta

Durante esta fase se desarrolló una aplicación móvil para Android, cuyo objetivo era visualizar de las

capas del avatar (Huesos, músculos y órganos) y a su vez que se pudiera obtener la descripción de los

órganos a disposición del usuario con la integración de realidad aumentada. Para el cumplimiento de

este objetivo, se realizaron dos sub-fases (Creación de escenas y entorno de visualización) que se

explicarán a continuación.

4.2.1. Creación de escenas

Para comenzar, hay que tener en cuenta la plataforma para la cual se va a desarrollar la APP, dado que

la configuración inicial del proyecto en Unity varía de acuerdo a esto. Este trabajo se realizó para

Android, ya que resulta ser más accesible que otras plataformas debido a que se puede ejecutar de

forma gratuita y es compatible con un mayor número de dispositivos en la actualidad.

En primer lugar, se creó un nuevo proyecto denominado: ”Body Human Android” y se modificó para

ser ejecutable en Android. Posteriormente, se procedió a realizar una interfaz de usuario (UI) donde se

pudiera presentar el modelo de forma interactiva.

Page 38: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

26

Gracias a la herramienta de UI que posee Unity, se establece el “Canvas”, lienzo o frontera, cuya

función es poseer todos los elementos UI que se deseen visualizar, como una imagen, un botón, entre

otros. En la figura 4.21, podemos ver el canvas y la adición de un botón que darán lugar a la primera

escena.

Figura 4.21. Canvas y botón

La aplicación consta de cuatro escenarios (Pantalla principal, SampleScene, Órganos, Anatomía) (figura

4.22) en los cuales se pretende interactuar con el usuario mediante botones, gráficos y realidad

aumentada. La creación de la cada una de las escenas se explicará a continuación:

Figura 4.22. Escenas de la aplicación

• Primera escena: “Pantalla principal”

Esta escena se creó con el fin de introducir al usuario a la aplicación móvil, contiene el nombre, una

descripción general y un botón que da conexión a la segunda escena. Cabe resaltar que todas las

escenas poseen enlace directo con la pantalla principal, mediante el icono de “Inicio”.

Con el fin de ajustar el canvas a la pantalla de un móvil “Huawei P20”, se cambió la resolución de

1366x768 a 2.240x1.080 [pixeles], tal como se puede observar en la figura 4.23.

Page 39: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

27

Figura 4.23. Ajuste de resolución

Finalmente se puso la descripción de la APP que contiene el siguiente mensaje:

“¡En esta aplicación podrás aprender anatomía mediante realidad aumentada! Hay dos

módulos denominados: Anatomía y Órganos desde los cuales podrás realizar una exploración

de un modelo 3D del cuerpo humano Si deseas aprender sobre anatomía general, mediante

la visualización de las capas del cuerpo tales como: Huesos, músculos, piel y órganos ¡la sección

de “Anatomía” es la indicada! Por el contrario. Si buscas profundizar en órganos y conocer la

descripción y el funcionamiento general de ellos. Dirígete al módulo de “órganos” de la

siguiente pestaña ¡Diviértete aprendiendo!”.

El script (Código en Microsoft visual Studio) utilizado para cambiar la escena se encuentra en los anexos

del presente documento [Anexo A – A1]

• Segunda escena: “SampleScene”

Posteriormente se diseñó la escena dos, cuyo propósito era hacer elegir al usuario entre las categorías

“anatomía” (escena 3) y “órganos” (escena 4). El modelo inicial puede ser observado en la figura 4.24

donde se dispone de un título y dos botones. Además, como en las próximas escenas, situamos dos

botones que simbolizan el retroceso de la pantalla y el inicio de la APP.

Page 40: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

28

Figura 4.24. Modelo inicial de la escena dos

Los scripts (Códigos en Microsoft visual Studio) utilizados para cambiar las escenas [2 a 3], [3 a 4] y

[todas a 1] se encuentra en los anexos del presente documento [Anexo A – (A2, A3, A4)]

• Tercera escena: “Anatomía”

Para este apartado, se importó el paquete que contenía el modelo del avatar previamente desarrollado

con el fin de implementarlo en realidad aumentada. La figura 4.25, corresponde al modelo inicial que

contenía un dropdown (menú desplegable), un título, el avatar y dos botones (atrás e inicio).

Figura 4.25. Modelo inicial escena 3

Posteriormente, se incorporaron cuatro Toogles (“Piel”, “Músculos”, “Huesos” y “Órganos”), casillas

que nos permiten seleccionar o deseleccionar las capas del cuerpo definidas anteriormente en la figura

4.9. Adicionalmente, se agregaron dos menús despegables para visualizar únicamente los subgrupos

de los músculos y los huesos, por ejemplo, si se desea ver los músculos de la cabeza y los huesos de las

piernas, únicamente se debe seleccionar en cada uno de los desplegables, cabeza y piernas

respectivamente.

Page 41: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

29

Los scripts (Códigos en Microsoft visual Studio) utilizados para la configuración de los toogle y los

dropdown, se encuentra en los anexos del presente documento [Anexo A – (A5, A6, A7)].

• Cuarta escena: “Órganos”

La última escena tiene como objetivo mostrar la descripción de algunos órganos y elementos internos

de relevancia mientras que se observan en realidad aumentada. Para ello, se importó únicamente el

modelo de los órganos (ver clasificación figura 4.9).

La pantalla inicial de este modelo se puede observar en la figura 4.26.

Figura 4.26. Modelo inicial escena 4

Los órganos y elementos internos implicados en esta sección fueron: ojo, cerebro, oídos, boca, nariz,

apéndice, intestinos, corazón, estomago, garganta, hígado, páncreas, riñones, pulmones y los

genitales. De estos 15 elementos se realizó una búsqueda de su definición, función y un dato curioso

de cada uno, por ejemplo:

-“El cerebro: ¡Es el mayor órgano del sistema nervioso central!, forma parte del centro de

control de todo el cuerpo, es responsable del pensamiento, la memoria, el razonamiento, las

emociones, el habla, el lenguaje, se encarga de procesar la información sensorial (tanto la

visual como la táctil), auditiva y olfatoria, además controla la coordinación y el movimiento.

Dato Curioso: El cerebro Representa el 2% de peso corporal, pero usa el 20% de la energía”

(30)(31).

Cabe mencionar que las descripciones proporcionadas de las diferentes partes del cuerpo se

obtuvieron directamente de fuentes bibliográficas. Hay que comentar que dependiendo del nivel

educativo en el cual se quiera utilizar la aplicación se podría completar con otras fuentes anatómicas,

como, por ejemplo, el libro de “Atlas de anatomía humana de Frank” (32).

Page 42: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

30

Este trabajo se ha pensado para estudiante de primer año de Ingeniería Biomédica o estudiantes que

se encuentren finalizando sus estudios de bachillerato.

Es importante destacar que dependiendo del nivel académico que se quiera dar a la herramienta se

podría completar la información de manera más exhaustiva. Por ejemplo, para ajustar la herramienta

a un nivel educativo para un estudiante de medicina, cuyo aprendizaje debe ser a profundidad y con el

mejor detalle posible, se deberán incluir un mayor número de conceptos y permitir el entendimiento

de las partes que componen dichos elementos, por ejemplo en la figura 4.27, relativa a los huesos de

la tibia y el peroné, se puede apreciar que el nivel de conocimiento que debe tener un estudiante de

medicina es de gran profundidad, buscando el aprendizaje de las partes específicas de dicho hueso. Sin

embargo, tal como se puede ver en la figura 4.28, el conocimiento para un estudiante de bachillerado

o de primero de ingeniería, es más general. Cabe resaltar que esta herramienta es completamente

adaptable a cualquier nivel educativo.

Figura 4.27. Nivel educativo para estudiante de medicina (33).

Page 43: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

31

Figura 4.28. Nivel educativo para estudiante de Bachillerato (34).

4.2.2. Entorno de visualización

Con el objetivo de desarrollar una aplicación interactiva con los usuarios, se diseñó una interfaz que

fuera agradable visualmente y fácil de utilizar. Para el cumplimiento de este propósito se usaron

diferentes iconos en representación a los dos módulos principales (anatomía y órganos)

• Icono principal: Este elemento se basa en dos manos sosteniendo un corazón, se eligió como

icono principal debido a que integra los dos módulos primordiales, el corazón en

representación de los órganos, y las manos de la anatomía, en la figura 4.29 se encuentra

plasmado el icono.

Figura 4.29. Icono principal (35)

• Iconos secundarios: Estos iconos (figura 4.30) representan algunos órganos del cuerpo, fueron

utilizados en la pantalla principal como forma de alusión a la temática de la aplicación.

Page 44: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

32

Figura 4.30. Iconos secundarios (36)

• Botón de “Anatomía”: Este botón corresponde a la figura 4.31, en la cual hay una animación

mitad piel, mitad huesos. Se eligió debido a que una de las aplicaciones de la sección de

anatomía es ocultar las capas del cuerpo (piel, músculos, huesos y órganos).

Figura 4.31. Botón de “Anatomía”(37)

• Botón de “órganos”: La figura 4.32 hace alusión al símbolo utilizado para seleccionar el

módulo de órganos elegido debido a que es la forma de un corazón real.

Figura 4.32. Botón de “Órganos”(38)

• Fondo de la aplicación: Se escogió el color azul para la aplicación gracias a la relación que se

tiene entre el azul y el sector de la salud. Alrededor de un 85% de las compañías líderes del

sector de la salud poseen el color azul en sus logos, esto generó cierta afinidad entre este color

y la medicina. Es por esto por lo que la aplicación se hizo en esta tonalidad. La figura 4.33,

expone el color utilizado (39).

Page 45: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

33

Figura 4.33. Color de la aplicación “Azul”

4.3. Módulo 2: Cinemática del Avatar

4.3.1. HoloLens – Kinect

Con el fin de crear una herramienta dinámica e interactiva con el usuario, se propuso captar por medio

de Kinect los movimientos generados por una persona e implementarlos en el modelo anatómico

desarrollado. Para dar cumplimiento a esto, se utilizó el modelo de código abierto HoloLens-Kinect de

Michelle Ma. (40)

Es importante destacar que este procedimiento únicamente se realizó para los huesos y músculos ya

que el movimiento de los órganos en conjunto con las otras partes del cuerpo requiere de

herramientas especiales y modelación matemática y el tiempo destinado para la realización de este

trabajo es corto.

En primer lugar, se organizó el modelo anatómico basado en la figura 4.34 con la diferencia de que

únicamente se establecieron dos puntos para cada muñeca denominados: HandRight/Left y

WristRight/Left tal como se puede apreciar en la figura 4.35.

Page 46: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

34

Figura 4.34. HoloLens- Kinect de Michelle Ma (41)

Para adaptar el avatar al modelo HoloLens se adecuaron los puntos señalados en la figura 4.34, esto se

realizó para hacer posible la lectura del esqueleto humano en el programa Kinect y facilitar la imitación

de los movimientos captados por el entorno en el avatar virtual.

En la figura 4.35, se pueden observar los puntos y nombres asignados al modelo desarrollado y su

posterior unión que en conjunto crean el patrón que permite el reconocimiento mediante el Kinect,

de la forma general del esqueleto.

Figura 4.35. Mapeo del Avatar

Page 47: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

35

Una vez se establecieron los puntos de manera conceptual, se procedió a implementar la organización

de los diferentes elementos que componen el modelo (Huesos y músculos) teniendo en cuenta la

clasificación anterior. Se redistribuyeron de los huesos y músculos de acuerdo al punto en donde se

encuentra situado. Por ejemplo, todos los huesos de las piernas desde “Ankle” hasta “Knee” van

situados en “Ankle”, de esta forma se agruparon nuevamente las piezas presentes.

4.3.2. Calibración del modelo

En esta sección se procedió a calibrar el modelo a fin de situar correctamente los puntos que forman

el esqueleto basado en la figura 4.35. Para esto, se dispuso de un cubo por cada sección que se localizó

en el centro de cada conjunto de elementos. En la figura 4.36 se puede visualizar la ubicación (de

izquierda a derecha) de los cubos: HandLeft, Head y footRight. Este procedimiento se realizó para todos

los puntos mencionados con anterioridad.

Figura 4.36. Calibración del modelo

Una vez situados los puntos, se aseguró que cada uno se encontrará inmerso en el objeto, para ello se

ajustó el tamaño del cubo y se situó en el centro del elemento, tal como se puede observar en la figura

4.37 Este procedimiento es de gran importancia ya los cubos contienen a todos los elementos (huesos

y músculos) de cada sección, de esta forma asegura que cuando el Kinect detecte el cuerpo, la posición

del modelo sea exactamente la del usuario. Los scripts (Códigos en Microsoft visual Studio) utilizados

Page 48: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

36

para la configuración del Kinect con el modelo se encuentran en los anexos (Anexo B) del presente

documento B1 y B2.

Figura 4.37. Calibración por cubos

Finalmente, se ocultaron los cubos y se tuvieron que reacomodar las partes del cuerpo con el fin de

situar bien los elementos y rotarlos en la posición deseada. Por ejemplo, en la figura 4.38, se puede

observar que se tuvo que ajustar la posición inicial, ya que esta parecía como si estuvieran siempre en

puntas, y se deseaba en posición de apoyo.

Figura 4.38. Calibración de elementos individuales

Page 49: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

37

4.3.3. Activación muscular

Con el fin de determinar la activación muscular se establecieron algunas bases de robótica y

trigonometría de ángulos que se explicarán a continuación.

Es importante saber que cuando se desean manipular piezas, debemos conocer su posición y

orientación en el espacio, para esto se emplean sistemas de coordenadas que se definen como un

conjunto de valores y puntos que permiten concretar la posición de un objeto. Para el presente trabajo

se utilizó un sistema de coordenadas cartesianas o rectangulares (x,y,z) cuyo conjunto de valores es

capaz de representar un punto especifico en el espacio en el que se encuentra(42).

Para demostrar la activación muscular, se realizó un ejemplo en el brazo, para ello se tomaron 3 puntos

de referencia, que corresponden a dos vectores cuya información posee una posición en el espacio

cartesiano, estos puntos fueron: ShoulderRight, ElbowRight y HandRight

En primer lugar, se establecieron 2 vectores (v1 y v2), y el ángulo entre ellos (θ), tal como se puede

observar en la figura 4.39.

Figura 4.39. Activación muscular. Imagen adaptada(43)

Para hallar el ángulo entre los vectores v1 y v2, debemos encontrar el arc-coseno de dicho ángulo

mediante la siguiente ecuación:

θ = 𝑐𝑜𝑠−1𝑣1 · 𝑣2

|𝑣1||𝑣2| [𝑔𝑟𝑎𝑑𝑜𝑠] (𝑒𝑐𝑢𝑎𝑐𝑖ó𝑛 1)

A partir del ángulo (θ) que está presente en el momento del movimiento, se puede determinar la

activación (contracción) o desactivación (relajación) de los músculos en cuestión, para efectos

Page 50: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

38

prácticos, se realizó el ejemplo con los músculos (bíceps y tríceps derecho), sin embargo, se puede

realizar para ver la activación de cualquier musculo del cuerpo, a continuación, se procederá a realizar

una breve descripción de estos músculos a fin de entender su biomédica.

Para comenzar, es importante destacar que cualquier movimiento presente en el cuerpo produce

contracciones y relajaciones constantes en los músculos. El bíceps y el tríceps son músculos que

permiten la movilidad de los brazos, ya que hacen posible la flexión del codo. El bíceps es un musculo

agonista, es decir que actúa a favor del movimiento que se realiza, mientras que el tríceps es

antagonista ya que se opone a este(44).

Estos músculos realizan un tipo de contracción isotónica, es decir que ejercen tensión constante debido

a que se encuentran presentes en el movimiento de articulaciones. Durante la flexión del codo, el

bíceps se acorta realizando una contracción isotónica concéntrica, mientras que el tríceps se alarga

produciendo una contracción isotónica excéntrica. La figura 4.40 muestra los momentos de

contracción y relajación de los músculos bíceps y tríceps (45)

Figura 4.40. momentos de contracción y relajación de los músculos bíceps y tríceps(46).

Con base en lo anterior, se establecieron parámetros con el fin de mostrar la contracción y relajación

de estos músculos, estos se encuentran registrados en la tabla 1.

Cabe resaltar que el ángulo entre los dos vectores realmente va desde los cero grados (0°) hasta los

ciento cuarenta y cinco grados (180°), sin embargo, el color rojo (0°) es difícil de obtener. En 90° se da

una contracción isométrica, es decir, que el musculo ni se alarga ni se acorta, pero genera un tipo de

tensión.

Page 51: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

39

Ángulo (Grados) Acción Color

180° • Tríceps contraído (Activo)

• Bíceps relajado (Inactivo)

Verde

90° • Tríceps contraído (contracción isométrica) (Activo)

• Bíceps contraído (contracción isométrica) (Activo)

Amarillo

0° • Bíceps contraído (Activo)

• Tríceps relajado (Inactivo)

Rojo

Tabla 1. Tabla de referencia de activación muscular

Es importante aclarar que para este estudio solo se han tenido en cuenta las translaciones. No incluye

rotaciones debido a que la tecnología Kinect (v2.0) utilizada no permite la captación de esta. En caso

se utilizase un sistema que incluya rotaciones, se podría realizar su adaptación.

Para la toma de resultados se ha desarrollado un script que captura las coordenadas de dichos puntos

(figura 4.40), calcula el ángulo entre ellos y posteriormente les asigna el color respectivo, este script se

encuentra en los anexos del presente documento (Anexo B3).

La figura 4.41, muestra cómo se obtienen los diferentes colores a partir de la variación de los ángulos.

Para la interpretación de sus resultados, ver la tabla 1.

Figura 4.41. Activación muscular

Page 52: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

40

5. Resultados

En esta sección se presentarán los resultados finales del proyecto en relación a la metodología

establecida previamente. Es por esto por lo que se dividen en tres partes: Generales, módulo 1 y

módulo 2. El primer apartado corresponde al modelo 3D desarrollado, consecutivamente en el primer

módulo se presentarán los resultados finales de la aplicación de Android y finalmente el módulo 2

contiene los resultados alusivos al movimiento y la cinemática del avatar.

5.1. Resultados generales

5.1.1. Modelo 3D del cuerpo humano

Los resultados correspondientes al Avatar se pueden dividir en tres secciones: Huesos, Músculos y

Órganos. Las figuras siguientes (de la 5.1 a la 5.3) contienen los modelos desarrollados por capas.

Figura 5.1. Modelo 3D de los huesos del cuerpo humano

Page 53: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

41

Figura 5.2. Modelo 3D de los músculos del cuerpo humano

Figura 5.3. Modelo 3D de los órganos del cuerpo humano

Page 54: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

42

Las siguientes figuras (5.4 y 5.5) permiten la visualización de la combinación de elementos de cada una

de las capas, por ejemplo, en la figura 5.4 se encuentran los huesos y órganos, mientras que la capa de

músculos está desactivada. En la figura 5.5.A se observa el modelo en donde los músculos de las

piernas, los huesos del torso y todos los órganos están activados, mostrando así la posibilidad de

realizar diversas combinaciones entre las capas según la necesidad del usuario. Por último, en la figura

5.5.B se puede observar el modelo en el momento que la capa de piel es activada.

Figura 5.4. Modelo 3D de los huesos y órganos del cuerpo humano

Figura 5.5. Modelo 3D de la piel

Page 55: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

43

5.2. Módulo 1

Esta sección contiene los resultados de la aplicación de Android desarrollada.

Una vez se descarga la aplicación, se dispone del icono principal que se puede observar en la figura 5.6

Cuando abrimos la aplicación, podemos ver la pantalla principal con el texto introductorio y un título

de bienvenida, al dar click al botón “Comenzar” de color verde aparece la escena dos que corresponde

a la “SampleScene”. La figura 5.7 contiene los resultados de izquierda a derecha de la pantalla principal

y la SampleScene. En la segunda escena, se puede observar el título de “¿Sobre qué te gustaría

aprender?”, a partir de ello, el usuario debe elegir entre la sección de anatomía y órganos.

Si el usuario elige “Anatomía” se va a encontrar con una interfaz que interactúa con el espacio en el

que se encuentra mediante el uso de ARcore de Google, cuando la aplicación detecta una superficie

plana se activa un plano que sitúa al modelo en dicha zona tal como se puede observar en la figura 5.8

donde en principio se tiene un plano en forma cuadrada y cuando damos click encima del aparecer el

modelo anatómico que podemos situar en cualquier lugar presente en nuestro entorno (Como en

nuestra mano). Esta escena tiene la característica de ser interactiva, ya que podemos comenzar a quitar

y poner capaz del cuerpo mediante los despegables y seleccionadores presentes en la interfaz. En la

figura 5.9 y 5.10, tenemos un ejemplo de cómo se ve el modelo cuando quitamos algunas capaz, por

ejemplo, en la figura 5.9 (de izquierda a derecha) se ve el modelo completo, posteriormente, el modelo

sin piel, seguidamente el avatar sin piel ni músculos. Por otro lado, también podemos utilizar las

herramientas de selección de secciones específicas para los músculos y huesos, en la figura 5.10, a

modo de ejemplo (de izquierda a derecha) tenemos: avatar con solo órganos, modelo con todos los

huesos y únicamente los músculos de la cabeza y finalmente solo los músculos de los brazos y los

huesos de la cabeza. Además, gracias a la realidad aumentada, podemos acercarnos al modelo y

adentrar en las profundidades de este, en la figura 5.11 y 5.13, podemos evidenciar lo anteriormente

mencionado.

Por otro lado, si el usuario desea “Órganos” se topará con una interfaz basada en 16 botones, donde

15 corresponden a algunos órganos y partes internas del cuerpo humano. Por ejemplo, en la figura

5.12 tenemos la visualización (de izquierda a derecha) de la interfaz sin órganos, posteriormente, todos

los órganos y finalmente únicamente los ojos y su respectiva descripción. En la figura 5.14 además del

cerebro y su descripción podemos observar cómo nos podemos introducir mediante la movilidad de la

cámara al interior de este órgano.

Finalmente, cabe resaltar que cada una de las secciones cuenta con un botón de inicio, que nos llevará

a la pantalla principal, y un botón de atrás cuyo objetivo es retroceder una escena, que se encuentra

en la parte superior de la pantalla.

Page 56: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

44

Figura 5.6. Icono de la aplicación

Figura 5.7. Resultados “Pantalla principal” y “SampleScene” (de izquierda a derecha)

Page 57: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

45

Figura 5.8. Resultados de la sección de “Anatomía” pantalla inicial

Figura 5.9. Resultados de la sección de “Anatomía” funciones interactivas

Page 58: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

46

Figura 5.10. Resultados de la sección de “Anatomía” funciones interactivas variadas

Figura 5.11. Resultados de la sección de “Anatomía” funciones interactivas variadas 2

Page 59: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

47

Figura 5.12. Resultados de la sección de “Órganos” funciones interactivas

Figura 5.13. Resultados de la sección de “Órganos” funciones interactivas variadas

Page 60: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

48

5.3. Módulo 2

Los resultados que se mostrarán a continuación surgen a partir de la conexión entre Kinect y unity,

tuvieron como objetivo mostrar la cinemática del cuerpo y la activación de un conjunto de músculos.

Esta sección se divide en dos partes: pruebas y resultado final.

5.3.1. Pruebas

Con el fin de obtener un resultado final, se realizaron diversas pruebas iniciales que nos permitieron la

detección de fallos, a continuación, se mostrarán los resultados de estas pruebas.

• Primera prueba: La primera prueba para el movimiento del modelo se desarrolló sin

implementar el avatar, es decir, únicamente deseábamos ver si el Kinect detectaba

correctamente el esqueleto de una persona. Para lo cual se pudo comprobar que

efectivamente realizaba correctamente el tracking y el esqueleto estaba completamente

visible. Por lo tanto, en caso de existir algún error en la implementación, se podría descartar la

posibilidad de fallo del Kinect. La figura 5.14 corresponde a los resultados de la primera prueba.

Figura 5.14. Pruebas del mapeo inicial

• Segunda prueba: En esta prueba se estableció la conexión de Kinect con unity. Se observó que

algunos elementos no se encontraban correctamente situados en el plano y por tal motivo se

tuvo que ajustar uno por uno para establecer una buena ubicación de estos. En la figura 5.15,

Page 61: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

49

podemos ver que inicialmente se tenía la cabeza girada mirando hacia abajo (primera imagen

de izquierda a derecha) y que se fue ajustando progresivamente (segunda imagen de izquierda

a derecha).

Figura 5.15. Segunda prueba

• Tercera prueba: Finalmente se realizaron algunos ajustes de posicionamiento en el espacio y

los resultados fueron los registrados en la figura 5.16.

Figura 5.16. Tercera prueba

Page 62: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

50

5.3.2. Resultado final

Se logró desarrollar un modelo que captara la cinemática del cuerpo a través de sensores incorporados

en Kinect, en la figura 5.17 y 5.18 se puede observar que cuando el usuario realiza diversos

movimientos, el avatar los reproduce al mismo instante, cumpliendo el objetivo de este módulo.

Figura 5.17. Resultado final

Page 63: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

51

Figura 5.18. Resultado final de la activación

Finalmente tenemos los resultados de la activación muscular, para esto se utilizó una textura de

gradiente, en la figura 5.19 se puede observar cómo cambia la gama de colores de los bíceps y tríceps

del brazo a medida que variamos el ángulo entre ellos. La interpretación de los resultados se encuentra

en la figura 4.41.

El resultado final del módulo 2 se encuentra en la figura 5.20 donde se integra la activación muscular,

con la cinemática y movimiento del avatar

Page 64: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

52

Figura 5.19. Resultado para la activación muscular

Figura 5.20. Resultado Modulo 2

Page 65: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

53

6. Encuesta y análisis de resultados

Con base en los resultados obtenidos, se desea medir el nivel de aceptación de la tecnología en

cuestión, por lo tanto, se diseñó una encuesta con el fin de determinar si a las personas que estudian

algo relacionado con anatomía les gustaba el producto en cuanto a contenido y forma.

Para la realización de la encuesta, se contactó con el docente Antonio Rafael Almirall que imparte la

asignatura de Fisiología de la Universidad Politécnica de Cataluña en el grado de ingeniería biomédica

y se envió a grupos de ingenieros biomédicos con el fin de enfocar sus resultados en estudiantes de

grados relacionados que ven materias de anatomía y fisiología. Al comienzo de la encuesta se mostró

un video de YouTube que contiene el resumen de los módulos del trabajo, la APP y la cinemática y

referente a ello se dispuso a preguntar a las personas su percepción acerca de ello.

La encuesta fue respondida por 33 personas que sirven como muestra para el objetivo de estudio. En

este apartado se mostrarán los resultados obtenidos y al finalizar, se realizará un respectivo análisis.

Las preguntas y resultados de la encuesta son:

1. ¿Se encuentra realizando algún grado relacionado con la anatomía humana? (Medicina,

Ingeniería Biomédica, Fisioterapia, Afines, …)

Figura 6.1. Resultados de la pregunta #1

Esta pregunta tuvo como objetivo focalizar la encuesta a personas cuyos estudios estuvieran

relacionados con el aprendizaje de la anatomía humana ya que como se ha definido previamente en

el apartado 4.2.1 en la sección de órganos, la aplicación se enfocó a estudiantes de los grados afines a

Page 66: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

54

la salud. El 100% de los encuestados respondió que se encontraba realizado algún grado afín. En caso

de que algún encuestado hubiese respondido “no”, no se hubiese tenido en cuenta su respuesta. (Ver

figura 6.1.

A partir de este enunciado, todas las preguntas se relacionaron con el vídeo que se dispuso para la

encuesta.

2. Primer Módulo: En relación a la aplicación desarrollada:

Posibles respuestas:

• Me ha resultado interesante y la utilizaría como método de apoyo en mis estudios de

anatomía.

• Considero que es interesante, sin embargo, no la implementaría en mi metodología de estudio

• Me ha parecido muy poco interesante y no la utilizaría para estudiar

• otra

Resultados:

Figura 6.2. Resultados de la pregunta #2

De los resultados (figura 6.2) se puede inferir que alrededor de un 81.8% de las personas considera

que es una aplicación interesante y que la implementaría como método de apoyo a sus estudios

de anatomía; un 15.2% considera que es interesante pero que no sería utilizada en su metodología

de estudio y finalmente un 3% de los encuestados contestó en el apartado otra: “Me ha resultado

interesante, puede que la utilizase si fuera fácil de funcionar “.

3. La aplicación me ha parecido:

Page 67: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

55

Posibles respuestas:

• Fácil de utilizar, interactiva y agradable a la vista

• Fácil de utilizar, interactiva, pero, desagradable a la vista

• Fácil de utilizar, poco interactiva y desagradable a la vista

• Difícil de utilizar, poco interactiva y desagradable a la vista

• Otra

Resultados:

Figura 6.3. Resultados de la pregunta #3

A partir de la figura 6.3 podemos determinar que el 78.8% considera que la aplicación es fácil de utilizar,

interactiva y agradable a la vista, un 18.2% de los encuestados piensan que la aplicación es fácil de

utilizar, interactiva, pero, desagradable a la vista y un 3% considera que es fácil de utilizar, poco

interactiva y desagradable a la vista.

4. ¿Considera que la realidad aumentada facilitaría el aprendizaje del cuerpo humano?

Posibles respuestas:

• Sí

• No

Resultados:

Page 68: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

56

Figura 6.4. Resultados de la pregunta #4

Un 100% de los encuestados piensa que la realidad aumentada facilitaría el aprendizaje del cuerpo

humano (figura 6.4).

5. De 1 a 5, ¿que tanto le gustó la aplicación? (Siendo (5) me gustó mucho y (1) no me gustó nada)

Posibles respuestas:

• 1

• 2

• 3

• 4

• 5

Resultados

Figura 6.5. Resultados de la pregunta #5

Page 69: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

57

Los resultados de este apartado (figura 6.5) mostraron que a un 39.4% les gustó mucho la aplicación

móvil, a un 48,5% les gustó, a un 9.1% ni les gustó, ni les disgustó y un 3% de los encuestados considera

que no le gusta la aplicación.

Para finalizar las preguntas relacionadas con la aplicación móvil, se dispuso de un apartado opcional

denominado “Comentarios adicionales (Opcional)”, con el fin de recibir críticas constructivas de dicha

aplicación.

Se recibió un solo comentario que dice lo siguiente: “Veo un poco complicado el hecho de meterte

dentro del cuerpo, músculos ... con el móvil, no consigues pararte a observar con detenimiento

suficiente lo que quieres ver”.

6. Segundo Módulo: En relación al modelo cinemático:

Posibles respuestas:

• Me ha resultado interesante y lo utilizaría como método de apoyo en mis estudios de

cinemática y biomecánica.

• Considero que es interesante, sin embargo, no lo implementaría en mi metodología de estudio

• Me ha parecido muy poco interesante y no lo utilizaría para estudiar

• otra

Resultados

Figura 6.6. Resultados de la pregunta #6

Page 70: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

58

En relación al módulo 2 (figura 6.6), se obtuvo que 69.7% de las personas consideran que el modelo

cinemático es interesante y lo utilizaría como método de apoyo en sus estudios de cinemática y

biomecánica, un 21.2% considera que es interesante, sin embargo no lo utilizaría en su metodología

de estudio, un 3% de los encuestados le pareció poco interesante y no lo utilizaría para estudiar y en el

apartado de otros un 6.1 % ha contestado que “el modelo cinemático es interesante y lo utilizaría como

método de apoyo en sus estudios de cinemática y biomecánica”, sin embargo, esta opción ya se

encontraba en las posibles respuestas, por lo que se puede inferir que un 75.8% considera que es un

modelo interesante y lo aplicaría para su metodología de estudio.

7. ¿Considera que la realidad virtual facilitaría el aprendizaje del cuerpo humano?

Posibles respuestas:

• Sí

• No

Resultados

Figura 6.7. Resultados de la pregunta #7

Un 100% de los encuestados piensa que la realidad virtual facilitaría el aprendizaje del cuerpo humano

(figura 6.7).

8. De 1 a 5, ¿que tanto le gustó el modelo? (Siendo (5) me gustó mucho y (1) no me gustó nada)

Posibles respuestas:

Page 71: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

59

• 1

• 2

• 3

• 4

• 5

Resultados

Figura 6.8. Resultados de la pregunta #8

A partir de la gráfica de la figura 6.8 se puede inferir que un 45.5% de los encuestados consideran que

el modelo cinemático les gusta, a un 39.4% les gusta mucho, a un 12.1% ni les gusta ni les desagrada y

a un 3% les disgusta.

Con base a los resultados obtenidos, se puede decir que la tecnología en cuestión posee un alto

potencial de aceptación ya que al menos un 80 % de los encuestados ha respondido que le gustó tanto

la aplicación móvil, como el modelo cinemático.

Por otro lado, un 100% de todos los encuestados considera que tanto la realidad aumentada, y la

realidad virtual ayudarían a mejorar significativamente el aprendizaje de anatomía, esto puede ser

debido a que es una tecnología que en los últimos años ha mostrado ser prometedora tanto para el

sector educativo como para el de la salud, una de las razones fundamentales es que da a los usuarios

la sensación de estar teniendo una experiencia real gracias a la combinación de elementos virtuales

con elementos reales.

Page 72: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

60

Además, se evidencia que a las personas les gustaría aprender con herramientas de este tipo ya que

más de un 60% implementarían la tecnología en su metodología de estudio, es decir, que más de la

mitad de las personas aplicarían técnicas de realidad aumentada para su aprendizaje en el sector de

anatomía. Sin embargo, aún hay personas que indican que no utilizarían este método para estudiar,

una de las razones que podría ajustarse a dicho resultado, es el nivel de educación que se ha aplicado

a fines demostrativos, sin embargo, como se ha mencionado anteriormente la aplicación es

completamente adaptable a cualquier nivel deseado.

Se puede observar, que algunas personas consideran que la aplicación y el modelo cinemático no es

agradable a la vista, uno de los factores que pueden influir en este comportamiento, es que la

demostración de la aplicación se ha hecho mediante un vídeo de YouTube y los usuarios no han tenido

la oportunidad de interactuar con ella y a pesar de que un alto porcentaje considere que es una

aplicación interactiva (un 97% de los encuestados) se deben realizar ajustes de presentación (forma)

para alcanzar un nivel mayor de aceptación.

Page 73: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

61

7. Futuras mejoras

En este apartado se propondrán futuras mejorar de la tecnología desarrollada, para esto se dividirá en

las tres secciones relativas a la metodología y resultados de este trabajo (General, modulo 1 y modulo

2), ver apartados 4 y 5 del presente documento.

7.1. Avatar 3D (General)

Futuras mejoras del modelo 3D desarrollado:

• A pesar de que se ha trabajado con 3907 partes del cuerpo, han quedado algunas partes del

modelo incompletas debido a errores de la base de datos, incompatibilidad de elementos con

la versión de Unity utilizada (2018.3.1), o que el ordenador no tiene la suficiente capacidad

para captar estos archivos. Por lo tanto, se propone completar el avatar con las partes

anatómicas faltantes ya sea desde otro ordenador, o una versión más actualizada del software.

7.2. Aplicación para móvil y tableta (Modulo 1)

De la aplicación para móvil y tableta se proponen las siguientes mejoras a futuro:

• Insertar los órganos y partes a partir del modelo actualizado del avatar.

• Completar la información anatómica, así como su escalado.

• Añadir Preguntas /cuestiones tipo test (para evaluar a estudiantes) con diferentes grados

de complejidad

• Adaptar la tecnología a distintos positivos haciendo uso de diferentes tipos de

posicionamiento (marcadores).

• Adecuar la herramienta a los diferentes niveles educativos

• Mejorar el entorno de visualización de la APP

• Integrar el reconocimiento o la información conceptual de patologías

7.3. Modelo cinemático (Modulo 2)

Del modelo de cinemática se formula:

• Desarrollar modelos de comportamiento del tejido muscular realista en base a

métodos numéricos.

• Incluir otros músculos para el análisis cinemático como los tendones.

Page 74: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

62

• Añadir rotaciones en el estudio.

Page 75: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

63

8. Análisis del impacto ambiental

La realización del presente trabajo no supone ningún riesgo ambiental ya que se ha realizado mediante un ordenador con el uso de softwares y programas que no generan, de forma directa, un impacto significativo, adicionalmente el presente proyecto no involucra la generación de residuos ambientales derivados de ninguna etapa del proyecto. Sin embargo, de manera indirecta, se ha tenido un consumo energético a causa del uso del ordenador, para disminuir dicho impacto, se tomaron algunas medidas tales como:

• Apagar el ordenador cuando no se encontrará en uso

• Trabajar con parámetros de ahorro de batería con el fin de disminuir el tiempo que se encontraba enchufado a la red

• Utilizar, en su mayoría, luz del día para evitar el consumo de luz en horas de la noche

• Evitar el gasto de papel (Impresiones, copias, etc.)

Page 76: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …
Page 77: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

65

Conclusiones

Al culminar el proyecto, se puede concluir que se ha logrado desarrollar una herramienta tecnológica

basada en la creación de un modelo anatómico en 3D en realidad virtual y aumentada. Dicha

herramienta, logra dar soporte al aprendizaje del cuerpo humano de forma pedagógica e interactiva,

objetivo que se cumple mediante la generación de un entorno de conocimiento adecuado que

complementa los métodos tradicionales de educación en el ámbito de anatomía y fisiología humana.

Por otro lado, se ha logrado desarrollar un avatar que representa el cuerpo humano, el cual se

encuentra organizado en tres capas: huesos, músculos y órganos. El modelo contiene diferentes

texturas que permiten la diferenciación de cada una de sus partes, y así conseguir un mejor

entendimiento del organismo.

Se logra crear una aplicación interactiva, fácil de utilizar y agradable a la vista de carácter educativo, en

la cual se puede explorar el cuerpo humano en realidad aumentada.

Se pudo realizar la detección de movimientos por parte del usuario y determinar la activación del

bíceps y tríceps mediante la implementación de un avatar 3D en realidad virtual. Esta herramienta

cuenta con el potencial de ser un modelo inicial para estudios futuros en biomecánica y métodos

numéricos.

Se limpiaron, estructuraron y clasificaron los elementos de la base de datos “BodyParts3D de Life

Science” obteniendo la organización completa de los archivos contenidos; se aplicaron diferentes

texturas a los elementos procedentes de la base de datos; se ajustó el modelo anatómico en un

entorno de programación; se lograron crear escenas para la aplicación de móvil y a partir de esto, se

alcanzó la interacción con los usuarios; se construyó un entorno de visualización agradable a la vista y

fácil de utilizar; se desarrollaron distintos algoritmos en el lenguaje “C” de programación que

permitieron: cambiar escenas, interactuar con botones y desplegables, que habilitaran la conexión

entre Kinect y el avatar, y determinaran la activación de bíceps y tríceps.

Finalmente, se puede concluir que “Human Body” tiene un nivel de aceptación alto, ya que a más de

un 80% de los encuestados les ha gustado la tecnología, más del 75% de ellos la implementaría en su

metodología de estudios y un 100% considera que la realidad aumentada y virtual facilitarían el

aprendizaje del cuerpo humano. Por otro lado, se considera una tecnología con un alto potencial

debido a que actualmente se ha incrementado el número de inversiones realizadas en este campo y

las investigaciones actuales infieren que la implementación de AR y VR en los métodos de educación

mejoran significativamente la capacidad de aprendizaje y la retención de conceptos de los estudiantes.

Page 78: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

66

Para concluir, se ha desarrollado una tecnología altamente prometedora, que logra complementar los

métodos de enseñanza tradicionales, con un alto nivel de aceptación.

Page 79: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

67

Presupuesto y Análisis Económico

En este apartado se describirá el presupuesto asociado a la realización del proyecto.

Con el fin de determinar el coste total del proyecto, se dividió en dos secciones: costes de materiales y

costes personales que se definirán a continuación.

• Costes de materiales:

El presupuesto destinado a costes de materiales hace referencia a elementos (tanto físicos, como

informáticos) que son necesarios para la realización del trabajo final tales como: El ordenador, las

licencias de los programas utilizados, las herramientas tecnológicas de realidad virtual y

aumentada (HoloLens), entre otros. La tabla 2, es la justificación de los elementos (Uno por uno)

utilizados durante el desarrollo de este proyecto y su respectivo coste.

Material Costo

Ordenador € 1.200,00

Licencia Office € 99,00

Unity Pro-Licencia € 0,00

Kinect € 79,99

Advanced Renamer Personal license € 20,00

Costo total € 1.398,99

Tabla 2. Tabla asociada a costes de materiales Total de costes materiales: € 1.398,99

• Costes personales:

Por otro lado, los costes de carácter “personal” son relativos a la valoración monetaria asociada a

las tareas realizadas durante el proyecto, tales como: planeación, investigación, desarrollo del

Page 80: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

68

prototipo final, entre otros. Cabe resaltar que este apartado se subdivide en dos partes: los costes

para la estudiante de grado y los del tutor.

Las tablas 3 y 4 contienen el coste total de las tareas realizadas en determinada cantidad de horas,

para esto se tuvo en cuenta el coste por hora de realizar cada labor y la cantidad de horas

empleadas. La tabla 3 corresponde al estudiante de grado y la tabla 4 al tutor del trabajo.

Tarea Costo por hora Cantidad de

horas Costo Total

Planeación €

20,00 10

€ 200,00

Investigación €

20,00 90

€ 1.800,00

Desarrollo del proyecto €

25,00 280

€ 7.000,00

Redacción €

20,00 130

€ 2.600,00

Pruebas €

20,00 70

€ 1.400,00

Costo total €

13.000,00

Tabla 3. Tabla asociada a costes personales para la estudiante de grado

Tarea Costo por hora Cantidad de

horas Costo Total

Coordinación del proyecto €

60,00 50

€ 3.000,00

Costo Total €

3.000,00

Tabla 4. Tabla asociada a costes personales para el tutor del proyecto

Total de costes personales: € 16.000,00

Finalmente, para determinar el presupuesto total del proyecto de deben sumar el total de costes

materiales y el total de costes personales, tal como se puede observar en la tabla 5.

Page 81: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

69

• Presupuesto total:

Tipo de coste Costo (Euros)

Total de costes materiales € 1.398.99

Total de costes personales € 16.000,00

Presupuesto total € 17.398,99

Tabla 5. Tabla del presupuesto total del proyecto

Page 82: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

70

Plan de trabajo

El presente plan de trabajo contiene las fechas y actividades correspondientes a la realización del

proyecto. La planeación se realizó en un diagrama de Gantt y se subdividió en bimestres donde se

tuvieron en cuenta los siguientes apartados: fase inicial, estado del arte, desarrollo del proyecto,

redacción del documento y presentación final.

• Diciembre del 2018 y enero del año 2019:

En el primer bimestre, se realiza la fase inicial del proyecto, donde se define el tema, los objetivos, el

alcance y se desarrolla el estado del arte (ver figura 0.1).

Figura 0.1. Diagrama de Gantt meses diciembre (2018) y enero (2019)

• Febrero y marzo del 2019:

En el segundo bimestre comienza la ejecución del trabajo, en primer lugar, se desarrolla el avatar en

realidad virtual y aumentada, posteriormente se elabora la aplicación de móvil y la cinemática del

avatar. Cabe resaltar que durante cada fase se redacta la parte respectiva de la memoria del proyecto.

La figura 0.2 evidencia la planeación de los meses febrero y marzo de 2019.

Page 83: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

71

Figura 0.2. Diagrama de Gantt meses febrero y marzo (2019)

• Abril y mayo del 2019:

En los meses de abril y mayo, se continua con el desarrollo de proyecto y se realiza la redacción final

del documento.

A partir del 30 de mayo de 2019 hasta el 4 de junio se realiza el depósito del trabajo final (figura 0.3).

Figura 0.3. Diagrama de Gantt meses abril y mayo (2019)

• Junio y julio del 2019:

En el último bimestre, entre junio y julio del 2019, se presenta el trabajo final, donde se entrega el

documento escrito y posteriormente se realiza la presentación frente a tribunal. (ver figura 0.4)

Page 84: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

72

Figura 0.4. Diagrama de Gantt meses junio y julio (2019)

Page 85: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

73

Bibliografía

1. Nielsen, B.L., Brandt, H. i Swensen, H. Augmented Reality in science education–affordances for student learning. A: Nordic Studies in Science Education [en línia]. 2016, Vol. 12, núm. 2, p. 157. ISSN 1894-1257. DOI 10.5617/nordina.2399. [Consulta: 2 juny 2019]. Disponible a: https://journals.uio.no/index.php/nordina/article/view/2399.

2. The Promising Roles of Augmented Reality in Educational Setting: A Review of the Literature. A: International Journal of Educational Methodology [en línia]. 2018, Vol. 4, núm. 3. ISSN 24699632. DOI 10.12973/ijem.4.3.125. [Consulta: 31 maig 2019]. Disponible a: https://www.ijem.com/the-promising-roles-of-augmented-reality-in-educational-setting-a-review-of-the-literature.

3. Makary, M.A. i Daniel, M. Medical error—the third leading cause of death in the US. A: BMJ [en línia]. 2016, p. i2139. ISSN 1756-1833. DOI 10.1136/bmj.i2139. [Consulta: 7 maig 2019]. Disponible a: http://www.bmj.com/lookup/doi/10.1136/bmj.i2139.

4. Worldwide Spending on Augmented and Virtual Reality Forecast to Reach $17.8 Billion in 2018, According to IDC. A: [en línia]. [Consulta: 7 maig 2019]. Disponible a: https://www.idc.com/getdoc.jsp?containerId=prUS43248817.

5. ¿Cuándo tuvo lugar la primera emisión de televisión? - Saberia. A: [en línia]. [Consulta: 4 maig 2019]. Disponible a: http://www.saberia.com/cuando-tuvo-lugar-la-primera-emision-de-television/.

6. Morton Heilig | American cinematographer | Britannica.com. A: [en línia]. [Consulta: 4 maig 2019]. Disponible a: https://www.britannica.com/biography/Morton-Heilig.

7. Evolución de la realidad virtual. A: [en línia]. [Consulta: 4 maig 2019]. Disponible a: http://www.pensamientoscomputables.com/entrada/Realidad-Virtual/3D/Head-tracking/Vision-artificial.

8. Centro para desarrolladores de Oculus | Información general. A: [en línia]. [Consulta: 7 maig 2019]. Disponible a: https://developer.oculus.com/.

9. Best Buy International: Select your Country - Best Buy. A: [en línia]. [Consulta: 23 maig 2019]. Disponible a: https://www.bestbuy.com/site/oculus-rift-touch-virtual-reality-headset-bundle-for-compatible-windows-pcs-black/5989502.p?skuId=5989502.

10. HTC Vive review. A: [en línia]. [Consulta: 7 maig 2019]. Disponible a: https://www.wareable.com/vr/htc-vive-review.

11. Augmented Reality: Principles and Practice. A: [en línia]. [Consulta: 7 maig 2019]. Disponible a: https://arbook.icg.tugraz.at/Schmalstieg-2016-AW.

12. ¿Qué es la realidad aumentada y cómo funciona? | Xperiencia Virtual. A: [en línia]. [Consulta: 7 maig 2019]. Disponible a: https://www.xperienciavirtual.es/es/que-es-la-realidad-aumentada/.

13. "Realidad Aumentada" (Parte I) ¿Un nuevo concepto? ¿Una nueva tecnología? A: [en línia]. [Consulta: 7 maig 2019]. Disponible a: http://campuseducativo.santafe.gob.ar/wp-

Page 86: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

74

content/uploads/adjuntos/mochila/20170623220002RA-1.pdf.

14. La realidad aumentada gana terreno en el sector salud - Campus Sanofi. A: [en línia]. [Consulta: 23 maig 2019]. Disponible a: https://campussanofi.es/smart-care/noticias/la-realidad-aumentada-gana-terreno-en-el-sector-salud/.

15. Sistema de realidad aumentada para el tratamiento de fobias creado por Cedetel. A: [en línia]. [Consulta: 23 maig 2019]. Disponible a: http://www.dicyt.com/viewItem.php?itemId=19648.

16. Latifi, R.-, Rhee, P.M. i Gruessner, R.W.G. Technological Advances in Surgery, Trauma and Critical Care [en línia]. New York, NY: Springer New York, 2015. ISBN 978-1-4939-2670-1. DOI 10.1007/978-1-4939-2671-8. [Consulta: 23 maig 2019]. Disponible a: http://link.springer.com/10.1007/978-1-4939-2671-8.

17. Vávra, P. et al. Recent Development of Augmented Reality in Surgery: A Review. A: Journal of Healthcare Engineering [en línia]. Hindawi, 2017, Vol. 2017, p. 1-9. ISSN 2040-2295. DOI 10.1155/2017/4574172. [Consulta: 31 maig 2019]. Disponible a: https://www.hindawi.com/journals/jhe/2017/4574172/.

18. La realidad aumentada en medicina ayuda a salvar vidas | Neosentec. A: [en línia]. [Consulta: 31 maig 2019]. Disponible a: https://www.neosentec.com/la-realidad-aumentada-en-medicina-ayuda-a-salvar-vidas/.

19. La realidad aumentada gana terreno en el sector salud - Campus Sanofi. A: [en línia]. [Consulta: 16 maig 2019]. Disponible a: https://campussanofi.es/smart-care/noticias/la-realidad-aumentada-gana-terreno-en-el-sector-salud/.

20. Christou, C. Virtual Reality in Education. A: Affective, Interactive and Cognitive Methods for E-Learning Design [en línia]. IGI Global, p. 228-243. DOI 10.4018/978-1-60566-940-3.ch012. [Consulta: 31 maig 2019]. Disponible a: http://services.igi-global.com/resolvedoi/resolve.aspx?doi=10.4018/978-1-60566-940-3.ch012.

21. Reality, R.Y.-S. of the art virtual reality and augmented i 2018, undefined. Augmented reality trends in education between 2016 and 2017 years. A: intechopen.com [en línia]. [Consulta: 31 maig 2019]. Disponible a: https://www.intechopen.com/books/state-of-the-art-virtual-reality-and-augmented-reality-knowhow/augmented-reality-trends-in-education-between-2016-and-2017-years.

22. Las 10 mejores apps de realidad aumentada para educación | Realinfluencers. A: [en línia]. [Consulta: 31 maig 2019]. Disponible a: https://www.realinfluencers.es/2016/11/29/10-mejores-aplicaciones-realidad-aumentada-eduacion/.

23. (1) Realidad Aumentada en educación, formación y entrenamiento | Onirix - YouTube. A: [en línia]. [Consulta: 31 maig 2019]. Disponible a: https://www.youtube.com/watch?v=pVxoIMKzDpc.

24. Unity engine - Mod DB. A: [en línia]. [Consulta: 31 maig 2019]. Disponible a: https://www.moddb.com/engines/unity.

25. Microsoft Fully Unveils Kinect for Xbox 360 Controller-Free Game Device - World News Report - EIN News. A: [en línia]. [Consulta: 31 maig 2019]. Disponible a: https://world.einnews.com/pr_news/56709028/microsoft-fully-unveils-kinect-for-xbox-360-

Page 87: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

75

controller-free-game-device.

26. iNGENET Bitácora | ¿Te has preguntado cómo funciona el sensor de Kinect? A: [en línia]. [Consulta: 31 maig 2019]. Disponible a: http://bitacora.ingenet.com.mx/2012/12/¿te-has-preguntado-como-funciona-el-sensor-de-kinect/.

27. Vuforia - Unity Manual. A: [en línia]. [Consulta: 31 maig 2019]. Disponible a: https://docs.unity3d.com/es/2018.1/Manual/vuforia-sdk-overview.html.

28. ARCore overview | ARCore | Google Developers. A: [en línia]. [Consulta: 31 maig 2019]. Disponible a: https://developers.google.com/ar/discover/.

29. Mitsuhashi, N. et al. BodyParts3D: 3D structure database for anatomical concepts. A: Nucleic Acids Research [en línia]. 2009, Vol. 37, núm. Database, p. D782-D785. ISSN 0305-1048. DOI 10.1093/nar/gkn613. [Consulta: 4 maig 2019]. Disponible a: http://www.ncbi.nlm.nih.gov/pubmed/18835852.

30. Pelvig, D.P. et al. Neocortical glial cell numbers in human brains. A: Neurobiology of aging [en línia]. 2008, Vol. 29, núm. 11, p. 1754-62. ISSN 1558-1497. DOI 10.1016/j.neurobiolaging.2007.04.013. [Consulta: 1 juny 2019]. Disponible a: http://www.ncbi.nlm.nih.gov/pubmed/17544173.

31. Fragopoulou, A.F. et al. Brain proteome response following whole body exposure of mice to mobile phone or wireless DECT base radiation. A: Electromagnetic Biology and Medicine [en línia]. 2012, Vol. 31, núm. 4, p. 250-274. ISSN 1536-8378. DOI 10.3109/15368378.2011.631068. [Consulta: 1 juny 2019]. Disponible a: https://www.tandfonline.com/doi/full/10.3109/15368378.2011.631068.

32. Netter, F.H. (Frank H. Atlas de anatomia humana. Elsevier Masson, 2015. ISBN 9788445826072.

33. Pontifica Universidad Católica de Valparaíso. Descripción huesos de pierna y pie. A: [en línia]. [Consulta: 1 juny 2019]. Disponible a: http://www.anatomiahumana.ucv.cl/kine1/top7.html.

34. Saude e medicina. Tibia. A: [en línia]. [Consulta: 1 juny 2019]. Disponible a: https://pt.slideshare.net/rosarioservinh/tibia-14616452/5.

35. Manos sosteniendo el icono del corazón - Descargar PNG/SVG transparente. A: [en línia]. [Consulta: 27 maig 2019]. Disponible a: https://es.vexels.com/png-svg/vista-previa/151780/manos-sosteniendo-el-icono-del-corazon.

36. Increíbles Vectores, Ilustraciones y PNGs de Uso Comercial | Vexels. A: [en línia]. [Consulta: 27 maig 2019]. Disponible a: https://es.vexels.com/.

37. Anatomía - Iconos gratis de médico. A: [en línia]. [Consulta: 28 maig 2019]. Disponible a: https://www.flaticon.es/icono-premium/anatomia_757043.

38. Icono del órgano del corazón - Descargar PNG/SVG transparente. A: [en línia]. [Consulta: 28 maig 2019]. Disponible a: https://es.vexels.com/png-svg/vista-previa/151784/icono-del-organo-del-corazon.

39. ¿Cómo elegir el color de un logo de salud? | 99designs. A: [en línia]. [Consulta: 28 maig 2019]. Disponible a: https://99designs.es/logo-design/business-of-color/healthcare.

Page 88: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Memoria

76

40. Building a Telepresence App with HoloLens and Kinect - Windows Developer Blog. A: [en línia]. [Consulta: 15 maig 2019]. Disponible a: https://blogs.windows.com/buildingapps/2017/04/18/building-telepresence-app-hololens-kinect/#VQr3RteRsubh0Xoa.97.

41. Building a Telepresence App with HoloLens and Kinect - Windows Developer Blog. A: [en línia]. [Consulta: 28 maig 2019]. Disponible a: https://blogs.windows.com/buildingapps/2017/04/18/building-telepresence-app-hololens-kinect/#hwdJyB5whK1JLbqq.97.

42. F.Hugo Ramírez Leyva. Modelado Cinemática de Robots. A: [en línia]. 2012. [Consulta: 2 juny 2019]. Disponible a: http://www.utm.mx/~hugo/robot/Robot2.pdf.

43. 3B Scientific M11 Modelo de anatomía humana Brazo Con Músculos de Lujo, 6 Partes: Amazon.es: Industria, empresas y ciencia. A: [en línia]. [Consulta: 1 juny 2019]. Disponible a: https://www.amazon.es/3B-Scientific-M11-anatomía-Músculos/dp/B007NCVSN6.

44. Drake, R.L. et al. Gray anatomia para estudiantes [en línia]. Elsevier, 2010. ISBN 9788481748321. [Consulta: 1 juny 2019]. Disponible a: https://es.wikipedia.org/wiki/Músculo_bíceps_braquial.

45. 4. Sistema muscular. A: [en línia]. [Consulta: 1 juny 2019]. Disponible a: http://e-ducativa.catedu.es/44700165/aula/archivos/repositorio//1000/1121/html/4_sistema_muscular.html.

46. Tisular Biomecánica. A: [en línia]. [Consulta: 1 juny 2019]. Disponible a: http://tisularbiomecanica.blogspot.com/.

Page 89: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

77

Anexo A

A1. Código para cambiar escena (1 a 2)

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class CambiarPantalla : MonoBehaviour { public void Cambiarescena (string SampleScene) { SceneManager.LoadScene("SampleScene"); } }

A2. Código para cambiar escena (2 a 3)

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class Anatomia : MonoBehaviour { public void Anatomy(string SampleScene) { SceneManager.LoadScene("Anatomiacapas"); } }

A3. Código para cambiar escena (2 a 4)

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class Organos : MonoBehaviour { public void OrganosScena(string SampleScene) { SceneManager.LoadScene("Organos"); }

Page 90: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Annexos

78

}

A4. Código para cambiar escena (cualquiera a 1)

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class A_INICIO : MonoBehaviour { public void Inicio(string SampleScene) { SceneManager.LoadScene("Pantalla Principal"); } }

A5. Código para activar o desactivar los toogle

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class menu : MonoBehaviour { public GameObject HUESOS, MUSCULOS, ORGANOS, VASOS, PIEL; public void ActivarHuesos() { bool HuesosOn = gameObject.GetComponent<Toggle>().isOn; if (HuesosOn) { HUESOS.SetActive(true); } if (!HuesosOn) { HUESOS.SetActive(false); ; } } public void ActivarMusculos() { bool MusculosOn = gameObject.GetComponent<Toggle>().isOn; if (MusculosOn) { MUSCULOS.SetActive(true); } if (!MusculosOn) { MUSCULOS.SetActive(false); ; } } public void ActivarOrganos()

Page 91: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

79

{ bool OrganosOn = gameObject.GetComponent<Toggle>().isOn; if (OrganosOn) { ORGANOS.SetActive(true); } if (!OrganosOn) { ORGANOS.SetActive(false); ; } } public void ActivarVasos() { bool VasosOn = gameObject.GetComponent<Toggle>().isOn; if (VasosOn) { VASOS.SetActive(true); } if (!VasosOn) { VASOS.SetActive(false); ; } } public void ActivarPielypelo() { bool pielOn = gameObject.GetComponent<Toggle>().isOn; if (pielOn) { PIEL.SetActive(true); } if (!pielOn) { PIEL.SetActive(false); } }

}

A6. Código de configuración del dropdown Huesos

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class huesos_desplegable : MonoBehaviour { public GameObject Cabeza, Piernas, Muñeca, pies, Torso, Brazos, cadera; List<string> names2 = new List<string>() { "Todos los huesos", "Cabeza", "Piernas", "pies", "Muñeca", "Torso", "Brazos", "Cadera" }; public Dropdown dropdown; void Update() { switch (dropdown.value) { case 1: Cabeza.SetActive(true); Piernas.SetActive(false); pies.SetActive(false);

Page 92: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Annexos

80

Muñeca.SetActive(false); Torso.SetActive(false); Brazos.SetActive(false); cadera.SetActive(false); break; case 2: Cabeza.SetActive(false); Piernas.SetActive(true); pies.SetActive(false); Muñeca.SetActive(false); Torso.SetActive(false); Brazos.SetActive(false); cadera.SetActive(false); break; case 3: Cabeza.SetActive(false); Piernas.SetActive(false); pies.SetActive(true); Muñeca.SetActive(false); Torso.SetActive(false); Brazos.SetActive(false); cadera.SetActive(false); break; case 4: Cabeza.SetActive(false); Piernas.SetActive(false); pies.SetActive(false); Muñeca.SetActive(true); Torso.SetActive(false); Brazos.SetActive(false); cadera.SetActive(false); break; case 5: Cabeza.SetActive(false); Piernas.SetActive(false); pies.SetActive(false); Muñeca.SetActive(false); Torso.SetActive(true); Brazos.SetActive(false); cadera.SetActive(false); break; case 6: Cabeza.SetActive(false); Piernas.SetActive(false); pies.SetActive(false); Muñeca.SetActive(false); Torso.SetActive(false); Brazos.SetActive(true); cadera.SetActive(false); break; case 7: Cabeza.SetActive(false); Piernas.SetActive(false); pies.SetActive(false); Muñeca.SetActive(false);

Page 93: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

81

Torso.SetActive(false); Brazos.SetActive(false); cadera.SetActive(true); break; case 0: Cabeza.SetActive(true); Piernas.SetActive(true); pies.SetActive(true); Muñeca.SetActive(true); Torso.SetActive(true); Brazos.SetActive(true); cadera.SetActive(true); break; } } void Start() { PopulateList(); } void PopulateList() { dropdown.AddOptions(names2); }

}

A7. Código de configuración del dropdown Músculos

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class drop_suclasificacion : MonoBehaviour { public GameObject Cabeza, Piernas, Muñeca, Torso, Brazos; List<string> names = new List<string>() { "Todos los músculos", "Cabeza", "Piernas", "Muñeca", "Torso", "Brazos" }; public Dropdown dropdown; void Update() { switch (dropdown.value) { case 1: Cabeza.SetActive(true); Piernas.SetActive(false); Muñeca.SetActive(false); Torso.SetActive(false); Brazos.SetActive(false);

Page 94: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Annexos

82

break; case 2: Cabeza.SetActive(false); Piernas.SetActive(true); Muñeca.SetActive(false); Torso.SetActive(false); Brazos.SetActive(false); break; case 3: Cabeza.SetActive(false); Piernas.SetActive(false); Muñeca.SetActive(true); Torso.SetActive(false); Brazos.SetActive(false); break; case 4: Cabeza.SetActive(false); Piernas.SetActive(false); Muñeca.SetActive(false); Torso.SetActive(true); Brazos.SetActive(false); break; case 5: Cabeza.SetActive(false); Piernas.SetActive(false); Muñeca.SetActive(false); Torso.SetActive(false); Brazos.SetActive(true); break; case 0: Cabeza.SetActive(true); Piernas.SetActive(true); Muñeca.SetActive(true); Torso.SetActive(true); Brazos.SetActive(true); break; } } void Start() { PopulateList(); } void PopulateList() { dropdown.AddOptions(names); } }

Page 95: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

83

Anexo B

B1. Código de configuración del Kinect con el avatar

using UnityEngine; using System.Collections; using System.Collections.Generic; using Kinect = Windows.Kinect; public class BodySourceView : MonoBehaviour { public Material BoneMaterial; public GameObject BodySourceManager,skeletonObject; private Dictionary<ulong, GameObject> _Bodies = new Dictionary<ulong, GameObject>(); private BodySourceManager _BodyManager; private Dictionary<Kinect.JointType, Kinect.JointType> _BoneMap = new Dictionary<Kinect.JointType, Kinect.JointType>() { { Kinect.JointType.FootLeft, Kinect.JointType.AnkleLeft }, { Kinect.JointType.AnkleLeft, Kinect.JointType.KneeLeft }, { Kinect.JointType.KneeLeft, Kinect.JointType.HipLeft }, { Kinect.JointType.HipLeft, Kinect.JointType.SpineBase }, { Kinect.JointType.FootRight, Kinect.JointType.AnkleRight }, { Kinect.JointType.AnkleRight, Kinect.JointType.KneeRight }, { Kinect.JointType.KneeRight, Kinect.JointType.HipRight }, { Kinect.JointType.HipRight, Kinect.JointType.SpineBase }, { Kinect.JointType.HandTipLeft, Kinect.JointType.HandLeft }, { Kinect.JointType.ThumbLeft, Kinect.JointType.HandLeft }, { Kinect.JointType.HandLeft, Kinect.JointType.WristLeft }, { Kinect.JointType.WristLeft, Kinect.JointType.ElbowLeft }, { Kinect.JointType.ElbowLeft, Kinect.JointType.ShoulderLeft }, { Kinect.JointType.ShoulderLeft, Kinect.JointType.SpineShoulder }, { Kinect.JointType.HandTipRight, Kinect.JointType.HandRight }, { Kinect.JointType.ThumbRight, Kinect.JointType.HandRight }, { Kinect.JointType.HandRight, Kinect.JointType.WristRight }, { Kinect.JointType.WristRight, Kinect.JointType.ElbowRight }, { Kinect.JointType.ElbowRight, Kinect.JointType.ShoulderRight }, { Kinect.JointType.ShoulderRight, Kinect.JointType.SpineShoulder }, { Kinect.JointType.SpineBase, Kinect.JointType.SpineMid }, { Kinect.JointType.SpineMid, Kinect.JointType.SpineShoulder }, { Kinect.JointType.SpineShoulder, Kinect.JointType.Neck }, { Kinect.JointType.Neck, Kinect.JointType.Head }, }; private Dictionary<string, string> _RigMap = new Dictionary<string, string>() { {"SpineBase", "Skeleton/SpineBase"}, {"KneeLeft", "Skeleton/KneeLeft"}, {"KneeRight", "Skeleton/KneeRight"},

Page 96: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Annexos

84

{"AnkleLeft", "Skeleton/AnkleLeft"}, {"AnkleRight", "Skeleton/AnkleRight"}, {"FootLeft", "Skeleton/FootLeft"}, {"FootRight", "Skeleton/FootRight"}, {"SpineMid", "Skeleton/SpineMid"}, {"SpineShoulder", "Skeleton/SpineShoulder"}, {"ShoulderLeft", "Skeleton/ShoulderLeft"}, {"ShoulderRight", "Skeleton/RightShoulder"}, {"ElbowLeft", "Skeleton/ElbowLeft"}, {"ElbowRight", "Skeleton/ElbowRight"}, {"WristLeft", "Skeleton/WristLeft"}, {"WristRight", "Skeleton/WristRight"}, {"HandLeft", "Skeleton/HandLeft"}, {"HandRight", "Skeleton/HandRight"}, {"Neck", "Skeleton/Neck"}, {"Head", "Skeleton/Head"}, }; private Dictionary<string, Quaternion> _RigMapOffsets = new Dictionary<string, Quaternion>() { {"SpineBase", Quaternion.Euler(0.0f,0.0f, 0.0f)}, {"KneeLeft", Quaternion.Euler(0.0f, 90.0f, 0.0f)}, {"KneeRight", Quaternion.Euler(0.0f, -90.0f, 0.0f)}, {"AnkleLeft", Quaternion.Euler(0.0f, 90.0f, 0.0f)}, {"AnkleRight", Quaternion.Euler(0.0f, -90.0f, 0.0f)}, {"FootLeft", Quaternion.Euler(225.0f, 0.0f, 0.0f)}, {"FootRight", Quaternion.Euler(225.0f, 0.0f, 0.0f)}, {"SpineMid",Quaternion.Euler(0.0f, 0.0f, 0.0f)}, {"SpineShoulder",Quaternion.Euler(0.0f, 0.0f, 0.0f)}, {"ShoulderLeft", Quaternion.Euler(0.0f, 90.0f, 0.0f)}, {"ShoulderRight", Quaternion.Euler(0.0f, -90.0f, 0.0f)}, {"ElbowLeft", Quaternion.Euler(0.0f, 180.0f, 0.0f)}, {"ElbowRight", Quaternion.Euler(0f, -180.0f, 0.0f)}, {"WristLeft", Quaternion.Euler(0.0f, 90.0f, 0.0f)}, {"WristRight", Quaternion.Euler(0.0f, -90.0f, 0.0f)}, {"HandLeft", Quaternion.Euler(0.0f, 90.0f, 0.0f)}, {"HandRight", Quaternion.Euler(0.0f, 0.0f, 0.0f)}, {"Neck", Quaternion.Euler(0.0f, 0.0f, 0.0f)}, {"Head", Quaternion.Euler(0.0f, 0.0f, 0.0f)}, }; void Update () { if (BodySourceManager == null) { return; } _BodyManager = BodySourceManager.GetComponent<BodySourceManager>();

Page 97: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

85

if (_BodyManager == null) { return; } Kinect.Body[] data = _BodyManager.GetData(); if (data == null) { return; } List<ulong> trackedIds = new List<ulong>(); foreach(var body in data) { if (body == null) { continue; } if(body.IsTracked) { trackedIds.Add (body.TrackingId); } }

List<ulong> knownIds = new List<ulong>(_Bodies.Keys);

foreach(ulong trackingId in knownIds) { if(!trackedIds.Contains(trackingId)) { Destroy(_Bodies[trackingId]); _Bodies.Remove(trackingId); } } foreach(var body in data) { if (body == null) { continue; } if(body.IsTracked) { if(!_Bodies.ContainsKey(body.TrackingId)) { _Bodies[body.TrackingId] = CreateBodyObject(body.TrackingId); }

RefreshBodyObject(body, _Bodies[body.TrackingId]);

} } } private GameObject CreateBodyObject(ulong id) {

Page 98: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Annexos

86

GameObject body = new GameObject("Body:" + id); body.tag = "Body"; for (Kinect.JointType jt = Kinect.JointType.SpineBase; jt <= Kinect.JointType.ThumbRight; jt++) { GameObject jointObj = new GameObject(); jointObj.tag = "BodyPoint"; LineRenderer lr = jointObj.AddComponent<LineRenderer>(); lr.SetVertexCount(2); lr.material = BoneMaterial; lr.SetWidth(0.05f, 0.05f); jointObj.transform.localScale = new Vector3(0.3f, 0.3f, 0.3f); jointObj.name = jt.ToString(); jointObj.transform.parent = body.transform; } return body; } private void RefreshBodyObject(Kinect.Body body, GameObject bodyObject) { Transform skeleton = bodyObject.transform.Find("Skeleton"); for (Kinect.JointType jt = Kinect.JointType.SpineBase; jt <= Kinect.JointType.ThumbRight; jt++) { Kinect.Joint sourceJoint = body.Joints[jt]; Kinect.JointOrientation sourceJointOrientation = body.JointOrientations[jt]; Kinect.Joint? targetJoint = null; if (_BoneMap.ContainsKey(jt)) { targetJoint = body.Joints[_BoneMap[jt]]; } Transform jointObj = bodyObject.transform.Find(jt.ToString()); jointObj.localPosition = GetVector3FromJoint(sourceJoint); LineRenderer lr = jointObj.GetComponent<LineRenderer>(); if (targetJoint.HasValue) { lr.SetPosition(0, jointObj.localPosition); lr.SetPosition(1, GetVector3FromJoint(targetJoint.Value)); lr.SetColors(GetColorForState(sourceJoint.TrackingState), GetColorForState(targetJoint.Value.TrackingState)); } else { lr.enabled = false; } } } private static Color GetColorForState(Kinect.TrackingState state) { switch (state) {

Page 99: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

87

case Kinect.TrackingState.Tracked: return Color.green; case Kinect.TrackingState.Inferred: return Color.red; default: return Color.black; } } private static Quaternion GetQuaternionFromJointOrientation(Kinect.JointOrientation jointOrientation) { return new Quaternion(jointOrientation.Orientation.X, jointOrientation.Orientation.Y, jointOrientation.Orientation.Z, jointOrientation.Orientation.W); } private static Vector3 GetVector3FromJoint(Kinect.Joint joint) { return new Vector3(joint.Position.X * 10, joint.Position.Y * 10, joint.Position.Z * 10); } }

B2. Código de Tracking del movimiento

using System.Collections; using System.Collections.Generic; using UnityEngine; public class AvatarMotionTrack : MonoBehaviour { GameObject[] avatars; public GameObject Skeleton,/*start, end, cube*//*, cilinder,*//*muscle,*/ initbodypos,cube,reference,bodypart,muscle1, muscle2, muscle3, muscle4, muscle5/*,*/ /*muscle6, muscle7, muscle8, muscle9, muscle0*/; public float factor = 1.0f; public Material normal, shiny; void Start() { } void Update() { Transform _Head = Skeleton.transform.Find("Head"); Transform _Neck = Skeleton.transform.Find("Neck"); Transform _SpineShoulder = Skeleton.transform.Find("SpineShoulder"); Transform _ShoulderRight = Skeleton.transform.Find("ShoulderRight"); Transform _ShoulderLeft = Skeleton.transform.Find("ShoulderLeft"); Transform _HipRight = Skeleton.transform.Find("HipRight");

Page 100: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Annexos

88

Transform _HipLeft = Skeleton.transform.Find("HipLeft"); Transform _SpineBase = Skeleton.transform.Find("SpineBase"); Transform _FootLeft = Skeleton.transform.Find("FootLeft"); Transform _FootRight = Skeleton.transform.Find("FootRight"); Transform _AnkleLeft = Skeleton.transform.Find("AnkleLeft"); Transform _AnkleRight = Skeleton.transform.Find("AnkleRight"); Transform _HandLeft = Skeleton.transform.Find("HandLeft"); Transform _HandRight = Skeleton.transform.Find("HandRight"); Transform _ElbowLeft = Skeleton.transform.Find("ElbowLeft"); Transform _ElbowRight = Skeleton.transform.Find("ElbowRight"); Transform _KneeLeft = Skeleton.transform.Find("KneeLeft"); Transform _KneeRight = Skeleton.transform.Find("KneeRight"); Transform _SpineMid = Skeleton.transform.Find("SpineMid"); Transform _WristRight = Skeleton.transform.Find("WristRight"); Transform _WristLeft = Skeleton.transform.Find("WristLeft"); avatars = GameObject.FindGameObjectsWithTag("Body"); foreach (GameObject av in avatars) { Transform Head = av.transform.Find("Head"); _Head.position = Head.position; Transform Neck = av.transform.Find("Neck"); _Neck.position = Neck.position; Transform SpineShoulder = av.transform.Find("SpineShoulder"); _SpineShoulder.position = SpineShoulder.position; Transform ShoulderRight = av.transform.Find("ShoulderRight"); _ShoulderRight.position = ShoulderRight.position; Transform ShoulderLeft = av.transform.Find("ShoulderLeft"); _ShoulderLeft.position = ShoulderLeft.position; Transform HipRight = av.transform.Find("HipRight"); _HipRight.position = HipRight.position; Transform HipLeft = av.transform.Find("HipLeft"); _HipLeft.position = HipLeft.position; Transform SpineBase = av.transform.Find("SpineBase"); _SpineBase.position = SpineBase.position; Transform FootRight = av.transform.Find("FootRight"); _FootLeft.position = FootRight.position; Transform FootLeft = av.transform.Find("FootLeft"); _FootRight.position = FootLeft.position; Transform AnkleLeft = av.transform.Find("AnkleLeft"); _AnkleLeft.position = AnkleLeft.position; Transform AnkleRight = av.transform.Find("AnkleRight"); _AnkleRight.position = AnkleRight.position; Transform HandLeft = av.transform.Find("HandLeft"); _HandLeft.position = HandLeft.position; Transform HandRight = av.transform.Find("HandRight"); _HandRight.position = HandRight.position; Transform ElbowLeft = av.transform.Find("ElbowLeft"); _ElbowLeft.position = ElbowLeft.position; Transform ElbowRight = av.transform.Find("ElbowRight"); _ElbowRight.position = ElbowRight.position; Transform KneeLeft = av.transform.Find("KneeLeft"); _KneeLeft.position = KneeLeft.position; Transform KneeRight = av.transform.Find("KneeRight"); _KneeRight.position = KneeRight.position; Transform SpineMid = av.transform.Find("SpineMid"); _SpineMid.position = SpineMid.position; Transform WristRight = av.transform.Find("WristRight");

Page 101: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

89

_WristRight.position = WristRight.position; Transform WristLeft = av.transform.Find("WristLeft"); _WristLeft.position = WristLeft.position; Transform HandTipRight = av.transform.Find("HandTipRight"); Transform HandTipLeft = av.transform.Find("HandTipLeft"); SetPos(_FootLeft, AnkleLeft.position); SetPos(_FootRight, AnkleRight.position); SetPos(_AnkleRight, KneeRight.position); SetPos(_AnkleLeft, KneeLeft.position); SetPos(_KneeLeft, HipLeft.position); SetPos(_KneeRight, HipRight.position); SetPos(_HipLeft, SpineBase.position); SetPos(_HipRight, SpineBase.position); SetPos(_SpineBase, SpineMid.position); SetPos(_SpineMid, SpineBase.position); SetPos(_HandRight, WristRight.position); SetPos(_HandLeft, WristLeft.position); SetPos(_WristLeft, ElbowLeft.position); SetPos(_WristRight, ElbowRight.position); SetPos(_ElbowRight, ShoulderRight.position); SetPos(_ElbowLeft, ShoulderLeft.position); SetPos(_ShoulderLeft, SpineShoulder.position); SetPos(_ShoulderRight, SpineShoulder.position); SetPos(_ElbowLeft, ShoulderLeft.position); SetPos(_SpineShoulder, SpineMid.position); SetPos(_Head, Neck.position); SetPos(_Neck, SpineShoulder.position); AngleMuscle(WristLeft, ElbowLeft, ShoulderLeft, muscle1); AngleMuscle(WristLeft, ElbowLeft, ShoulderLeft, muscle2); AngleMuscle(WristLeft, ElbowLeft, ShoulderLeft, muscle3); AngleMuscle(WristLeft, ElbowLeft, ShoulderLeft, muscle4); AngleMuscle(WristLeft, ElbowLeft, ShoulderLeft, muscle5); } } void SetPos(Transform Bodypart, Vector3 end) { Bodypart.LookAt(end); } void SetScale(GameObject cube, Vector3 start, Vector3 end, GameObject cilinder, GameObject bodypart, GameObject initpostionbodypart) { Vector3 dir = end - start; Vector3 mid = dir / 2.0f + start; cube.transform.position = mid; Vector3 scale = transform.localScale; scale.z = dir.magnitude; cube.transform.localScale = scale; if (cilinder.transform.localScale == new Vector3(1, 1, 1)) { Vector3 escala = scale; Vector3 yescala = cilinder.transform.localScale - cube.transform.localScale; escala.y = yescala.magnitude; cilinder.transform.localScale = escala; cilinder.transform.localPosition = bodypart.transform.localPosition;

Page 102: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Annexos

90

} Debug.Log(cube.transform.rotation.x); Debug.Log(Mathf.Sign(cube.transform.rotation.x)); if (cilinder.transform.localScale != new Vector3(1, 1, 1)) { Vector3 fitScale = cube.transform.localScale; fitScale.y = fitScale.y - cilinder.transform.localScale.y; bodypart.transform.localScale = fitScale; float offset = cilinder.transform.localPosition.y + fitScale.y; if (bodypart.transform.localScale == new Vector3(1, 1, 1)) { float bodyposscale = fitScale.y;

bodypart.transform.localPosition = new Vector3(bodypart.transform.localPosition.x, offset - bodyposscale, bodypart.transform.localPosition.z); initbodypos.transform.localPosition = new Vector3(bodypart.transform.localPosition.x, bodyposscale, bodypart.transform.localPosition.z);

} else {

bodypart.transform.localPosition = new Vector3(bodypart.transform.localPosition.x, offset - initbodypos.transform.localPosition.y, bodypart.transform.localPosition.z);

} } }

B3. Código de activación muscular

void DetectMuscleWork (Transform bodymove, Transform bodylevel,Transform bodyupto, GameObject muscle) { if (bodymove.position.y > bodylevel.position.y && bodymove.position.y < bodyupto.position.y) muscle.GetComponent<Renderer>().material = shiny; else muscle.GetComponent<Renderer>().material = normal; } void AngleMuscle(Transform bodymove, Transform bodylevelmid, Transform bodyupto, GameObject muscle) {

float catetoOpuesto = Vector3.Distance(bodylevelmid.position, bodyupto.position); float catetoAbyacente = Vector3.Distance(bodymove.position, bodylevelmid.position);

float hipotenusa = Vector3.Distance(bodymove.position, bodyupto.position);

Page 103: CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …

Creación de un Avatar en Realidad Virtual y Aumentada

91

float A = Mathf.Rad2Deg * Mathf.Acos(((catetoAbyacente * catetoAbyacente) + (hipotenusa * hipotenusa) - (catetoOpuesto * catetoOpuesto)) / (2*catetoOpuesto*hipotenusa));

if (float.IsNaN(A)) { A = 0; } float B = Mathf.Rad2Deg * Mathf.Acos(((catetoOpuesto * catetoOpuesto) + (hipotenusa * hipotenusa) - (catetoAbyacente * catetoAbyacente)) / (2 * catetoAbyacente * hipotenusa));

if (float.IsNaN(B)) { B = 0; } float C = 180 - A - B; float gradientColor = (C / 180)-1; muscle.GetComponent<Renderer>().material.SetFloat("_radio",gradientColor); } }