SciELO - Scientific Electronic Library Online

 
vol.8 issue1Analysis and Application of ANN to Layers of Bored SteelPlataforma educativa Khan author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Acta Nova

On-line version ISSN 1683-0789

RevActaNova. vol.8 no.1 Cochabamba Mar. 2017

 

ARTÍCULO CIENTÍFICO

 

Plataformas de entrenamiento virtuales usando el sensor Kinect, Unity y técnicas de Gamificación

 

Virtual training platforms using Kinect sensor, Unity and Gamification techniques

 

 

Martin S. Arispe R1., Diego Collarana V2.

1Universidad Católica Boliviana, Cochabamba, Bolivia, martinarisperiveros@gmail.com.
2Universidad de Bonn Alemania, Bonn, Alemania,
collaran@cs.uni-bonn.de.

Recibido: 10 de febrero 2017
Aceptado: 5 de marzo 2017

 

 


Resumen: Los nuevos dispositivos de "interfaz natural de usuario" como ser Kinect, Google Glass, o Leap Motion abren la posibilidad a una nueva gama de aplicaciones interactivas. Actualmente, a nivel mundial se están desarrollando entornos de entretenimientos virtuales usando estos dispositivos en áreas como: la educación, la medicina y la manufactura. El dispositivo Kinect de Microsoft es ideal para entornos de entrenamiento donde se requieren movimientos corporales. Kinect cuenta con un sensor de captación de movimiento, con el cual se puede desarrollar aplicaciones inmersivas en 3D. Por otro lado, el método de "Gamificación" nos permite emplear elementos de juegos en aplicaciones de software sin salimos de la realidad. El objetivo es mejorar la experiencia de usuario en la aplicación haciéndola más divertida de usar, de tal manera que los usuarios estén motivados y contentos de realizar una determinada actividad con la aplicación. En este trabajo mostramos como se puede utilizar el sensor Kinect, junto con Unity, y técnicas de Gamificación para desarrollar entornos de entrenamiento virtual 3D Game-Like, donde los usuarios estén altamente motivados durante el entrenamiento, maximizando al mismo tiempo el aprendizaje y retención de los contenidos del entrenamiento. Nuestro caso de estudio es el entorno de entrenamiento de prevención y escape de incendios orientado a niños que se desarrolló para la Unidad de Bomberos Cochabamba. Realizaremos una demostración del entorno y explicaremos las ventajas a los métodos tradicionales.

Palabras clave: Kinect, Entorno de entrenamiento, Experiencia de usuario, Gamificacion.


Abstract: Natural User Interface devices such as Microsoft Kinect, Google Glass, and Leap Motion among others, have opened the possibility to a new range of interactive applications. Nowadays, virtual training environments are being developed worldwide using these devices in areas such as education, medicine or manufacturing. The Microsoft Kinect device is ideal for training environments where body movements are required. Thanks to its motion-capture sensor, immersive 3D applications can be developed. Additionalry, the "Gamification" method allows us to use game elements in the design of software applications, the objective is to improve the user experience in the application making it more fun to use, so users are motivated and happy to perform a certain activity with the application. In this work we present an approach to design 3D training environments combining Microsoft Kinect sensor, Unity to develop 3D environments, and Gamification. We explain how these techniques can be used to develop 3D Virtual Game-Like training environments, so users are highly motivated during training, maximizing learning and retention of training contents. Our case study is the Child-Friendly Fire Prevention and Escape Training Environment that was developed for the Cochabamba Fire Department. We compare our approach against traditional training methods, our evaluation results shows the advantages of such 3D Game-Like training environments.

Keywords: Kinect, Virtual Training, User Experience, Gamification


 

 

1. Introducción

Los nuevos dispositivos de "interfaz natural de usuario" como ser Kinect, Google Glass, Leap Motion están revolucionando el modo de interactuar con aplicaciones de software. Estos dispositivos abren la posibilidad a una nueva gama de aplicaciones interactivas, donde los usuarios pueden usar movimientos corporales o comandos de voz. Actualmente, a nivel mundial se están desarrollando entornos de entretenimientos virtuales usando estos dispositivos en áreas como: la educación, la medicina y la manufactura1. El objetivo es facilitar el aprendizaje acercándose lo más posible a la realidad, y al mismo tiempo tener un entorno altamente flexible y configurable para un entrenamiento más personalizado.

