Realidad Virtual 2002 Rafael Tormo Molina Práctica 3 de evaluación continua Desarrollo de un guión de interacción para una aplicación de RV Título: Jardín Botánico Virtual A. Idea o propuesta inicial: Consiste en la creación de un jardín botánico virtual que pueda ser visitado, organizando las plantas según su ecología (bosques, matorrales, pastizales, vegetación acuática, etc.), su clasificación botánica (helechos, gimnospermas, dicotiledóneas, monocotiledóneas), utilidades (alimenticias, textiles, medicinales, ornamentales, etc.), geografía (continentes, regiones, etc.), estilos de jardinería ornamental (oriental, egipcio, romano, medieval, inglés, francés, italiano, etc.), plantas de invernadero, arboretum, rocalla, palmeral, etc. La visita al jardín contemplará la posibilidad de elegir la época del año, para poder observar las plantas en distintos estados de desarrollo, cuando están germinando, creciendo, en flor, en fruto, caída de la hoja, etc. 1. Sentido de la aplicación Será fundamentalmente una aplicación didáctica y lúdica, para facilitar el aprendizaje de distintos aspectos relacionados con las plantas y sus utilidades, puede ser reflejo de un jardín real o bien un jardín ideal, también puede considerarse como la guía turística de un jardín histórico o monumental. 2. Tono La aplicación debe reflejar lo más fielmente posible las plantas reales, su tamaño, color, forma, textura, disposición de hojas, flores, frutos, siempre con un criterio científico, pero asequible para todo el mundo. Debe contar con elementos de ayuda para facilitar el aprendizaje desde cualquier nivel de conocimiento, como rotulaciones y ventanas de ayuda o información textual. 3. Aspectos fundamentales: Un plano inicial mostrará los recorridos posibles, aunque los detalles se dejaran a la exploración del usuario, será posible elegir antes de entrar la época del año lo que hará posible de puedan verse unas plantas u otras, o bien el estado de desarrollo de una misma planta. El nivel primero de exploración permitirá desplazarse en cada uno de los ambientes diseñados, se podrá pasar de un ambiente a otro a través de puertas actuando como sensores. El segundo nivel mostrará modelos en 3D que serán manipulables por el usuario mediante controles, ofrecerán información morfológica sobre detalles de las plantas presentes en cada uno de los ambientes, como las flores, las hojas o los frutos, también podrán proporcionar colecciones de imágenes. 4. Objetivos que se pretenden alcanzar: Crear un entorno modular con posibilidad de cambiar los objetos que van a representar en función del criterio inicial de selección de época del año a visitar. Se comenzará con una serie de plantas elementales que contemplen la diversidad de los grupos o categoría principales, si es posible se podrá aumentar. - Se pretende facilitar el conocimiento del mundo vegetal y las plantas más importante desde el punto de vista cultural, ecológico, científico, etc. - Hacer ver al usuario la belleza de las plantas, persuadirle para que observe la naturaleza y explore su entorno libremente y encuentre el placer de apreciar una flor. - Invitar a explorar de forma cómoda espacios amplios, permitiendo manipular objetos diseñados para mostrar detalles de la naturaleza de las plantas - Seducir al usuario para que visite la próxima vez, de forma real, un jardín de su ciudad o localidad. - Jugar con el tiempo (estación del año), poder contemplar el estado del jardín en cualquier estación del año sin tener que esperar, informar al usuario de que puede encontrar en flor/fruto si ahora visitase el jardín real B. Borrador preliminar 1. Naturaleza del entorno: Será un entorno natural, espacio abierto con iluminación directa del sol. Los límites del jardín serán una verja de hierro o una pared con plantas enredaderas, un módulo que se repetirá creando un recinto cerrado, el jardín estará dividido en zonas por la presencia de setos geométricos 2. Naturaleza de los objetos: Los objetos principales serán las plantas, estarán representadas en el primer nivel por imágenes (gif con fondo transparente, elementos estáticos), pero una vez delante de ellas se podrá acceder a ambientes donde aparecerán formas 3D simplificadas que rotarán o escalarán para poder apreciar los detalles, pueden estar constituidas por una rama con algunas hojas y una flor o un fruto (interacción con estímulo generados a tiempo real). 3. Formas de interacción: El usuario podrá desplazarse por todo el jardín, pasando de un ambiente a otro (mundos wrl diferentes), situarse delante de una planta y al pulsar sobre el rótulo de su nombre se pasará al ambiente del segundo nivel, en el segundo nivel estarán disponibles sensores que permitirán la aparición de objetos en 3D que podrán rotarse o escalarse utilizando sensores, en algunos casos se permitirá que las piezas de la planta puedan separase para observar su composición a modo de disección. 4. Estados del sistema Antes de entrar al jardín se podrá elegir la época del año para visitarlo, esto permitirá que aparezcan o desaparezcan unos determinados objetos, por ejemplo plantas anuales o bien que algunas plantas perennes muestren flores, frutos o bien estados diferentes de su follaje. En cada uno de los ambientes también se podrá cambiar la estación del año, una panel de sensores permitirá pasar de una estación a la otra (cambio de mundos wrl). C. Guión detallado en forma de diagrama de autómata finito Entrada Plano del Jardín Botánico Hortus planta planta planta Invernadero planta planta planta Arboretum planta planta planta D. Geometrías y texturas Para cada ambiente del primer nivel se necesitarán: - suelo (imagen textura) - bordes laterales (imagen textura) - objetos de organización (setos de separación) - puertas de acceso a otros ambientes - panel de sensores con acceso al mapa y las estaciones - objetos plantas (imágenes gif) - rótulos de las plantas (sensores de tacto) Para cada ambiente del segundo nivel se necesitarán - objetos 3D que definan partes como tallo, hojas, sépalos, pétalos, estambres, pistilos - sensor de rotación esférica - sensor de escalado - sensor para volver al ambiente anterior E. Scripts de VRML y JavaScript necesarios - Script de arranque de la aplicación (index.wrl) que actúo como mapa del entorno general (mapa del jardín botánico - Scripts para cada uno de los ambientes, se han creado tres: . hortus.wrl . arboretum.wrl . invernadero.wrl -Scripts para cada una de las plantas que se quieran describir, se ha creado uno para la planta Rhododendrum del hortus que lee un fichero creado con otra aplicación (3ds max) - Scripts creados por otras aplicaciones (3ds max), se ha creado una flor que se lee dentro de Rhododendrum - Sensores de tacto ligados a Anchor para pasar de un ambiente a otro (puertas) - Sensores de tacto ligados a Anchor para pasar al segundo nivel de detalle para la descripción de las plantas (ver ejemplo de Rhododendrum en hortus) - ScalarInterpolator para aumentar el tamaño de los objetos (segundo nivel) - SphereSensor para mover los objetos en detalle 3D (segundo nivel) Para la puerta del arboretum que conecta con el hortus se ha diseñado un script para aprovechar un ProximitySensor DEF programa Script { eventIn SFBool funcion field MFString mundo ["hortus.wrl"] field MFString destino ["target=_self"] url "javascript: function funcion(v,t) { Browser.loadURL(mundo,destino); } " } ROUTE puerta.isActive TO programa.funcion F. Maqueta/prototipo de la aplicación 1. Diseño de algunas pantallas Pantalla del hortus Pantalla del arboretum Pantalla del invernadero Pantalla de una flor en segundo nivel con controles 2. Prototipo rudimentario en VRML a nivel de diseño de espacios, disposición de sensores y comportamientos básicos - Se adjunta fichero zip con archivos wrl, jpg y gif con el prototipo. 3. Prototipo rudimentario en VRML y JavaScript a nivel de comportamientos basados en reglas - Se adjunta fichero zip con archivos wrl, jpg y gif con el prototipo.