Realidad Virtual
información adicional: semestre marzo - junio 2004
jaume ferrer i rosera

<< índice semestre

 

Práctica 2 de Evaluación Continua
Diseño, análisis y desarrollo de una aplicación de realidad virtual en VRML

Fechas
Descripción
Criterios de evaluación
Enunciado
Forma de trabajo y de entrega
Fases de trabajo
Recursos


 

<<< Fechas

Publicación del enunciado: 19 de abril de 2004
Límite para la entrega parcial: 3 de mayo de 2004
Límite para la entrega final: 7 de junio de 2004

 

<<< Descripción

Se plantea el análisis, estudio previo y posterior desarrollo mediante VRML de un modelo de interacción para comprender de un modo práctico los conceptos que paralelamente se estarán trabajando en la asignatura. El objetivo es poner en práctica conceptos y procedimientos propios de la RV, con especial énfasis en la interacción con estímulos generados a tiempo real.

 

<<< Criterios de evaluación

Se considera que el desarrollo de algoritmos mediante un lenguaje de programación (en este caso JavaScript en combinación con VRML) es parte fundamental del aprendizaje, por lo que un 20% de la nota de esta Práctica se obtendrá a partir del uso intensivo de scripting. Por ello, aunque la mayor parte del trabajo podrá resolverse mediante el uso de VRML básico y algunos scripts de JavaScript sencillos (diseño básico), para conseguir la nota máxima será necesario demostrar, además, conocimientos de programación más sofisticados (diseño avanzado).

 

<<< Enunciado

La propuesta parte del trabajo realizado durante la Práctica 1 pero se extiende hacia los distintos aspectos que confluyen en el desarrollo de una aplicación de RV:

1. Diseño:

La idea principal a partir de la cual cada estudiante deberá elaborar su propia propuesta es la de un diorama 3D constituido por una escenografia contenida dentro de un espacio tridimensional limitado, dentro del cual algunos elementos serían estáticos y otros se moverían con trayectorias y comportamientos propios que el usuario podría alterar durante su exploración.

A partir de este punto de partida común, cada estudiante debe darle una forma, una finalidad y un sentido propios que constituyan su propuesta personal de trabajo.

Tal y como se indica en el apartado anterior, el diseño consta de una parte básica común y de una parte avanzada opcional para mejorar nota:

1.1 Diseño básico (obligatorio para tod@s):
Diseñar un guión de interacción destinado a ser desarrollado con VRML que permita interacción explorativa y manipulativa.

Debe incluir los siguientes elementos:

      • Un entorno navegable que permita interactividad explorativa. Implica que el punto de vista del usuario deberá poder transitar por un espacio concreto, por tanto será necesario modelar usando la geometría, el color y las texturas de un modo que resulte estéticament interesante pero ligero (debe tenerse presente que será visualizado a través de internet).
      • Objetos que permitan interactividad manipulativa mediante el uso de TouchSensor, CylinderSensor, SphereSensor y ProximitySensor en combinación con TimeSensor y distintos tipos de interpoladores. Se valorará el nivel de sofisticación y el efecto final de las manipulaciones que pueda llevar a cabo el usuario.

1.2 Diseño avanzado (opcional):
Añadir interacción contributiva.

Debe incluir los siguientes elementos:

      • Uso de variables que registren parámetros del sistema que sea posible modificar, de modo que las acciones del usuario cambien las cualidades de los objetos o del entorno.
      • Para que ello sea posible el comportamiento de los objetos, y del entorno en general, debe obedecer a una serie de reglas, las cuales actúan o se desequilibran debido a la acción del usuario.
      • Se valorará el uso en calidad y cantidad de scripting. Los scripts puede ser de diseño propio o bien adaptaciones de scripts encontrados en la red. Para ello puede ser útil estudiar las aplicaciones desarrolladas en la edición pasada de esta asignatura.