El dispositivo Kinect de Microsoft es ideal para entornos de entrenamiento donde se requieren movimientos corporales. Kinect cuenta con un sensor de captación de movimiento, con el cual se puede desarrollar aplicaciones inmersivas en 3D. El uso de Kinect en aplicación en el área de marketing, y salud es también ya una realidad y más ahora que se puede usar el mismo dispositivo Kinect que viene con la consola de juego XOne, lo que permite la distribución de este tipo de aplicaciones que usan Kinect a través del app store de Microsoft2.

Durante el diseño de entornos de entrenamiento se debe considerar técnicas de motivación, con el objetivo de mantener al usuario altamente motivado con el entrenamiento y el contenido. El método de "Gamificación" nos permite emplear elementos de juegos en aplicaciones de software sin salimos de la realidad. El objetivo es mejorar la experiencia de usuario en la aplicación haciéndola más divertida de usar, de tal manera los usuarios estén motivados y contentos de realizar una determinada actividad con la aplicación.

Ahora en nuestra sociedad ¿Dónde se podría usar un entorno de este tipo? Después de varias reuniones con la unidad de bomberos de Cochabamba logramos identificar un caso de estudio para una plataforma de entrenamiento virtual. Si un niño (a) no sabe cómo actuar ante una situación de peligro, en consecuencia ocurren daños personales y, en el peor de los casos, la muerte. Los datos en nuestra ciudad son alarmantes respecto a este caso. La unidad de bomberos ha intentado atender esta necesidad, a través de capacitaciones a niños en colegios pero se han encontrado los siguientes problemas:

•    El simulacro de incendio que se realiza en la unidad de bomberos, no se asemeja a un incendio en la vida real, por lo que no se produce el impacto deseado sobre los capacitados.

•    Las herramientas son insuficientes para apoyar el proceso de aprendizaje durante las sesiones de capacitación, lo cual limita a los capacitadores.

Para resolver estos problemas llevamos adelante el desarrollo de un entorno de entrenamiento virtual siguiendo una metodología ingenieril de conceptualización y realización del entorno virtual. El presente documento presenta una metodología para el diseño de un entorno de entrenamiento virtual usando Kinect y técnicas de Gamificacion, esta metodología combina elementos de User Center Design, y Juegos. Adicionalmente presentamos nuestro entorno virtual de entrenamientos contra incendios desarrollado para la Unidad de Bomberos Cochabamba. Realizamos una evaluación del entorno con usuarios reales para medir la aplicabilidad del mismo en la vida real. Los resultados son muy alentadores y nos indican que este tipo de entornos son ideales para un público joven incrementando la motivación y retención de información en los mismos.

 

2. Marco de Referencia

En la presente sección mostramos los conceptos y técnicas relevantes para el trabajo que presentamos, las mismas proveerán los recursos necesarios para entender la metodología que empleamos en nuestra propuesta.

2.1. Gamificacion de aplicaciones

¿Qué es Gamificacion de Aplicaciones?

"Gamificacion es el uso de elementos de un juego y técnicas de diseño de juegos en un contexto real"

Los tres componentes de la definición son: (1) Gamificación: Se relaciona a juego no a jugar. (2) Elementos de un juego: Un toolbox lleno de nuevos elementos provenientes del mundo de los juegos para mejorar la experiencia de usuario. (3) Técnicas de diseño de juegos: No solo elementos, la idea es pensar como un diseñador de juegos, aprender de los juegos.

¿Por qué considerar Gamificar nuestras apps?

Una emergente práctica de negocio. No es algo que solo los startups están usando, todas las grandes compañías en la industria del software lo están haciendo.

El poder de los juegos. Especialmente en términos de motivación y "engagement". Los juegos han acompañado al hombre desde sus comienzos. Todos hemos estado alguna vez enganchados con alguno. No hablamos solo de juegos de computadora, sino cualquier tipo de juego (mesa, deportes, etc.). El uso de este tremendo potencial ya ha sido usado en áreas como la educación o la salud. Puede ser usado para mejorar la experiencia de usuario en nuestras aplicaciones móviles. "Jane McGonical" propone que los juegos pueden ser la clave para preservar la vida humana. [1,2].

