Realidad
Virtual
información
adicional: semestre marzo - junio 2005
jaume ferrer i rosera
Proyecto final [para
quienes no siguen la evaluación continua)
Diseño, análisis, desarrollo de una aplicación
de realidad virtual y comparativa
Fechas
Descripción
Criterios de evaluación
Enunciado
Forma de trabajo y de entrega
Fases de trabajo
Recursos
<<< Fechas
Publicación del enunciado: 26 de abril de 2005
Límite para la entrega final: 27 de mayo de 2005
<<< 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. Así mismo, el trabajo de completa con un estudio que permita establecer un comparativa entre dos sistemas de realidad virtual.
<<< Criterios de evaluación
Esta práctica es común a l@s estudiantes que siguen el plan de estudios nuevo y antiguo. Puesto que el creditaje de la asignatura es distinto en cada caso, la forma de valoración tiene en cuenta los distintos apartados del modo siguiente:
Plan guión, diseño básico y comparativa diseño avanzado antiguo
7,5 créditosObligatorio
Vale un 60%Obligatorio
Vale un 40%nuevo
4,5 créditos ObligatorioOpcional
Mejorará nota pero sólo en el caso de completar la parte obligatoria.
<<< Enunciado
1. Guión:
La idea principal a partir de la cual cada estudiante deberá elaborar su propia propuesta es la de un espacio tridimensional limitado, dentro del cual algunos elementos serán estáticos y otros manifestarán comportamientos propios que el usuario podrá alterar durante su exploración. Puesto que disponemos de muy poco tiempo, se trata de definir guiones que no sean excesivamente complejos pero que estén resueltos en detalle.
Bastará con el uso de algunos sensores (TimeSensor, TouchSensor y ProximitySensor como mínimo) y el establecimiento de algunas rutas entre ellos y algunos objetos que hayáis modelado con algún programa de 3D (como mínimo deberían existir tres objetos con comportamientos (movimiento, cambios de escala, de color...) diferenciados de los objetos que uséis como fondo o paisaje. Los comportamientos podrán definirse con interpoladores o con scripting, según el tipo de diseño (básico o avanzado).
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.
La parte de guión constará de:
- 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 los comportamientos y de la interacción usuario-entorno.
- Guión detallado en forma de diagrama de autómata finito de los comportamientos y de la interacción usuario-entorno.
- Descripción del bucle principal de tu aplicación.
Es necesario que hagáis pública vuestra propuesta inicial así como el borrador preliminar durante la semana 1 (ver fases de trabajo) para que el consultor pueda daros el visto bueno.
Tal y como se indica en el apartado criterios de evaluación, el diseño consta de una parte básica común y de una parte avanzada que es opcional u obligatoria según el plan de estudios que sigáis:
2. Diseño:
2.1 Diseño básico (obligatoria para tod@s):
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.
- Un mínimo de tres objetos que permitan interactividad manipulativa mediante el uso de algunos sensores (TimeSensor, TouchSensor y ProximitySensor como mínimo) en combinación con distintos tipos de interpoladores conectados mediante rutas.
Será necesario modelar usando la geometría, el color y las texturas de un modo que resulte estéticament interesante pero ligero. 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.
2.2 Diseño avanzado (opcional o obligatoria según el plan de estudios que sigáis):
Añadir interacción contributiva.
Debería 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 ediciones pasadas de esta asignatura.
3. Comparativa de la aplicación propuesta con otra aplicación de RV:
- Tomar como referencia los ejemplos comentados en el material didáctico en los capítulos 5 y 7
- Escoger uno de ellos y comparar con vuestro propio guión los elementos principales: interfaces, sujeto y entorno virtual, modelo, mapeo...
<<<
Forma de trabajo y de entrega
Es muy importante que vuestro planteamiento del proyecto aproveche las posibilidades que nos proporciona una tecnología de gràficos 3D interactivos en tiempo real.
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 aspecto del mundo físico. En cualquier caso, 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.
Ahora bien, es necesario completar la aplicación de un modo coherente, por tanto será preferible desarrollar modelos de interacción simples pero plenamente funcionales y robustos antes que modelos más complejos pero incompletos o con problemas no resueltos.
El resultado de la práctica constará de:
- Guión de la aplicación (propuesta inicial y borrador preliminar).
- Versiones intermedias y parciales de la aplicación en sus distintas fases de desarrollo (enlaces en modo visualización 3D y código fuente de las funciones si las hay)
- Versión definitiva de la aplicación (enlaces en modo visualización 3D y código fuente de las funciones si las hay)
La publicación web que reunirá toda esta documentación 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), 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.
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 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 Entrega de Prácticas de la asignatura.
<<< Fases de trabajo
semanas tareas 1
26.04.05
29.04.05Completar la lectura del capítulo 7 del Material Didáctico, donde se explica la forma de desarrollar un proyecto de RV. Dar por finalizado el borrador preliminar. Estudio y valoración de las geometrías y texturas que se pretende utilizar así como estudio de los scripts que será necerario desarrollar y/o adaptar.
Publicar en vuestra web vuestra propuesta inicial así como el borrador preliminar y notificarlo en el foro para que el consultor pueda daros el visto bueno. Se trata de plantear un borrador preliminar que concrete los aspectos principales de vuestra aplicación: naturaleza del entorno y de los objetos, formas de interacción, distintos estados del sistema...
2
02.05.05
06.05.05Primeras fases de tanteo: establecer mecanismos de interacción de prueba mediante primitivas (sensores, rutas, interpoladores, scripts) con el fin de determinar si será posible resolver los problemas principales de flujo que plantea la aplicación o si deberán adoptarse soluciones alternativas.
3
09.05.05
13.05.05Desarrollo de distintos aspectos del guión: diagrama de estados y transiciones, bucle principal... Con ello estáis ya en condiciones de desarrollar las funciones y/o ajustar los elementos definitivos para conseguir los comportamientos deseados.
Publicar versiones intermedias de funciones, nodos o mundos para el uso compartido con el resto del grupo.
4
16.05.05
20.05.05Finalizar el trabajo con las funciones, rutas, sensores e interpoladores completando la aplicación con el moldeado y/o adaptación de la geometría y las texturas definitivas. Actualizar vuestra web con las últimas versiones.
5
23.05.05
27.05.05Llevar a cabo los últimos ajustes para acoplar los distintos elementos (geometrías, texturas, VRML y scripting). Testeo, últimas actualizaciones de la web y entrega.
<<< Recursos
Guía de aprendizaje 3D interactivo con WhiteDune:
La encontraréis en el aula en:
Recursos / Herramientas y elementos de soporte / Guías de aprendizaje de software / White Dune
Disponéis de dos versiones, una para consultas online y otra para descargar en vuestro disco duro y trabajar sin conexión (3,6 Mb).Tutorial de lenguaje VRML recomendado:
A modo de introducción, como manual de referencia sobre VRML recomendamos el tutorial de VRML del Dr. Narcís Parés.
FAQs sobre VRML y JavaScript:
Encontraréis más detalles en las FAQs de la asignatura.Recursos sobre Chat 3D con VRML:
Si alguien se anima a plantear el entorno como un espacio de chat 3D en esta página de recursos encontrará información sobre cómo desarrollarlo.Otros trabajos:
Aplicaciones desarrolladas en ediciones pasadas.
Tutorial adicional:
Para ampliar detalles sobre VRML podéis consultar el tutorial de floppy.
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.