Tanto para la opción de diseño básico como para la de diseño avanzado, el guión de interacción se concreta en los siguientes elementos:

  • Idea o popuesta inicial: sentido de la aplicación, tono, aspectos fundamentales, objetivos que se pretenden alcanzar...
  • Desarrollo de la idea en forma de borrador preliminar que concrete los aspectos principales: naturaleza del entorno y de los objetos, formas de interacción, distintos estados del sistema ...
  • Guión detallado en forma de diagrama de autómata finito (pág. 23, módulo 7 del Material Didáctico) de los comportamientos y de la interacción usuario-entorno.
  • Estudio y valoración de las geometrías y texturas que se pretende utilizar
  • Estudio de los scripts de VRML y JavaScript que será necerario desarrollar y/o adaptar


2. Desarrollo de la aplicación:

      • Modelar y/o adaptar la geometría necesaria
      • Elaborar y/o adaptar las texturas necesarias
      • Desarrollar y/o adaptar el código VRML y JavaScript necesario
      • Publicar versiones intermedias de funciones, nodos o mundos para el uso compartido con el resto del grupo

       

3. Ensamblaje, pruebas y finalización:

      Publicación en la web y envío al buzón de Evaluación de una web con:

        • Estudio previo de la aplicación incluyendo los puntos anteriormente mencionados
        • Versiones intermedias y parciales de la aplicación en sus distintas fases de desarrollo (enlaces en modo visualización 3D y código fuente)
        • Versión definitiva de la aplicación en modo visualización 3D y código fuente de los distintos archivos que la componen

Podéis plantear el trabajo como una simulación, la cual implica desarrollar algoritmos para definir movimientos y también construir geometrías y añadir acabados realistas (iluminación, texturas...) o bien podéis enfocarlo de tal modo que no se tome como referencia ningún comportamiento, espacio ni apecto del mundo físico. En cualquier caso, sí se valorará que el aspecto visual final tenga en cuenta el factor estético como un aspecto relevante más, puesto que se trata de construir una aplicación que resulte usable pero también interesante en todos sus detalles.

Todas las versiones que habéis publicado durante la práctica 1 así como los ejemplos que aparecen en las FAQs de la asignatura se consideran piezas básicas de ensamblaje para empezar a construir vuestra propia aplicación, por tanto se aceptarán trabajos que no sólo aprovechen el código de programación sinó que también partan de la misma idea de 'astronave'. De todos modos, será necesario introducir cambios y novedades, y sobretodo un sentido o propósito de la aplicación que sea personal y distinto para cada trabajo.

Es muy importante que vuestro planteamiento del proyecto aproveche las posibilidades que nos proporciona VRML, teniendo en cuenta que se trata de una tecnología de gràficos 3D interactivos en tiempo real.

 

<<< Forma de trabajo y de entrega

El resultado de la práctica será, por una parte el estudio previo de la aplicación, por otro los distintos scripts intermedios generados durante la fase de desarrollo, y finalmente el conjunto de archivos que componen la aplicación una vez terminada. Deberéis ampliar la publicación web que preparastéis durante la PEC1 para que incluya un índice con enlaces a la toda esta documentación, incluyendo enlaces para visualizar el código fuente de vuestros mundos VRML y de vuestros scripts JavaScript.

Dicha publicación web deberá prepararse desde el primer momento y colgarse en el espacio destinado a vuestra página personal (o en cualquier otro espacio web que prefiráis) tal y como hicistéis para la PEC1, enviando un mensaje al foro para facilitar su url. A medida que dispongáis de nuevas versiones se tratará de ir actualizando vuestra web. Con ello se pretende que el consultor pueda llevar acabo un seguimiento de vuestro trabajo y al mismo tiempo se facilita la visibilidad al resto del grupo para que todo el mundo tenga acceso a la forma de plantear y de resolver la práctica de los demás.

Recordad que aprender a trabajar compartiendo código de programación es uno de los objetivos de esta práctica, por lo que se valorarán las iniciativas destinadas a implementar, depurar, mejorar o facilitar código a los demás.