Lecciones de los juegos. Hay mucha información, estudios y conocimiento en el área de juegos, que pueden ser utilizados en el área de diseño de la experiencia de usuario en aplicaciones de software. La industria del juego ha invertido millones en investigación de cómo generar en los usuarios (jugadores) motivación, diversión, "engagement". Hay que utilizar esta información.

Diversión y Motivación

Lo que hace que un usuario se enganche con el juego depende de qué tan divertido es. Un juego bien diseñado se convierte en algo tan poderoso que los usuarios pueden pasar horas y horas jugando. Haciendo una actividad divertida es la forma más fácil de cambiar el comportamiento de la gente hacia esa actividad

Proceso de Gamificación de una aplicación

El proceso para Gamificar una aplicación es descrito en [3] y básicamente consiste en seguir tres pasos al momento de implementar una aplicación con estas características.

1.   Definir objetivos de negocio.

2.   Definir comportamientos esperados de nuestros usuarios.

3.    Seleccionar elementos de juego a ser usados.

Elementos básicos

La técnica de Gamificación propone el uso de elementos de juegos. Los básicos de están descritos en [4] y son los siguientes:

•    Puntos: Mantienen un marcador y proveen retroalimentación constante a los usuario, cada vez que el usuario realiza una acción que esperamos que repita, podemos asignarle puntos.

•    Badges: Representan logros, cada vez que un usuario logra terminar alguna tarea o reto, o simplemente acumula una cantidad de puntos definidos, y asignar estos Badges. La idea es mantener al usuario motivado en las actividades que la aplicación presenta.

•    Leaderboards: Representan rankings, se puede definir una competencia entre los usuarios por ejemplo para ver quién recuerda mejor los elementos peligros que pueden producir incendios.

Ventajas de usar Gamificación en el entorno virtual

Como el objetivo principal es aprender el entorno virtual tiene que ser divertido de usar. Entonces la técnica de Gamificación se adecua perfectamente a este punto. De acuerdo al rango de edad esto puede tener más influencia en los usuarios. En nuestro caso de estudio se utilizó los siguientes elementos:

•    Vidas: Este elemento permite al usuario estar alerta a no tener contacto con el fuego o humo.

•    Puntos: Permite realizar una evaluación del comportamiento del usuario dentro de la simulación y también motivarlo a desenvolverse de la mejor manera posible para obtener la mayor cantidad de puntos posible.

2.2. El sensor Kinect

Kinect3 es un sensor de captación de sonido y movimiento desarrollado por Microsoft, el mismo cuenta con un SDK [6], que es el software que permite interconectar los componentes del sensor y las aplicaciones que se desarrollan, de forma que la aplicación reciba la información captada como ser: imágenes, sonidos, comandos de voz, etc. Kinect está compuesto de varios sensores para realizar la captura de sonido, movimiento e imagen como se muestra en la siguiente figura:

Cámara RGB (RGB Camera), permite obtener imágenes a colores, esta se compone de un conjunto de pixeles, cada pixel cuenta con cuatro componentes, que representan los valores de los colores básicos rojo, verde, azul y un valor para representar la transparencia.

Sensor de profundidad, permite medir la distancia entre la persona o el objeto que reconoce y el sensor Kinect. Para calcular dicha distancia, se hace la medición entre la posición de los pixeles de la imagen que reconoce el sensor y la posición del mismo.

Emisores de infrarrojo, se encarga de reconocer cada pixel, cada uno es agregado al vector de pixeles ocupando 2 bytes por pixel conformando la imagen, además de 2 bytes extras donde se almacena la información de la distancia entre el pixel y el sensor de profundidad.

Puntos de reconocimiento, es la forma en la que este sensor permite reconocer los movimientos de una persona, a través del reconocimiento de puntos, estos unidos forman un esqueleto que representa el cuerpo de la persona y sus movimientos. Kinect puede reconocer hasta 6 personas al mismo tiempo con sus respectivos esqueletos conformados por puntos. En la Figura 3, se muestra puntos que son reconocidos por el sensor y a que articulación del cuerpo representa cada punto.

Actualmente, la tecnología que proporciona Kinect está siendo explotada en áreas como: La medicina, para el proceso de rehabilitación de personas que sufren algún tipo de parálisis (los ejercicios de fisioterapia se realizan de una manera más divertida). En el área de educación se han desarrollado herramientas de apoyo orientadas a entornos educativos, las cuales facilitan el aprendizaje de los estudiantes y la enseñanza a los profesores. Las ventajas más importantes de este dispositivo son:

