E-028 - Universidad Nacional del Nordeste

Anuncio
Resumen: E-028
UNIVERSIDAD NACIONAL DEL NORDEST E
Comunicaciones Científicas y Tecnológicas 2005
Evaluación de una herramienta para el desarrollo
de modelos de realidad virtual.
1,2,3
Pintos, Roxana E. - Mariño, Sonia I.
1,2
- Godoy, Maria V.
1. Area de Ingeniería Web. Facultad de Ciencias Exactas y Naturales y Agrimensura. UNNE.
9 de Julio 1449. 3400 Corrientes.
2. Departamento de Informática. Facultad de Ciencias Exactas y Naturales y Agrimensura. UNNE.
9 de Julio 1449. 3400 Corrientes.
3. Departamento de Ciencias de la Información. Facultad de Humanidades. UNNE.
Av. Las Heras 727 – 3500 Resistencia - Chaco
E-mail: [email protected], [email protected], [email protected]
Introducción
La realidad virtual es una técnica adecuada para la enseñanza, debido a la facilidad que posee para captar la atención de
los estudiantes mediante su inmersión en mundos virtuales relacionados con los diferentes campos del saber, lo cual
puede ayudar en el aprendizaje de los contenidos de cualquier materia. Asimismo, la realidad virtual es aprovechada
como un recurso didáctico para motivar la atención del niño a través de dibujos tridimensionales y de la interactividad
que poseen los sistemas virtuales. considerándose como una herramienta ideal a la hora de transmitir conocimiento.
En el presente trabajo, se presenta el desarrollo de una herramienta para modelizar realidad virtual y una síntesis de los
objetos utilizados en 3DStudio Max, así como de los modificadores aplicados a lo mismos. Se trabajó con los conceptos
de jerarquía, cinemática, vinculación, uso de materiales y animación, principalmente.
Fue imprescindible retomar el vocabulario 3D, lenguaje de las matemáticas, que indica que la geometría 3D se compone
de formas fundamentales que constituyen bloques de construcción. El centro del mundo 3D es el vértice, un punto del
espacio.
Cabe esclarecer que la posición del vértice 3D en el espacio se expresa con tres valores numéricos correspondientes a x,
y, z. Estos valores se miden desde un punto central, el origen del espacio universal (0,0,0); que se lo puede considerar el
centro del universo, ya que es un punto inamovible respecto al cual se realizan las mediciones.
Materiales y métodos
VRML no es un lenguaje de programación, es un lenguaje de especificación de mundos virtuales. Esta tecnología aún
es muy reciente como para contar con una filosofía de trabajo conocida y aceptada formalmente (como ocurre con la
programación convencional).
Introducción al diseño. Antes de iniciar el proceso de diseño, se revisó nuevamente la sintaxis y estructura básica de
un archivo ‘.wrl’. Se determinó que en un mundo virtual existen componentes estáticos y dinámicos. Los componentes
estáticos son las figuras geométricas que le otorgan forma al objeto que se está modelando. En cambio, los componentes
dinámicos son los eventos transmitidos entre los objetos que forman el mundo virtual, que le permite a los mismos
presentar interacciones (movimiento o sonido) visibles para el usuario [4].
Se investigó que la estructura básica de un mundo VRML está compuesta por una o más escenas gráficas, cada una de
ellas contenidas en un archivo. Las escenas gráficas están compuestas por un grupo de nodos, que a su vez contienen
campos y eventos. Los nodos representan el componente esencial en un archivo VRML. Pueden ser de distinto tipo y
existen nodos que pueden agrupar otros nodos. Además, vale señalar aquí a los nodos que actúan como sensores
(detectando las acciones del usuario e informando de ellas a otros objetos) y a los nodos que se encargan de modelar los
sonidos. Los nodos a su vez contienen campos que describen propiedades. Todo campo tiene un tipo determinado y no
se puede inicializar con valores de otro tipo.
Los eventos son mensajes enviados entre los nodos a través de rutas. Estos eventos permiten otorgarle dinamismo a los
componentes de un mundo VRML [5].
Pasos preliminares en el diseño
Identificación de objetos. Se aplicó un estudio similar al análisis orientado a objetos, identificando los mismos a partir
de la evaluación de las herramientas que se utilizarán y los antecedentes obtenidos a partir del muestreo realizado.
En el caso del sistema digestivo, los objetos a modelar serán: boca, faringe, esófago, estómago, duodeno, páncreas,
hígado, vesícula biliar, intestino grueso, intestino delgado, recto y ano.
También se definieron los sucesos más significativos para los componentes del sistema. Por ejemplo, en el sistema
digestivo, el esófago facilita el desplazamiento del bolo alimenticio desde la faringe hacia el estómago.
Especificación de atributos. Se entiende por atributos a aquellos datos que otorgan cualidades físicas relevantes a un
objeto, para su modelamiento posterior. Con los objetos ya identificados, se procedió a realizar una lista adecuada para
la finalidad del proyecto a realizar. La misma incluye características de color, tamaño, evento y principalmente; si el
objeto realiza algún movimiento por sí mismo (si tiene contracciones).
Identificación de eventos. Un evento involucra cambios en los valores de uno o más de sus atributos. Algunos de los
cambios pueden ser de posición, color, tamaño, sonido, entre otros.
Resumen: E-028
UNIVERSIDAD NACIONAL DEL NORDEST E
Comunicaciones Científicas y Tecnológicas 2005
Para identificar los eventos se revisó nuevamente toda la información obtenida, con el objetivo de adquirir una
clasificación satisfactoria. Existen dos tipos de eventos u operaciones: internos o externos. Un ejemplo de evento
interno es la detección de colisiones; un ejemplo de evento externo es la activación del sonido mediante el clic del
mouse. En el caso del aparato respiratorio, el estado de los pulmones en los momentos de la respiración (inspiración y
espiración).
Comunicación entre objetos. Los objetos del mundo virtual se comunicarán por medio de mensajes, quienes deben ir
encaminados por una ruta. Se investigó que en VRML los cambios en los nodos, producto de su interacción, son
posibles gracias al envío de mensajes por medio de eventos que son encaminados vía una ruta (llamada ROUTE).
Se identificó la existencia de estas interacciones, teniendo en cuenta la información obtenida y, además, se indicaron
aquellos objetos que presentan variaciones en su movimiento o características físicas.
En el sistema digestivo, el intestino delgado envía al intestino grueso las sustancias no aprovechadas en el proceso de
digestión.
Incorporación de luces y cámaras. 3DS Max ofrece acceso a herramientas para crear varios tipos de luces. En este
caso, se utilizó el objeto ‘Luz direccional libre’ que emite un haz de luz creando la ilusión de iluminación. Esta luz
brilla desde una dirección uniformemente, como un haz de rayos paralelos. Brinda un efecto similar al del sol, donde
todo es iluminado en la misma dirección [6].
Las cámaras son un mecanismo de visualización utilizado en el proceso de creación de imágenes [1]. Fueron insertados
varios objetos ‘Cámara con objetivo’ que funcionan de manera similar a las cámaras de cine reales.
Exportar la escena Finalizada la escena, se exportó el archivo en formato ‘.wrl’. Mediante la obtención de la
‘Especificación del Lenguaje de Modelado de Realidad Virtual’ (VRML) se tornó más amena la interfaz del editor para
comprender la sintaxis de los nodos y los campos.
Resultados
Como se menciona en éste trabajo, se explica el procedimiento para la modelización de las partes del cuerpo humano
con el objeto de construir un software educativo.
Primera escena: “Partes del cuerpo”
Esta escena gráfica se realizó en el programa de diseño gráfico 3DStudio Max. Se procedió a efectuar cada parte del
cuerpo de manera independiente. A continuación se detallan los pasos que se siguieron para obtener algunas de dichas
partes:
La cabeza se creó utilizando el objeto ‘Esfera’. Para que este objeto se pueda modelar, se aplicó un modificador ‘FFD
(caja)’ que permitió activar el ‘nivel de selección subobjeto’ en la persiana Catálogo de modificaciones para seleccionar
y mover los puntos de control, generados con el modificador aplicado. Se agregó al catálogo un modificador
‘SuavizaMalla’ para suavizar todas las aristas angulares gracias a que muestra una malla de control alrededor del objeto
para realizar esta operación.
Para crear los rasgos faciales (incorporación de la nariz, la boca y las cuencas oculares), se añadió el modificador ‘Malla
editable’que es una herramienta de modelado poligonal. Aquí se trabajó con el nivel de selección de vértice y polígono,
principalmente.
La malla de control permitió realizar operaciones poligonales básicas, como Biselar, Extruir o Cortar directamente. La
diferencia entre las dos primeras operaciones es que Biselar primero extruye las caras y luego las bisela. Aunque el
botón Extruir parece desactivado, Biselar utiliza el campo Extruir que aparece al lado [1]. Estas herramientas se
encuentran disponibles en la persiana ‘Editar geometría’.
Se emplearon los campos de ambos botones para realizar un biselado preciso para obtener la nariz. En el caso de la
boca, se utilizaron las herramientas Cortar y Extruir. Para las cuencas oculares, se añadieron vértices al área en torno a
los ojos que luego fueron seleccionados y ligeramente empujados dentro de la cabeza. En el caso del cuello se
seleccionaron los polígonos de la base de la cabeza y se aplicó a los mismos la herramienta Extruir.
Para la creación de los ojos, se utilizó el objeto ‘Esfera’ y una nueva función de cuadrícula flotante llamada CuadrAuto
(para cada uno de ellos). Teniendo en cuenta la documentación revisada, el cursor de CuadrAuto sigue la superficie del
objeto. Una flecha muestra la normal a cara actual en el centro de una cuadrícula flotante [1].
Debido a que los ojos son objetos independientes, se crearon mapas planos para los mismos. Para ello, en el ‘Editor de
materiales’ se trató la imagen seleccionada y se aplicó un modificador de ‘Mapa UVW’ al globo ocular.
El modelado del cuerpo se realizó utilizando la técnica llamada Solevación. Según la información obtenida, ésta técnica
consiste en crear un objeto 3D mediante la colocación de formas 2D en un recorrido. El proceso general consiste en
definir un recorrido y una forma, y luego extruir la forma a lo largo del recorrido [1].
Como primer paso, se efectuó el recorrido para la solevación empleando la forma ‘Línea’. Para la creación de la
representación del cuerpo, se utilizó la forma ‘Elipse’ y se incorporó el modificador ‘Spline editable’ para acceder
fácilmente a sus vértices para editarlos.
La solevación del cuerpo se inició seleccionando la línea creada y agregándole el compuesto ‘Objeto solevado’. En la
persiana ‘Método de creación’, se eligió ‘Asignar forma’ y se seleccionó la elipse.
Para agregar detalles a la solevación, se aplicó un modificador ‘Malla editable’ para realizar la forma de la cola y el
ombligo. Para el desarrollo de las manos, se empezó con la creación del objeto ‘Caja’ para cada una de ellas.
Nuevamente, se incorporó el modificador ‘Malla editable’ para tratar los polígonos que forman dicho objeto. Para
Resumen: E-028
UNIVERSIDAD NACIONAL DEL NORDEST E
Comunicaciones Científicas y Tecnológicas 2005
suavizar el objeto, se incorporó el modificador ‘SuavizaMalla’. Para el modelado propiamente dicho, se utilizaron los
subobjetos vértice y polígono para Malla editable.
En cuanto a los pies, la metodología a seguir fue similar a la utilizada cuando se crearon las manos. Aquí se utilizó,
fundamentalmente, la herramienta ‘Extruir’. Las piernas y los brazos también se iniciaron con el objeto ‘Caja’. Se
incorporó el modificador ‘Malla editable’ y se alternó entre las herramientas ‘Biselar’ y ‘Extruir’ hasta obtener las
formas más semejantes.
Incorporación de objetos ‘Ayudantes’
Los objetos ayudantes de VRML97 se insertaron en el visor Superior de Max, el objetivo es que aparezcan bien
orientados en el visor Anterior. Algunos de los objetos que se utilizaron en esta escena son:
- Anchor: este objeto crea un enlace a un archivo VRML. Dicho enlace se encuentra incrustado en un objeto. El Anchor
envía al visualizador a otro archivo. Este archivo es un ‘.wrl’ (texto o gráficos) u otro punto de vista. Este nodo es
activado por el usuario estableciendo afuera un evento, tal como clickear sobre un objeto particular o dentro de un
objeto Proximity Sensor en la escena [2]. Por ejemplo, haciendo clic en la cabeza del personaje, se pasa a un primer
plano de la cabeza (o sea, tiene un enlace a una cámara que se encuentra en la escena).
- NavigationInfo: describe características físicas del navegador y la escena. Especifica al visualizador / navegador qué
tipo de navegación usar, cuan rápida será la misma, el tamaño de un avatar (entendiendo por avatar el espacio físico de
la presencia del usuario), y el límite de visibilidad [2].
El objeto insertado en esta escena permite rotar el mundo para verlo desde distintos ángulos (el usuario permanece
inmóvil) y que el usuario camine normalmente siendo afectado por la gravedad.
- Background: este objeto posee parámetros que permiten crear un cielo y/o base para el mundo. Con las
especificaciones de base se crea un horizonte que suministra la sensación de que los objetos no están simplemente
flotando alrededor de un espacio [2].
El objeto incrustado permite que la escena posea cielo y tierra a la vez, mezclando diversos colores para obtener una
gama de matices.
Segunda escena: “Movimiento de las extremidades”
Se trabajó sobre el modelo del niño obtenido en la primer escena. Se creó una estructura esquelética vinculada que
luego se conectó a la malla del cuerpo del niño. Para ello se utilizaron diferentes herramientas, además de integrar
conocimientos de cinemática y vinculación, principalmente.
Antes de empezar con el esqueleto, fue necesario combinar las partes del cuerpo en una única malla editable. Para ello,
se adecuaron las intersecciones de todos los elementos de la geometría. Se utilizó el tipo de objeto ‘Booleano’ del panel
‘Objetos de composición’ para unir las partes, convirtiendo luego en una malla editable.
Creación del esqueleto para la animación
Para las piernas se trabajó con una cadena de huesos. Luego de haber ajustado los huesos, se definieron los límites de
‘Cinemática inversa’ para que dichos huesos tengan movimiento. Fue imprescindible ajustar los valores de los
parámetros de los paneles ‘Movimiento’ y ‘Jerarquía’.
Según la información obtenida, en la cinemática inversa (CI), el movimiento de un objeto subdescendiente crea un
efecto sobre los descendientes y ascendientes que se encuentran encima. La norma general en la CI es: los padres
obedecen a los hijos [1].
Se crearon ‘Efectores finales’ en la punta de los dedos y los talones. Los efectores finales son objetos que se utilizan en
el sistema de CI interactiva para controlar la animación de CI [1].
Para los brazos, la parte superior del cuerpo y la cabeza, se creó una cadena de cinemática directa a partir de cajas. Aquí
también se configuró el panel ‘Jerarquía’ y se utilizó ’Cinemática directa’.
Se investigó que cuando se transforma el objeto ascendiente en la cinemática directa, los objetos descendientes y
subdescendientes también se transforman. La norma general en la cinemática directa es: los hijos obedecen siempre a
sus padres [1].
Luego de colocar las cajas adecuadamente, se procedió a realizar la vinculación jerárquica. Se emplearon las
herramientas ‘Seleccionar y vincular’ y ‘Vista esquemática’ para dicha operación.
Para conectar los huesos y las cajas, se creó una estructura esquelética unitaria mediante objetos ficticios. Los objetos
ficticios no se representan pero pueden utilizarse para tareas de vinculación y animación. Se crearon objetos de éste tipo
para los pies y otro en la base de la columna para separar la vinculación de las piernas de los huesos del torso, de
manera que la rotación del torso no se transmita a las piernas.
Debido a que los efectores finales son objetos que se utilizan para controlar la animación, se procedió a vincularlos a
los objetos ficticios.
Finalmente, se aplicó un modificador ‘Piel’ para animar la malla del niño mediante la animación del esqueleto,
obteniendo así un personaje totalmente animado.
Cabe aclarar que para esta escena en particular , falta trabajo por realizar, debido a que se pretende que la animación
capte la atención del niño.
Resumen: E-028
UNIVERSIDAD NACIONAL DEL NORDEST E
Comunicaciones Científicas y Tecnológicas 2005
Editor de texto
El archivo ‘.wrl’ obtenido, se manipuló en el editor de texto ‘VrmlPad’ que permite operar, editar e imprimir archivos
fuente. Básicamente, los objetos insertados en MAX se muestran en el ‘Árbol de escena’ (Figura 8). Este árbol
desdobla la jerarquía de la escena.
Para cada nodo, despliega: i) un icono que indica el tipo de nodo (ejemplo: Transform). Cada tipo de nodo tiene un
icono particular que está asociado son él [3]. ii) el nombre que se asignó al nodo (ejemplo: parpado_izquierdo).
En esta etapa; fue necesario el uso de la ‘Especificación del Lenguaje de Modelado de Realidad Virtual’ para despejar
las dudas con respecto al tratamiento de nodos, campos, eventos y scripts.
Luego de realizar todas las exploraciones necesarias en la interfaz del editor de texto, se procedió a la visualización del
archivo ‘.wrl’ en ‘Cosmo Player’. La Figura 1 muestra parte de la ventana del visualizador.
Figura 1. Ejemplo de un modelo de realidad virtual
Conclusiones
Lo explicado hasta este momento solo es una parte del software educativo que se pretende obtener. En una segunda
etapa se tiene previsto aplicar el potencial creativo para diseñar los sistemas fundamentales del cuerpo humano, y lograr
la interacción para contribuir .a la enseñanza – aprendizaje de los temas desarrollados.
Referencias
[1] Anónimo (1999): “Bienvenido al mundo de 3DSMax “, Tutorial de 3D Studio Max R3.
[2] Anónimo: “Step by Step of how to implement the VRML nodes into your MAX file”,disponible en
www.dform.com/inquiry/tutorials/3dsmax/index/howto.html.
[3] Anónimo (2002): “VrmlPad Help”, Temas de ayuda de VrmlPad 2.0.
[4] Alvarez, D. “Metodología de desarrollo VRML”. Universidad Politécnica de Valencia, disponible en:
http://www.arrakis.es/~dalvarez/.
[5] Hilera, J. R.; Oton, S. y Martinez, J. (1999). “Aplicación de la Realidad Virtual en la enseñanza a través de
Internet”, disponible en: http://www.ucm.es/info/multidoc/multidoc/revista/num8/hilera-oton.html . Visitado en
marzo de 2004.
[6] Pumarega, J. L.; Zimmermann, M. y Ortiz, R. “Floppy's VRML97 Tutorial”, Vapour Technology Ltd.; disponible
en http://www.w3.org/TR/REC-html40/loose.dtd .
Descargar