CREACIÓN DE UN AVATAR EN REALIDAD VIRTUAL Y …
Transcript of 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
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.
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.
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.
Memoria
iv
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.
Memoria
vi
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
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
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
Memoria
x
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.
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.
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.
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.
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
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)
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).
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.
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).
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)
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).
Memoria
12
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
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
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
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
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.
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_
Creación de un Avatar en Realidad Virtual y Aumentada
19
Figura 4.9. Organización de archivos
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
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.
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.
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”
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”
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.
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.
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.
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.
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).
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).
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.
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).
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.
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
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
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
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
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.
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
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
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
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
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.
Memoria
44
Figura 5.6. Icono de la aplicación
Figura 5.7. Resultados “Pantalla principal” y “SampleScene” (de izquierda a derecha)
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
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
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
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,
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
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
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
Memoria
52
Figura 5.19. Resultado para la activación muscular
Figura 5.20. Resultado Modulo 2
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
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:
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:
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
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
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:
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.
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.
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.
Memoria
62
• Añadir rotaciones en el estudio.
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.)
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.
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.
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
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.
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
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.
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)
Memoria
72
Figura 0.4. Diagrama de Gantt meses junio y julio (2019)
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-
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-
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.
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/.
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"); }
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()
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);
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);
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);
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); } }
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"},
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>();
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) {
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) {
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");
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");
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;
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);
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); } }