CONCEPTOS:

REALIDAD VIRTUAL:

La realidad virtual es un término asociado con sistemas computacionales que interactúan con el usuario, permitiéndole algún grado de inmersión. Se puede lograr un grado de simulación tal que el usuario puede ingresar a través de mundos que aparentan ser reales. La inmersión dentro de este contexto se entiende como aquella situación en la que un usuario se siente experimentando una realidad alterna desde adentro del sistema, el grado de inmersión logrado en VRML es aquel denominado parcial, la que se refiere a la observación directa de una imagen 3D a través de un computador. Un usuario navega cuando se desplaza el punto de vista de éste a través del espacio tridimensional, logrando explorarlo e interactuar a través de él aparentemente a voluntad; esta sensación de movimiento crea la ilusión de un mundo virtual.

Un Mundo Virtual se puede definir como un sistema de ambientes y objetos virtuales gráficos y tridimensionales, de diversas jerarquías, relacionados entre sí y operando en forma dinámica, interactiva y multisensorial con respecto a sus usuarios, apoyándose en el uso de uno o más computadores para cumplir determinados propósitos.

La creación de un Mundo Virtual puede orientarse a diferentes usos desde el diseño de juegos, simulación comercial de diseño, visita de cocinas con la participación del usuario, visualización científica y participación activa en proceso de ensamblaje de moléculas.

VRML:

VRML (Virtual Reality Modeling Language) es un lenguaje para la descripción de figuras tridimensionales y ambientes interactivos dentro del WWW (World Wide Web).

Para escribir un archivo VRML se puede usar cualquier editor de texto, o bien alguna herramienta de desarrollo VRML que exista en el mercado. Para visualizar un archivo VRML se puede usar un visualizador VRML, o bien un browser HTML que lo soporte (Microsoft Internet Explorer 3.0, por ejemplo).

CONSIDERACIONES ACERCA DE LA VERSIÓN UTILIZADA:

La versión de VRML que se documentará a continuación es la VRML 2.0, llamada también Moving Worlds. Esta versión es el resultado de más de 8 meses de trabajo por un grupo de más de 100 personas. El resultado final de esto se conoció el 4 de agosto de 1996.

ESTRUCTURA DE UN ARCHIVO VRML:

Un archivo VRML contiene, básicamente:

Todo esto en su conjunto permite definir un mundo tridimensional.

SINTAXIS DE ARCHIVO Y ESTRUCTURA:

SINTAXIS BÁSICA:

Para una fácil identificación de un archivo VRML, todos los archivos VRML deben comenzar con la siguiente línea:

#VRML V2.0 utf8

El identificador utf8 permite que caracteres internacionales serán mostrados en VRML usando la codificación UTF-8 del estándar ISO 10646. Unicode es una alternativa de codificación de ISO 10646.

El carácter # inicia un comentario, todos los caracteres hasta la nueva línea o retorno de carro son ignorados.

Después de este encabezado obligatorio, un archivo VRML puede contener lo siguiente:

Las siguientes palabras reservadas no pueden ser usadas para los nodos: PROTO, EXTERNPROTO o nombres DEF.

SINTAXIS DE ARCHIVO V/S SINTAXIS DE INTERFACE PÚBLICA:

La sintaxis de la interface pública es la especificación definitiva para los campos, nombres, tipos y valores por defecto para un nodo dado. Notar que esta sintaxis no es la sintaxis del formato del archivo. Sin embargo las partes de la interface que son idénticas en la sintaxis del archivo están en negrita. Por ejemplo la interface pública para el nodo Collision es :

Collision {

eventIn MFNode addChildren

eventIn MFNode removeChildren

exposedField MFNode children []

exposedField SFBool collide TRUE

field SFVec3f bboxCenter 0 0 0

field SFVec3f bboxSize -1 -1 -1

field SFNode proxy NULL

eventOut SFTime collideTime

}

Notar que esta información es especificada de una forma distinta al usar la sintaxis de archivo. Las palabras reservadas "field" o "exposedField" y los tipos de los campos (como SFColor) no son especificadas cuando expresamos un nodo en el formato de archivo, desde este punto de vista esa información es transparente para el diseñador de un mundo virtual. El nodo Collision en el formato de archivo queda entonces como:

Collision{

children []

collide TRUE

bboxCenter 0 0 0

bboxSize -1 -1 -1

proxy NULL

}

URLs:

Todos los campos URL son del tipo MFString. Los strings en estos campos indicarán múltiples direcciones hacia las cuales apuntar, en orden decreciente de preferencia. Si el browser no encuentra la primera dirección, entonces va a la siguiente y así sucesivamente.

PROTOCOLO PARA LENGUAJES SCRIPT:

El campo url del nodo Script puede soportar un protocolo de varios tipos de lenguajes. Por ejemplo un URL prefijado con javascript puede contener un archivo fuente javascript, con caracteres de nueva línea permitidos en el string. El siguiente ejemplo muestra algo de ésto (el orden de precedencia determina prioridad):

#VRML V2.0 utf8

Script {

url [ "javascript: ...",

"http://bar.com/foo.js",

"http://bar.com/foo.class" ]

}

EXTENSIÓN DEL ARCHIVO Y MIMETYPE:

La extensión de un archivo VRML es .wrl.

El MIME type para los archivos VRML es definido como:

model/vrml.

Por razones históricas (VRML 1.0) el siguiente MIME type también es soportado:

x-world/x-vrml.

Estos valores deben ser declarados tanto en el cliente (el el browser de la máquina en donde el usuario está viendo la aplicación), como en el servidor (en donde el root o webmaster deberá de especificar los valores en la máquina servidora).

EJEMPLO DE UN ARCHIVO VRML:

#VRML V2.0 utf8 , Esto es el encabezado del archivo

# Un cilindro; Esto es un comentario

Shape { # Inicio de nodo Shape

appearance Appearance { #Inicio de nodo Appearance

material Material { } # Campo material y nodo Material

} # Fin de nodo Appearance

geometry Cylinder { # Inicio de nodo Cylinder

height 2.0 # Campo heigh, que define la altura del cilindro

radius 1.5 # Campo radius que define el radio del cilindro

} #Fin de nodo Cylinder

} #Fin de nodo Shape.