•    La precisión con la que reconoce los movimientos de los usuarios.

•    La cantidad de puntos con los que se pueden generar distintos tipos de gestos.

•    Las herramientas de software adicionales con las que cuenta Kinect permiten un desarrollo un tanto más sencillo que con otros dispositivos.

2.3. Unity

Es un motor de video juego multiplataforma creado por Unity Technologies. Unity5 está disponible como plataforma de desarrollo para Microsoft Windows, OS Xy Linux, y permite crear juegos para Windows, OS X, Linux, Xbox 360, PlayStation 3, PlayStation Vita, Wii, Wii U, iPad, iPhone, Android y Windows Phone. Gracias al plugin web de Unity, también se pueden desarrollar videojuegos de navegador para Windows y Mac.

Iluminación6: Para calcular el sombreado de un objeto 3D, Unity necesita conocer la intensidad, dirección y color de la luz que incide sobre éste. Los distintos tipos se mencionan a continuación.

Cámaras7: Una escena en Unity se crea mediante el posicionamiento y movimiento de objetos en un espacio tridimensional. Puesto que la pantalla del espectador es bidimensional, se necesita alguna forma de capturar una vista y "aplanarla" para mostrarla. Esto se logra utilizando cámaras.

Física8: Para tener un comportamiento físico convincente, un objeto en el juego debe acelerar adecuadamente y ser afectado por colisiones, gravedad y otras fuerzas. El motor de física integrado en Unity proporciona componentes que manejan la simulación física para usted. Con tan solo unos cuantos ajustes de parámetros, usted puede crear objetos que se comporten de manera pasiva de manera realista. Al controlar la física desde scripts, también puede darle un objeto las dinámicas de un vehículo, una maquina o incluso un pedazo de tela moviéndose.

Audio9: Un juego estaría incompleto sin algún tipo de audio, ya sea la música de fondo o efectos de sonido. El sistema de audio de Unity es flexible y poderoso. Puede importar la mayoría de formatos estándares de audio y tiene características sofisticadas para reproducir sonidos en un espacio 3D, opcionalmente con efectos como eco y filtración aplicadas. Unity también puede grabar audio de cualquier micrófono disponible de la máquina del usuario para uso durante el modo de juego o para almacenamiento y transmisión.

2.4. SketchUp

Es una aplicación que permite realizar diseños en 3D de forma extremadamente sencilla. El programa incluye entre sus recursos un tutorial en vídeo para ir aprendiendo paso a paso cómo se puede ir diseñando y modelando el propio ambiente. Permite modelar imágenes en 3D de edificios, coches, personas y cualquier objeto o artículo que se requiera. Además el programa incluye una galería de objetos, texturas e imágenes listas para descargar. En la figura 5 se puede observar la interfaz inicial.

 

3. Caso de estudio: Entorno 3D para la capacitación en prevención y escape de incendios domiciliarios

Actualmente en todo el mundo las unidades de bomberos dan capacitaciones tanto a personas particulares como empresas para enseñarles a cómo actuar en situaciones de peligro, que herramientas usar y a quién pueden acudir para obtener ayuda. Pues Bolivia no es la excepción ya que la Unidad Departamental de Bomberos también brinda dicho servicio a diversas instituciones como ser empresas privadas o colegios, específicamente se estudió la capacitación a niños.

3.1. Capacitación contra incendios

A continuación se hará una descripción breve de los elementos que intervienen en dicho proceso de capacitación, como se realizaban antes de usar el entorno virtual y como hacen ahora con la herramienta.

Primeramente en ambos procesos se hace una explicación teórica de objetos que provocan un incendio, medidas de escape, herramientas que usan los bomberos para combatir los incendios, personas a las que deben acudir en caso que logren escapa, el proceso de un incendio, es decir, el antes, durante y después. Al finalizar la parte teórica se pone en práctica los conocimientos adquiridos.

Capacitación práctica antigua. Para enseñar a prevenir un incendio a los niños simplemente se les mostraba algunos objetos que pueden provocar un incendio y que son peligrosos para su salud.

Para enseñar el modo de escape se intentaba realizar un simulacro lo más cercano a la realidad para explicar cómo los niños debían evacuar de un incendio, este simulacro no logró el objetivo de concientizar y que los menores tengan mayor retención de información.