En el apartado siguiente se indica qué debería estar publicado en la web para la entrega parcial. En cuanto a la entrega final, además de publicarse en la web también deberán reunirse todos los archivos en una carpeta zip y enviarse al buzón de Evaluación de la asignatura.

 

<<< Fases de trabajo

Fase 1: del 19 de abril de 2004 al 3 de mayo de 2004» primeras 2 semanas
Las primeras semanas están destinadas al diseño del guión de interacción.

semanas 1: Leer el capítulo 7 del Material Didáctico, donde se explica la forma de desarrollar un proyecto de RV, y empezar a definir ya la idea o propuesta inicial: sentido de la aplicación, tono, aspectos fundamentales, objetivos que se pretenden alcanzar.... Estudio de los ejemplos de scripting publicados en las FAQs para comprender el funcionamiento y posibilidades de la tecnología que váis a utilitzar. Desarrollo de la idea en forma de borrador preliminar que concrete los aspectos principales: naturaleza del entorno y de los objetos, formas de interacción, distintos estados del sistema...

semana 2: Guión detallado en forma de diagrama de autómata finito (pág. 23, módulo 7 del Material Didáctico) de los comportamientos y de la interacción usuario-entorno. Puesto que el calendario es apretado y disponemos de poco tiempo, se trata de definir guiones que no sean excesivamente complejos pero que estén resueltos en detalle. Estudio y valoración de las geometrías y texturas que se pretende utilizar así como estudio de los scripts de VRML y JavaScript que será necerario desarrollar y/o adaptar. Completar el guión que se presentará en la entrega parcial y empezar ya a plantear las primeras fases de desarrollo: modelar, generar y/o adaptar la geometría y las texturas necesarias. Recordad que se trata de un soporte destinado a visualizarse en red, por lo que debéis evitar el uso de un excesivo número de polígonos o de archivos de imagen demasiado pesados. .

Fecha límite entrega parcial: 3 de mayo de 2004
Para esta fecha deberíais haber terminado y publicado en la web el material correspondiente a la fase de guionaje.

Fase 2: del 3 de mayo de 2004 al 7 de junio de 2004» últimas 5 semanas
Las semanas siguientes se destinan a completar el diseño y a llevar a cabo el desarrollo de la aplicación.

semana 3: Completar el guión a partir de las observaciones recibidas por parte del consultor.

semana 4, 5 y 6: Desarrollar y/o adaptar el código VRML y JavaScript necesario. Dar a conocer vuestros avances publicando en la web versiones intermedias en proceso. Compartir código.

semana 7: Pruebas, depuración y publicación final

Fecha límite entrega final: 7 de junio de 2004
Para esta fecha deberíais haber terminado y publicado en la web toda la documentación así como haber incluido todos los archivos en una carpeta zip y haberla enviado al buzón Evaluación de la asignatura.

 

<<< Recursos

Tutorial recomendado:
A modo de introducción, como manual de referencia sobre VRML recomendamos el tutorial de VRML del Dr. Narcís Parés.

FAQs:
Encontraréis más detalles y ejemplos de scripting en las FAQs de la asignatura.
Prácticas entregadas en la pasada edición de esta asignatura:
Encontraréis ejemplos y comentarios en la entrega de la PEC2 del pasado semestre.

Tutorial adicional:
Para ampliar detalles sobre VRML podéis consultar este otro tutorial de floppy
propuesto por vuestro compañero Ernest.
Manual VRML en libro:
Para quien guste de los manuales clásicos en papel podéis echarle una hojeada a:

GÁMEZ, Ilde y MARTÍN, Martín. VRML. Curso de iniciación. Aprenda a crear mundos virtuales en 3D para internet. Inforbook's. Barcelona. 2001.

Material didáctico de la asignatura:
Para aprender conceptos básicos de Realidad virtual resulta imprescindible la lectura de los capítulos del material didáctico según la temporización prevista, especialmente el módulo 7 para las cuestiones de desarrollo y los módulos del 1 al 4 para las cuestiones más conceptuales.