Está en la página 1de 32

Realidad Virtual

"Una combinacin de diversas tecnologas e interfaces que permite a uno o ms usuarios interactuar, en tiempo real, con un entorno o mundo dinmico tridimensional generado por computadora." Tridimensionalidad Interaccin Inmersin

Navegacin

VRML es un lenguaje para describir objetos y mundos 3D interactivos. Puede decirse que ms que un lenguaje de programacin es un lenguaje de modelamiento de escenas tridimensionales interactivas. VRML permite implementar escenas estticas o dinmicas en 3D con posibilidad de encadenamiento de texto, sonido, imgenes y vdeo. Naci en 1994 en laboratorios de Sillicon Graphics y su popularidad creci en los ltimos aos.

Est diseado para usarse sobre Internet, intranets, y sistemas locales. Los mundos VRML pueden transmitirse e inter-relacionarse a travs del WWW y visualizarse mediante algn navegador o browser VRML.

VRML ha sido diseado para satisfacer los siguientes requerimientos:

Autora
Composicin Extensin Capacidad de Implementacin Desempeo

Escalabilidad

Arquitectura Urbanismo Biomedicina Gentica Anatoma Geologa Arte

Aplicaciones

Investigacin
Simulacin

Requisitos para trabajar con VRML Un navegador web (con el plugin necesario) o un visualizador VRML. Para editar el cdigo un editor de texto plano cualquiera, los archivos VRML tienen la extensin .wrl y .wrz (cdigo VRML comprimido con GZIP). Cabecera Para que un navegador pueda identificar que un archivo contiene cdigo VRML, este debe contener en la primera lnea: #VRML v1.0 ascii #VRML v2.0 utf8. Para la primera versin Para la segunda versin

CONCEPTOS BASICOS

Nodos Son los objetos en nuestro mundo virtual. Tambin pueden contener otros nodos (se anidan). Campos Contenidos dentro de los nodos (propiedades de los objetos). Tienen un tipo de dato asociado.

Eventos Pensados como mensajes que circulan entre nodos permitiendo la variacin de sus parmetros.
Nombres Sensible al cambio de maysculas a minsculas. Los nodos comienzan con MAYUSCULA y los campos con minscula.

Medidas Se utilizan los metros para un mundo VRML, en lo que a ngulos se refiere, se utilizan los radianes. El tiempo se mide en segundos y los colores con RGB.

Primitivas Son objetos predefinidos. Utilizamos el nodo Shape. Encontramos cubos, esferas, cilindros y conos. Varan su definicin segn los valores asignados a sus respectivos campos. Ejemplo 1: un cubo
Shape { geometry Box {size 4 3 5} }

La definicin de un nodo primitivo no implica su visualizacin. Para definir la apariencia de la primitiva se debe definir un color y/o una textura. Color Lo definimos con el campo material, utilizando un nodo Material. Este ltimo posee campos como: diffuseColor: Es el color del objeto (RGB) emissiveColor: Color de brillo emitido por el objeto (RGB) specularColor: Es el color que refleja un objeto (RGB) ambientIntensity: Cantidad de luz ambiental que reflejar el objeto (1 solo valor) transparency: Nivel de transparencia del objeto (1 solo valor) shininess: Intensidad del brillo del objeto (1 solo valor)

Shape{ appearance Appearance{ material Material{ diffuseColor color_RGB emissiveColor color_RGB specularColor color_RGB ambientIntensity valor transparency valor shininess valor } } geometry ... }

PRIMITIVAS

Son objetos predefinidos. Debemos utilizar el nodo Shape: Shape { geometry Box {size 4 4 4} } Shape { geometry Cone { bottomRadius 3 height 2 } }

Shape { geometry Sphere {radius 5} } Shape { geometry Cylinder{ radius 5 height 5 } }

TRANSFORMACIONES

Transform

Nodo que permite situar, rotar y escalar los objetos. Para ello emplea los campos (fields): translation rotation scale

Todas las transformaciones pueden realizarse en el mismo nodo.

Traslacin Este campo permite desplazar el objeto respecto a los ejes X, Y y Z.


Transform { translation 10 0 0 children [ Shape { geometry Box {size 4 3 5} appearance Appearance { material Material{ diffuseColor 1 0 0} } } ] }