Por último, para explicar a los capacitados que deben llegar a un lugar seguro cuando estén fuera de peligro, se les indicaba que debían llamar al número de bomberos.

Capacitación practica actual. Actualmente en la parte práctica de la capacitación se utiliza el entorno de entrenamiento, donde se representa las tres fases del incendio que se explican a continuación.

•    Antes — Prevención. El usuario debe reconocer dentro del entorno virtual los objetos que pueden provocar un incendio en un tiempo determinado, una vez detectados, la plataforma muestra al usuario la información básica del objeto y porque resulta peligroso para la salud del niño.

•    Durante — Modo de escape. En esta fase comienza inmediatamente después de que el tiempo de búsqueda de objetos se haya terminado, el usuario debe escapar del incendio usando los conocimientos impartidos en la capacitación teórica, evitando lesiones y que el medidor de vida del personaje no llegue a cero. Un incendio se genera de forma aleatoria dependiendo en qué ambiente de la casa se encuentre el personaje mediante un algoritmo.

•    Después — Llegar a una zona segura. Una vez que el usuario salió a salvo del incendio debe encontrar una zona segura dentro la simulación, está marcada con letreros de color verde denominado "Zona Segura", como se muestra en la siguiente imagen.

 

4. Modelo de desarrollo de un entorno virtual de entrenamiento

Existen varios métodos para hacer desarrollo de entornos virtuales que implica interactuar con sensores u otro tipo de dispositivos, en este caso el desarrollo se basó en las siguientes cuatro etapas:

•    Diseño de los elementos de Juego: En esta etapa se selecciona los elementos de juegos (mecánicas y dinámicas) que formarán parte del entorno de entrenamiento. De acuerdo a la problemática se deben seleccionar los elementos más apropiados para el entorno.

•    Diseño y desarrollo de gestos: En esta etapa se procura diseñar y validar con el usuario final los movimientos que se usaran dentro de la simulación, y como último paso se inicia el desarrollo.

•    Diseño de desarrollo de entorno virtual: En el entorno virtual se define la interacción, modelo de vivienda que se usan, puntos de incendio, puntos de escape, y por último se realiza el desarrollo de cada modelo.

•    Conexión en Kinect y Unity: El objetivo principal en esta etapa es poder consumir los recursos que proporciona el sensor y usarlos dentro el entorno virtual desarrollado en Unity.

4.1.   Definición de los elementos de juego

Para definir qué elementos debe existir en la simulación es preciso definir en un principio el flujo de acciones que debe realizar el usuario desde que inicia la simulación hasta la el final, una vez hecho esto se definió los siguientes elementos:

•     Objetos peligrosos que pueden provocar un incendio.

•     El tipo a de vivienda en la que desarrolla la simulación.

•     Los tipos de flamas de fuego con el que se generará el incendio.

•     Género y tipo del avatar con el que se representa al usuario dentro del entorno virtual.

•     Objetos comunes que aparecen dentro de una casa común.

•     Tipo de puntuación por etapas de la simulación.

•     Modelo de evaluación para el usuario según como se desenvuelva dentro del entorno virtual.

4.2.   Diseño y desarrollo de gestos

Para hacer el diseño de gesto es preciso tomar en cuenta ciertos aspectos, entre ellos, a qué usuarios finales está dirigida la plataforma de entrenamiento, las limitaciones o ventajas que ofrece el software del sensor con el que se va a trabajar y en este particular caso es intentar que cada movimiento que el usuario debe hacer para cada gesto tiene que ser lo más cercano a un movimiento que se realiza de forma cotidiana. A continuación se realizó una valoración de ventajas y desventajas entre los siguientes caminos del desarrollo de gestos:

Programar los gestos

Para desarrollar los gestos, se debe tomar en cuenta el posicionamiento de cada uno de los puntos reconocidos por el sensor, basado en los ejes de coordenadas cartesianos tridimensionales, es decir, los ejes X, Y, Z. Dichos puntos van a ser tomados en cuenta para representar el gesto, de ese modo, el usuario realiza un movimiento para que las articulaciones de su cuerpo coincidan con las posiciones de los puntos que se definen previamente, el resultado es un gesto detectado.

Usar herramientas propias de Kinect

