Instituto Polit�cnico Nacional
Instituto Politécnico Nacional
"La Técnica al Servicio de la Patria"

Boletín No. 87
1o. de noviembre de 2021




FRAMEWORK PARA APLICACIÓN EDUCATIVA DE REALIDAD VIRTUAL

 

Alejandro Benítez Hernández
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
M. en C. Eduardo Cardoza Plata
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Dr. Mauricio Olguín Carbajal
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
M. en C. Israel Rivera Zárate
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

Instituto Politécnico Nacional
Centro de Innovación y Desarrollo Tecnológico en Cómputo

 

Resumen

Los frameworks son usados para el desarrollo de aplicaciones de realidad virtual por su forma sencilla, organizada y rápida que pueden realizar dichas aplicaciones. En el presente trabajo se busca el desarrollo de un framework sin la necesidad de tener conocimientos previos de lenguajes de programación para desarrollar clases con el elemento de la realidad virtual a través de 7 fases diferentes.

Introducción

Hoy en día para desarrollar aplicaciones de realidad virtual se requiere tener previamente conocimientos de lenguajes de programación. Por otra parte, realizar aplicaciones de realidad virtual para el sector educativo es un tema de importancia ya que las nuevas generaciones empiezan a utilizar dichas tecnologías desde una temprana edad, pero no para el ámbito de educación.

Cuerpo

Se desarrolló un framework para la realización de clases con el atractivo de la realidad virtual enfocado a la educación con la característica de manejar dicho framework sin tener conocimiento previo de un lenguaje de programación.

El desarrollo del framework se dividió en 7 fases. Cada fase fue enfocada a diferentes procedimientos como fueron la interfaz de la aplicación, la visualización y desaparición del mouse, el manejo de cajas de texto, objetos 3D e imágenes y el sistema de guardado y carga.

1. Fase 1 (Interfaz gráfica)

Se desarrolló la interfaz gráfica de la ventana “aplicación” dentro de un mundo tridimensional donde se pueden agregar objetos 3D, cajas de texto e imágenes. La ventana está formada por los botones Agregar Texto, Agregar Texto con Título, Agregar Imagen, Agregar Objeto 3D, Menú, Guardar y Cargar. Estos pueden ser ocultos mediante la tecla F12 del teclado. Ver figura 1.

 

Figura 1. Ventana aplicación.

 

2. Fase 2 (Modos en framework)

Se desarrollaron dos diferentes modos para manejar el framework, los cuales pueden cambiarse de un modo a otro mediante la tecla “G/g” del teclado y estos son:

2.1 Modo de navegación

El modo de navegación permite al usuario moverse a través del mundo tridimensional con las teclas del teclado (A, W, S y D) y con el mouse se mueve la posición de la cámara del usuario. En este modo el mouse no se puede ver en la pantalla de visualización.

2.2. Modo de posicionamiento de objetos

El modo de posicionamiento de objetos permite al usuario agregar los elementos como imágenes, cajas de texto y objetos 3D al mundo tridimensional y con el mouse posicionarlos. En este modo el mouse se puede ver en la pantalla de visualización.

3. Fase 3 (Cajas de texto)

Se desarrollaron dos variantes de cajas de texto. La funcionalidad de las dos variantes es la misma, permite al usuario agregar texto en el mundo tridimensional. A los dos estilos de cajas de texto se agregó un cuadro de color amarillo el cual permite al usuario mover las cajas de texto al presionar click izquierdo sobre el sin soltarlo y un botón de color rojo que permite la eliminación de la caja de texto. Tanto el cuadro amarillo como el botón rojo se pueden ocultar mediante la tecla “/” del teclado. Ver figura 2.

 

Figura 2. Primera variante de caja de texto.

 

4. Fase 4 (Objetos 3D)

Primeramente, se desarrolló una interfaz gráfica llamada Inventario de Objetos 3D. Ver figura 3. Contiene los objetos 3D que pueden ser agregados al mundo tridimensional y un botón llamado cerrar para quitar el inventario de la pantalla de visualización. Los objetos 3D tienen la capacidad de ser movidos en el mundo tridimensional mediante el botón izquierdo del mouse. Y con la ayuda de las teclas W, A, S y D del teclado se puede ubicar el objeto en diferentes posiciones del mundo tridimensional.

Los objetos 3D pueden ser rotados sobre su propio eje con el botón de en medio del mouse y por último estos pueden ser eliminados al dar click derecho del mouse.

 

Figura 3. Inventario de objetos 3d.

 

5. Fase 5 (Imágenes)

Las imágenes funcionan de manera muy similar a las cajas de texto ya que cuentan con el cuadro amarillo para ser movidos por el usuario y el botón rojo para eliminarlos de la pantalla de visualización. Al igual que en los objetos 3D se desarrolló una interfaz gráfica llamada Inventario de Imágenes.

6. Fase 6 (Sistema de guardado)

El botón “guardar” se encuentra en la parte superior derecha de la ventana de aplicación. Para el sistema de guardado se toma la posición y el número de cajas de texto, imágenes y objetos 3D que se encuentran dentro del mundo tridimensional. Para el caso de las cajas de texto se guarda también el texto ingresado por el usuario.

7. Fase 7 (Sistema de carga)

Al igual que el botón de guardar este se encuentra en la parte suprior derecha de la ventana de aplicación. El sistema de carga que se implementó toma la información guardada sobre el mundo tridimensional y agrega nuevamente los elementos que se tenían al momento de guardar. Esto permite a los usuarios usar un trabajo que se había hecho previamente.

Conclusión

Las clases que se desarrollaron con el framework fueron hechas con facilidad y con un resultado satisfactorio ya que se obtuvieron clases dinámicas y atractivas por sus herramientas sencillas e intuitivas. Cumpliendo con el objetivo principal el cual es el desarrollo de clases con el elemento de la realidad virtual sin la necesidad de tener un conocimiento previo de lenguaje de programación.

Referencias

  1. Camporesi C., & Kallmann M. (2013). A Framework for Immersive VR and Full- Body Avatar Interaction. IEEE.(pp. 79-80).

  2. Guozheng W., & Haiyan W. (2008). Research of Education Game Based on Virtual Reality. IEEE. (pp. 921-924).

  3. Kazunori M., Katsuhiro U., & Takeo H. (2010). An educational framework for crea- ting VR application through group work. Computers & Graphics. (Vol. 34, pp. 809-819).

  4. Marzano A., Friel I., Ahmet Erkoyuncu J., & Court S. (2015). Design of a Virtual Reality framework for maintainability and assemblability test of complex systems. Procedia CIRP. (Vol. 37, pp. 242-247).

  5. Neo K., & Qingping L. (2004). Un sistema basado en la Web para la visualización interactiva de conceptos científicos. Conferencia Internacional SIGGRAPH ACM sobre Continuum Realidad Virtual y sus aplicaciones en la industria. (pp. 155-158).

  6. Rauf D. (2016). Virtual Reality. Rosen Publishing Group.

  7. Southgate E., Smith S., Cividino C., Saxby S., Kilham J., Eather G., Scevak J., Summerville D., Buchanan R., & Bergin C. (2019). Embedding immersive virtual reality in classrooms: Ethical, organisational and educational lessons in bridging re- search and practice. International Journal of Child-Computer Interaction. (Vol. 19, pp. 19-29).