Rotacin Field que permite rotar el objeto respecto a los 3 ejes en radianes
Transform { translation 10 0 0 rotation 0 1 0 0.5236 # equivalente a 30 grados children [ Shape { geometry Box {size 4 3 5} appearance Appearance { material Material{ diffuseColor 1 0 0} } } ] }

Escala Permite agrandar o reducir el tamao del objeto segn sus ejes.
Transform { scale 2 1 1 # escalado no uniforme children [ Shape { geometry Box {size 4 3 5} appearance Appearance { material Material{ diffuseColor 1 0 0} } } ] }

TEXTO
Permite posicionar en el mundo virtual una cadena de texto. Utilizamos el nodo Text que tiene los siguientes campos: string, fontStyle, maxExtent, lenght.

ENLACES
El nodo Anchor crea un grupo especial ya que seleccionando cualquier objeto perteneciente a dicho grupo se salta hacia otro mundo virtual o pagina Web (equivalentes a los enlaces existentes en las pginas Web realizadas mediante HTML). Cualquier objeto o grupo de objetos se puede convertir en un enlace.

FORMAS COMPLEJAS
IndexedFaceSet Las primitivas son muy restrictivas en cuanto a formas. Con esta estructura podemos definis geometrias arbitrariamente. Este modelo permite definir un objeto 3D apartir de sus vertices y caras. Restricciones: (1) Los vrtices tiene que ser consecutivos siguiendo el permetro de la cara. (2) Los vrtices tiene que ir en orden antihorario mirando a la cara desde el exterior del objeto. (3) El ltimo vrtice de cada cara se enlaza con el primero (cerrando el circuito).

COLORES EN FORMAS COMPLEJAS El field colorPerVertex dice si los colores se asignarn a los vrtices o a las caras del objeto (valor booleano). En el field color se coloca una lista de colores a travs de un nodo Color. DEF Permite definir nodos de un objeto que se utilizarn en repetidas oportunidades. Le da un nombre al nodo. USE Posibilita la utilizacin de los nodos definidos anteriormente.

OBJETOS ALMACENADOS EN FICHEROS


En ocasiones conviene almacenar cada objeto en su pripio fichero. Por ejemplo se deseara modelar una habitacin, los diferentes elementos que van a aparecer dentro de ella: paredes, puertas, mesas, sillas, cama, etc, son objetos independientes entre si pero que se engloban dentro de un mismo espacio y, que adems, pueden aparecer varias veces en el diseo de todo mundo virtual.

Se utiliza el nodo Inline que permitie crear un grupo en donde los hijos, almacenados en distintos ficheros VRML, son recuperados indicando su direccin URL.

Inline { url "mundo-virtual.wrl" }

EVENTOS
Mensaje que enviado por un objeto y recibido por otro.
Routing ROUTE es el comando que permite enlazar un eventOut con un eventIn. Interpoladores Nodos que nos permiten hacer algo en un intervalo determinado. Tipos: ColorInterpolator CoordinateInterpolator OrientationInterpolator PositionInterpolator

SENSORES

Nodo detector que reacciona ante estmulos. Sensor de Tiempo TimeSensor es un reloj que podemos utilizar a nuestro gusto. Se basa en el reloj de tiempo real del sistema.

Sensor de Proximidad ProximitySensor es un nodo que detecta la proximidad del usuario respecto a un objeto.
Sensor de Tacto TouchSensor permite detectar cuando el usuario hace click sobre algn objeto.

Texturas con Imgenes Serie de pixeles que se mapean en nuestro objeto (imagen jpg, jpeg, gif png). Esto se hace con el nodo ImageTexture. Shape { geometry Box {size 4 3 5} appearance Appearance { material Material{ diffuseColor 1 0 0} texture ImageTexture {url imagen.jpg"} } }

Textura con Videos El nodo MovieTexture se puede utilizar para que un objeto tenga un video como textura. Shape { appearance Appearance { texture MovieTexture { url "ejemplo.mpg" speed 1 loop FALSE } } geometry ... }

Comportamiento en Mundos Virtuales El trmino comportamiento se refiere a la modificacin del estado de los objetos dentro de un escenario virtual, en respuesta a alguna accin del usuario o al cambio de algn otro objeto en la escena. Este cambio de estado ocurre cuando cambia alguno de los atributos del objeto, por ejemplo la posicin (translacin), el tamao (escala), la orientacin (rotacin) o su apariencia. En VRML, el comportamiento se controla (lleva a cabo) mediante eventos. Un evento es la generacin de un mensaje y se enva de un nodo a otro. Algunos nodos VRML generan eventos en respuesta a cambios en el ambiente o interaccin del usuario.

Comportamiento Simple Es aquel en el cual los cambios en el estado de los objetos dependen exclusivamente de eventos internos generados por nodos descritos dentro del programa VRML, sin la intervencin de ningn lenguaje ajeno a VRML. Comportamiento Complejo Es aquel en el cual los cambios en el estado de los objetos dependen de un programa escrito en un lenguaje ajeno a VRML. Los cambios dinmicos en la escena pueden ser estimulados por las acciones programadas en un script, paso de mensajes, comandos del usuario o protocolos de comportamiento. Esto brinda la posibilidad de interaccin con otros lenguajes (especficamente los lenguajes Java y Javascript). Para ello se emplea el nodo Script. De esta manera es posible asignar comportamientos ms elaborados.

Soporte de VRML para Java Java aade todas las posibilidades de programacin, adems de brindar un acceso casi transparente a la red, haciendo a VRML completamente funcional y portable. La caracterstica ms importante de Java para ser usado como lenguaje de implementacin de los scripts es su independencia de plataforma, y ello es congruente con la filosofa de VRML y la de WWW. Se utiliza el API para este lenguaje, en donde se definen todas las clases para acceder a los nodos de VRML Las interfaces entre VRML y Java se llevan a cabo por medio del nodo Script, un manejador de eventos, convencin para nombres DEF/USE, y ROUTEs, conectando los nodos y los campos en la escena.

Muchas Gracias !!!

También podría gustarte