Kinect Studio y Visual Gesture Builder, son herramientas que facilitan la creación de gestos. La primera permite grabar videos de una persona realizando los movimientos necesarios para representar el gesto deseado. La segunda, ayuda por una parte, a decidir que fragmentos del video pertenecen al gesto que se quiere representar y como un plus permite generar una base de datos de todos los gestos requeridos para la simulación.

Ventajas y desventajas de la programación de gestor

Ventajas: Se tiene mayor acceso a modificar características de los puntos proporcionados por el sensor como ser: posicionamiento, ángulos de rotación y velocidad y se puede escoger los puntos que participarán en la representación del gesto.

Desventajas: El desarrollador debe tener un conocimiento exacto de los movimientos del cuerpo humano para representarlos con conjunto de puntos, el tiempo de desarrollo de gestos complejos es considerable y es muy fácil equivocarse al programar cada gesto, sobre todo si los movimientos son complejos

Usar herramientas de Kinect

Ventajas: El tiempo de generación de gestos simples o complejos es bajo, no es necesario tener conocimientos amplios de los movimientos del cuerpo humano y las herramientas permiten generar una base de datos de gestos lo que permite mantener los gestos aislados de la lógica de la aplicación.

Desventajas: Se tiene un acceso nulo a características de los puntos, cómo ser: posicionamiento, ángulos de rotación y velocidad.

La figura 8 muestra una representación del desarrollo de gestos usando la herramienta de Kinect "Visual Gesture Builder".

Como primer paso para desarrollar gestos es usar el Kinect Studio, con el cual se hace la grabación de los movimientos que corresponden a cada uno de los gestos que se desea en el entorno virtual, Esta herramienta nos permite grabar uno o más movimientos o generar múltiples grabaciones, como se puede observar en la figura 9.

Visual Gesture Builder nos permite elegir que fracciones de cada video corresponde a cada gesto, que por consiguiente este puede ser de dos tipos, continuo o discreto. Un gesto continuo significa que el rango de reconocimiento del gesto puede estar entre los valores de 0 y 1 incluyendo valores decimales, por otra parte uno discreto hace referencia a que su medida de reconocimiento se basa en un valor booleano, es decir, solo dos opciones: 1 en caso de ser positivo y 0 al ser negativo.

En la figura 10 se ejemplifica como se marca las secciones del video correspondiente a un gesto a través de las líneas azules en la parte inferior de la imagen.

En esta herramienta se debe crear un proyecto y dentro de este se importan los videos previamente grabados con Kinect Studio. Se debe tomar en cuenta al momento de generar el proyecto, que solo es posible elegir de puntos de reconocimiento por secciones, es decir, solo los puntos que componente al lado derecho de cuerpo y viceversa, los puntos correspondientes al tórax, y por último los puntos de los dedos de la mano derecha o izquierda.

Una vez terminado el marcado de los movimientos, la herramienta permite generar una base de datos con todos los gestos en formato .gdb para poder exportar a otras plataformas, por ejemplo, Unity. Si bien esto significa una desventaja debido a que no se tiene control de cada uno de los puntos que reconoce el sensor, la mayoría de los gestos que se generan para una aplicación se pueden resolver con las opciones que brinda Visual Gesture Builder.

4.3. Diseño y desarrollo del entorno virtual

El entorno virtual es el lugar en 3D donde se desarrollará la simulación y los elementos con los que va a interactuar el usuario, es decir, objetos peligrosos, incendio, objetos comunes que se encuentran en una casa, zonas de seguridad y por supuesto la casa donde se desarrolla la simulación. Después de realizar el desarrollo, el resultado se puede observar en la Figura 11.

Se eligieron los objetos en base a los requerimientos de la unidad de bomberos de la ciudad de Cochabamba, los más comunes que utilizaban en la capacitación. Debido al corto tiempo de desarrollo, se optó por descargar los modelos en 3D para luego integrarlos al entorno virtual.

Para el desarrollo de la casa se utilizó Sketch Up, que objetos en tres dimensiones, en el cual se usó como base un plano descargado de internet que cumple con las especificaciones de la unidad de bomberos. Esta aplicación proporciona una herramienta para dibujar líneas correspondientes al plano para luego levantar la edificación en 3D, como se puede observar en la figura 12 y 13.

 

Una vez completado el modelado de la casa sketckup permite importar este objeto a varios formatos, por ejemplo, fbx, blender, obj, etc.

Para importar a Unity tanto objetos descargados como los modelos desarrollados en Sketch Up primero se debe observar el formato, debido a que Unity no soporta algunas extensiones, por ejemplo, .max. Los formatos que son comunes son: .blender, .fbx o .obj. Una vez definido el formato, se debe agregar cada objeto al proyecto mediante los "assets", este permite añadir recursos 3D dentro un proyecto Unity.

4.4. Conexión entre Unity y Kinect

Para lograr esta conexión se utilizó clases que proporciona el SDK del sensor para obtener los datos recopilados del mismo, con el fin de usarlos dentro la lógica de la plataforma. Esta información sirve para determinar si al realizar algún movimiento corresponde a algún gesto de la base de datos.

Esta lógica también permite ejecutar acciones en base a los gestos detectados y a su vez ejecutar la secuencia de incendio en el momento adecuado. Esta conexión es parte fundamental para que el usuario pueda interactuar con el entorno virtual y de esa forma se pueda desarrollar la simulación.

Este código va acompañado de una herramienta que proporciona Unity denominada "Transiciones", estas fueron utilizadas debido al escaso espacio de interacción que tiene el usuario con Kinect, es decir, que no puede tener un desplazamiento en un ambiente de tamaño real. Entonces las transiciones permiten traducir los movimientos del usuario en animaciones del avatar.

Para que una animación se ejecute, debe seguir la siguiente secuencia: debe ser reconocido el gesto correspondiente, este a su vez envía una señal a Unity para que se ejecute su transición, y por último se ejecute la animación que fue definida para dicho gesto.

En la figura 14, se puede observar las fechas representan las transiciones y los recuadros las animaciones asignadas. Cada una de estas puede ser descargada de la página de Unity o pueden ser desarrollados dentro la plataforma.

 

5. Evaluación y resultados

Para garantizar una buena usabilidad y retención de la información en los niños realizamos diferente evaluaciones de la plataforma. En esta sección explicamos las mismas. Las evaluaciones realizadas en nuestro entorno virtual de entrenamiento contra incendios, tuvieron como objetivos los siguientes: 1) Medir la precisión de los gestos en los niños, que son los usuarios finales del entorno de entrenamiento. 2) Medir la motivación y la satisfacción de los usuarios con nuestro entorno virtual.

El experimento se aplicó a 5 niños de entre 7 a 10 años. El experimento se realizó en un espacio de 5 x 5 metros donde se instaló el dispositivo Kinect, una laptop, y un televisor 40". Los participantes fueron instruidos con una breve introducción de los movimientos que deberían hacer para controlar al personaje dentro el entorno virtual y los objetivos de los dos modos de uso del entorno de entrenamiento. Posteriormente los participantes empezaron el entrenamiento contra incendios.

Para medir la precisión de los gestos, mensajes de Log fueron guardados en la plataforma. La Tabla 1 muestra los resultados de nuestra evaluación. La precisión de los gestos fue alta en todos participantes más de 80% en todos los casos. El gesto con el que más se tuvieron problemas fue el de rotar a la izquierda. Caminar a la derecha y levantar la mano fueron los gestos con más alta precisión. En conclusión los gestos definidos en nuestro entorno virtual fueron reconocidos y aprendidos por los usuarios sin mayores inconvenientes incrementando la aceptación del entorno en los mismos.

Una vez terminado el entrenamiento, los participantes fueron invitados a llenar un formulario de satisfacción y usabilidad de la plataforma, El cuestionario fue llenado anónimamente ya que nos interesaba su opinión sin presión y sincera, Se formularon 6 preguntas a los participantes a los cuales se les asignó los valores de 1 (muy malo/totalmente en desacuerdo) a 7 (excelente/ totalmente de acuerdo), La Figura 15 muestra los resultados de nuestra evaluación, en general los participantes les gusto la aplicación, estuvieron bastante motivados de usarla, la encontraron muy fácil de aprender, la interfaz en términos de iconos y mensajes puede mejorar un poco más, Pero el dato más interesante para nosotros fue que todos los participantes estuvieron totalmente de acuerdo que podrían aprender mejor con nuestro entorno virtual de entrenamiento y estarían mejor preparados en casos de incendio.

 

6. Conclusiones

En este trabajo presentamos una metodología divida en cuatro etapas para desarrollar entornos virtuales de entrenamiento 3D usando Microsoft Kinect, Unity como entorno de programación del entorno virtual y aplicando técnicas de Gamificación para incrementar la motivación y la satisfacción de los usuarios con el entorno de la aplicación, Mostramos también un caso real de uso e implementación de un entorno virtual como es el entorno de entrenamiento contra incendios para niños, Mostramos también que los resultados de nuestra evaluación indican que este tipo de entornos de entrenamiento son ideales para el público joven para incrementar su nivel de retención de la información y satisfacción con el entrenamiento.

Cabe recalcar que la ventaja con los métodos tradicionales de entrenamiento como ser modelos a escala o reales es la flexibilidad, extensibilidad a bajo costo que la plataforma tiene, por ejemplo se pueden combinar diferente escenario de entrenamiento, y diferentes objetos en el entorno virtual sin necesidad de comprarlos físicamente, Se puede incluir nuevos elementos y actualizar los contenidos de entrenamiento sin necesidad de pagar grandes cantidades de dinero y sin emplear demasiado tiempo, El paso final con nuestro entorno de entrenamiento es buscar su adopción en el proceso de prevención contra incendios en los niños y jóvenes y así aportar nuestro grano de arena a nuestra sociedad.

 

Agradecimientos

Los autores agradecen al Comité Editor de la revista Acta Nova por su ayuda en la edición de este artículo, A la unidad de Bomberos de Cochabamba "Nataniel Aguirre" por brindarnos su apoyo durante el desarrollo y evaluación de nuestro trabajo.

 

Notas

1 http://www.sentio.net/

2 https://www.microsoft.com/de-de/store/apps/windows

3 https://developer.microsoft.com/en-us/windows/kinect/develop

4 https://www.org/documentation/kinect

5 https://unity3d.com/

6 https://docs.umty3d.com/Manual/LightingInUnity.html

7 https://docs.unity3d.com/Manual/CamerasOverview.html

8 https://docs.unity3d.com/Manual/PhysicsSection.html

9 https://docs.unity3d.com/Manual/Audio.html

 

Referencias Bibliográficas

[1] WERBACH, Kevin; HUNTER, Dan, For the win: How game thinking can revolutionize your business, Wharton Digital Press, 2012,

[2] ZICHERMANN, Gabe; CUNNINGHAM, Chnstopher, Gamification by design: Implementing game mechanics in web and mobile apps, "O'Reilly Media, Inc,", 2011,

[3] DÓRR, Jórg; HESS, Steffen; COLLARANA, Diego, Requirements engineering und Konzeption von ,,Gamified "Apps, 2013,

[4] DETERDING, Sebastian, et al, From game design elements to gamefulness: defming gamification, In: Proceedings of the 15th international academic MindTrek conference: Envisioning future media environments, ACM, 2011, S, 9-15,

[5] UNIDAD DEPARTAMENTAL DE BOMBEROS Y G,A,E, «Nataniel Aguirre» Conociendo mí trabajo con la Unidad de bomberos, Cochabamba: Vol, 2015,

[6] JANA, Abhijit, Kinect for windows SDK programming guide, Packt Publishing Ltd, 2012,

[7] LAVIERI, Edward, Getting Started with Unity 5, Packt Publishing Ltd, 2015,

[8] D'AOUST, Kyle, Unity Game Development Scripting, Packt Publishing Ltd, 2014,

[9] DORAN, John P, Unity Game Development Blueprints, Packt Publishing Ltd, 2014,

[10] JACKSON, Simon, Unity 3D UI essentials, Packt Publishing Ltd, 2015,

[11] SHIFFMAN, Daniel, Getting started with Kinect and Processing, línea], Available: http://shiffman.net/p5/kinect/,[16] L, Jauregui,«Introducción a la Fotogrametría, Cap, 2008, 1, Jg,

[12] ARISPE RIVEROS, Martin Sebastian, Plataforma de entrenamiento virtual para el apoyo del proceso de capacitación en prevención y escape de incendios domiciliarios en la Unidad Departamental de Bomberos, Universidad Católica Boliviana “San Pablo”- Cochabamba - Bolivia, Junio 2016.

 

Creative Commons License Todo el contenido de esta revista, excepto dónde está identificado, está bajo una Licencia Creative Commons