Navegación 3D en Internet: VRML.

Anuncio
Navegación 3D en Internet: VRML.
RESUMEN
El presente texto compila y resume diferentes aspectos ligados a la naciente técnica de
introducción de sistemas de navegación 3D y entornos de realidad virtual dentro de Internet. A
partir de una visión histórica de su breve existencia, se profundiza en el standard mismo,
revisando el trabajo que esta desarrollándose en estos momentos a nivel global para su
perfeccionamiento, e incidiendo en las repercusiones futuras de su implantación.
INTRODUCCIÓN
“One must look at a display screen, as a window through wich
one beholds a virtual world. The challenge to computer graphics
is to make the picture in the window look real, sound real, and
the objects act real”.
Ivan Sutherland, 1965
The Ultimate Display
El nacimiento, en 1991, de la World Wide Web, abrió el paso a una nueva dimensión,
en términos de accesibilidad y funcionalidad dentro de Internet. Por vez primera, los usuarios y
programadores de la red podían acceder a varios tipos de servicios (FTP, Gopher, Telnet, etc.)
a través de un nuevo y consistente mecanismo. Como valor añadido, la WWW incluyó dos
nuevos servicios, el HTTP, como sistema de transferencia de ficheros altamente eficiente, y el
URL, que definió una nueva forma de localizar conjuntos de datos donde quiera que estos se
encontrasen dentro del dominio Internet.
La primera gran consecuencia de la presencia de la WWW es sin duda el tremendo
impulso que ha dado a la facilidad de uso de la información; Internet es ahora más útil que
nunca, y los datos contenidos en ella son más fáciles de encontrar de lo que fueron jamás. A
través de la WWW, los varios millones de servidores presentes en Internet pueden ser tratados
como una única fuente de datos, como un solo documento de compleja estructura en el que
puede hallarse cualquier información que se necesite.
1
Sin embargo, esta manera de presentar los contenidos en forma fundamentalmente
textual y pictórica tiene sus limitaciones. Por una parte, la manera jerárquica de enlazar los
temas hace difícil percibir el conjunto desde una página individual; es frecuente visitar
servidores Web, tales como el Museo del Louvre, donde todo su contenido se traduce en una
serie de imágenes adheridas a unos textos, de tal forma que la riqueza de información presente
en el edificio de un museo se limita a un formato similar al de su guía de visita.
La letra impresa apenas tiene quinientos años, mientras que desde hace milenios
tenemos en nuestros cerebros la más potente herramienta de visualización conocida. Los seres
humanos “navegamos” en tres dimensiones, nacemos en ellas y tenemos una impresionante
capacidad de localización y organización espacial.
Se hace patente por tanto, la necesidad de interfaces para la visita de la red, que
conlleven no solo la experimentación de espacios tridimensionales sino que además puedan
descubrir una nueva metódica de presentación de contenidos, interacción entre los usuarios,
simulación de fenómenos, y en definitiva mejoren las formas de la transmisión del
conocimiento.
VIRTUAL REALITY MODELING LANGUAGE. REVISIÓN HISTÓRICA
En los últimos años hemos sido testigos de la eclosión de los gráficos por computador,
con su capacidad de generación de imágenes y animaciones de calidad cada vez mayor.
Paralelamente, han ido apareciendo toda una serie de tecnologías, que se enmarcan en
el campo de la llamada “Realidad virtual”, donde nuevos interfaces hacen que el usuario
cambie el entorno real por otro generado en tiempo real por el computador.
El primer trabajo que reunió estas técnicas en una aplicación capaz a su vez de
enlazarse con la Web fue desarrollada en 1993 por Mark Pesce (the Community Company) y
Tony Parisi (Intervista), bajo el nombre de “labyrinth” (Fig.1), y presentada en la First
International Conference on the World Wide Web en Ginebra en Febrero de 1994. De dicho
congreso salió una firme voluntad de desarrollar un lenguaje común para describir escenas 3D
dentro de la WWW, una analogía al HTML para incluir realidad virtual. Allí surgió el término
VRML, inicialmente acrónimo de Virtual Reality Markup Language, en el que la palabra
“Markup” fue posteriormente sustituida por la más adecuada “Modeling” en referencia al
término “modelado” que es el usado para describir la construcción de geometrías
tridimensionales por computador.
2
Figura 1. Labyrinth
El diseño de un standard
La Web enseña una filosofía abierta basada en compartir ideas e investigar de forma
conjunta. Siguiendo esta pauta, la creación de un standard como el VRML no debía estar
limitada a un grupo reducido, sino al contrario, estar abierta a la comunidad de Internet. Se
abrió para ello una lista de correo electrónico (aún en funcionamiento) en el servidor de
WIRED para discutir la nueva especificación. Ésta debería incluir un lenguaje para la
descripción de geometrías tridimensionales y cumplir los siguientes requerimientos:
—Independencia de la plataforma.
—Extensibilidad.
—Capacidad de operar en conexiones sobre bajo ancho de banda.
Con la nueva especificación, sería posible transmitir información geométrica a través
de la red, e incluir en ella enlaces “hiperlinks” para permitir el salto entre geometrías,
documentos, etc. La inclusión de parámetros de comportamiento (físicos, de interacción
multiusuario, etc.) se dejaría para una futura revisión.
Un mes más tarde de la apertura de la lista de e-mail, más de dos mil personas estaban
ya discutiendo las características del nuevo formato y dada la inconsistencia de intentar
3
desarrollar por completo un nuevo lenguaje, se optó por buscar uno que cumpliese la mayor
cantidad posible de los requerimientos.
Varios candidatos fueron evaluados, tales como el Object Oriented Geometry
Language (OOGL) de la Universidad de Minessotta, el Cyberspace Development Format
(CDF) de Autodesk y el Manchester Scene Description Language (MSDL) de la Universidad
de Manchester entre muchos otros, sin embargo, finalmente se optó por la librería de
programación Open Inventor de Silicon Graphics.
Dado que la adopción de un standard perteneciente a una compañía es absolutamente
contrario a la propia filosofía de la Web, más inclinada hacia el software “abierto”, se sugirió a
SGI la posibilidad de ceder el formato Open Inventor al dominio público, sin restricciones,
para que la comunidad de Internet pudiese trabajar sobre él sin problemas legales. Silicon
Graphics accedió, convirtiéndose con ello en uno de los grandes impulsores de este sistema.
La comunidad discutió durante varios meses el subconjunto del Open Inventor, que con
algunas extensiones, dio lugar a la primera especificación del VRML. La consideración quizá
más importante, la interactividad, se dejó a un lado en esta versión 1.0, dado lo complicado de
interactuar entre plataformas tan diferentes como ordenadores basados en Windows,
Macintosh, Unix, etc. Pareció necesario definir asimismo un equivalente del HTML para
describir características de comportamiento (Behaviour), para una próxima revisión, y lanzar a
la comunidad Internet un standard, que aunque capaz de transmitir tan solo geometría, ya era
de por sí suficientemente útil. El primer borrador del standard fue presentado por Tony Parisi
(Intervista) y Gavin Bell (SGI) en Octubre de 1994 en la Second International Conference on
the World Wide Web, celebrada en Chicago.
Poco después, Paul Strams y Gavin Bell (SGI) desarrollaron QvLib, un intérprete
VRML con el que podrían empezar a implementarse las primeras aplicaciones basadas en este
lenguaje. QvLib fue asimismo puesto a disposición del público por Silicon Graphics.
En Enero de 1995, Template Graphics Software y Silicon Graphics decidieron construir
conjuntamente un visualizador VRML. El programa fue desarrollado por SGI para sus propias
plataformas, mientras que TGS se encargo de implementarlo en otros sistemas. La aplicación
Webspace (Fig. 2) fue lanzada en todo el mundo el 3 de Abril de 1995.
Una semana después, ya existían más de cincuenta servidores VRML en todo el
mundo, que un mes más tarde ya eran varios cientos. Coincidiendo con la entrada de la
primavera, este hecho fue llamado “Equinoccio VRML” (pronunciado desde entonces
“vermel” en analogía a la pronunciación inglesa de la palabra “vernal”).
4
Figura 2. TGS Webspace
VRML. ESPECIFICACIÓN 1.0
Generalidades
El lenguaje de Modelado de Realidad Virtual, es un lenguaje destinado a describir
simulaciones interactivas con múltiples participantes, dentro de un conjunto de mundos
virtuales dentro de Internet hiperenlazados a través de la World Wide Web.
La versión 1.0 del standard VRML permite la creación de escenarios virtuales en tres
dimensiones, con unos modelos de comportamiento bastante limitados. Estos escenarios
pueden contener objetos que a su vez actúan de hiperenlaces que conducen a otros escenarios,
a documentos HTML, o a cualquier otro objeto de tipo MIME válido (sonidos, video, etc).
Cuando el usuario selecciona un objeto que contiene un hiperenlace, el visualizador
MIME correspondiente se activa, e igualmente, cuando desde un programa de presentación
WWW (tales como Netscape o Mosaic) se selecciona un enlace VRML, el correspondiente
visualizador VRML (tal como Webspace) se activa. Por tanto se podría decir que los
visualizadores VRML y los presentadores WWW son complementarios, y representan en
conjunto un buen medio de navegar por la red.
En futuras versiones de VRML se pretende incorporar modelos de comportamiento
complejos, tales como animaciones, procesos físicos e interacción multiusuario en tiempo real.
5
Descripción del formato
Básicamente, el código VRML contiene una descripción de una escena formada por objetos,
llamados nodos. Estos nodos contienen información de tipo geométrico, de características del
material, de formas de iluminación, de hiperenlaces, etc.
Los nodos en una escena se ordenan de forma jerárquica en unas estructuras llamadas grafos
de escena. Dentro de estos grafos, la posición de los nodos es importante ya que los nodos
situados antes pueden afectar a los situados después. Para limitar el efecto del influjo de los
nodos en los nodos posteriores se define un tipo especial de nodo, el separador que aísla unas
partes de la escena de otras.
Los nodos pueden también contener otros nodos y en ese caso hablamos de grupos nodales. En
un grupo nodal, el nodo-padre transmite las operaciones por las que se ve afectado a sus
nodos-hijo. El separador representa en sí mismo un tipo de grupo nodal. Un ejemplo en
pseudo-código de lo anterior puede verse en la figura siguiente (Figura 3).
Ejemplo
Separador
Cámara
Luz general
Separador
Luz-1
Separador
Translación
Esfera
Separador
Rotación
Translación
Cubo
Translación
Esfera
Separador
Luz-2
Material
Separador
Translación
Cono
Separador
Translación
Rotación
Cubo
Figura 3.
6
Las características que definen un nodo son las siguientes:
•
Tipo de objeto. Debe definirse si el nodo en cuestión es un cubo, una esfera, un tipo de
material, una rotación...
•
Parámetros que definen al objeto y le diferencian de otros objetos de su misma clase,
así, en el caso de una esfera deberá definirse su radio, en una luz su color, posición, etc.
Estos parámetros reciben el nombre de campos.
•
Nombre. No es obligatorio, aunque puede ser útil para futuras referencias al nodo.
•
Nodos-hijo. Solo es necesario en el caso de grupos nodales.
La sintaxis genérica para definir este tipo de objetos es la siguiente:
DEF nombre_del_objeto tipo_de_objeto { campos nodos-hijo }
donde solo el valor tipo_de_objeto y las llaves son obligatorias, los demás valores dependen de
las características del objeto que se está definiendo.
Como se ha dicho, las piezas de información fundamentales de un fichero VRML son los
nodos, de los que existen 36 formas. Estos pueden agruparse según el tipo de información que
contienen como sigue:
• Nodos que especifican geometría:
AsciiText
Cone
Cube
Cylinder
IndexedFaceSet
IndexedLineSet
PointSet
Sphere
• Nodos que especifican propiedades:
—Propiedades de la geometría
Coordinate3 Material
FontStyle
MaterialBinding
Info
Normal
LOD
NormalBinding
Texture
Texture2Transform
TextureCoordinate2
ShapeHints
—Transformaciones espaciales
MatrixTransform
Transform
Rotation
Translation
Scale
7
—Cámaras
OrtographicCamera
PerspectiveCamera
—Luces
DirectionalLight
PointLight
SpotLight
• Grupos nodales
Group
Separator
Switch
TransformSeparator
WWWAnchor
• Otros tipos
WWWInline
La descripción puntual de cada una de estas formas de nodo va más allá del objetivo de este
escrito. En la bibliografía adjunta se cita dónde encontrar la especificación completa para un
estudio más exhaustivo de la misma.
El documento oficial de la especificación 1.0 del VRML facilita un ejemplo concreto de
código en el que se representa una luminaria compuesta de formas simples, un grupo de
paredes y una referencia a una figura que se obtiene de otro lugar en la red. Todo ello
iluminado por una luz, sirviendo dicha figura como hiperenlace a su vez de un texto HTML.
#VRML V1.0 ascii
Separator {
Separator {
# Simple track-light geometry:
Translation { translation 0 4 0 }
Separator {
Material { emissiveColor 0.1 0.3 0.3 }
Cube {
width 0.1
height 0.1
depth 4
}
}
8
Rotation { rotation 0 1 0 1.57079 }
Separator {
Material { emissiveColor 0.3 0.1 0.3 }
Cylinder {
radius 0.1
height .2
}
}
Rotation { rotation -1 0 0 1.57079 }
Separator {
Material { emissiveColor 0.3 0.3 0.1 }
Rotation { rotation 1 0 0 1.57079 }
Translation { translation 0 -.2 0 }
Cone {
height .4
bottomRadius .2
}
Translation { translation 0 .4 0 }
Cylinder {
radius 0.02
height .4
}
}
}
SpotLight {
# Light from above
location 0 4 0
direction 0 -1 0
intensity
0.9
cutOffAngle 0.7
}
Separator {
# Wall geometry; just three flat polygons
Coordinate3 {
point [
-2 0 -2, -2 0 2, 2 0 2, 2 0 -2,
-2 4 -2, -2 4 2, 2 4 2, 2 4 -2]
}
IndexedFaceSet {
coordIndex [ 0, 1, 2, 3, -1,
0, 4, 5, 1, -1,
0, 3, 7, 4, -1
]
}
}
WWWAnchor { # A hyperlinked cow:
name "http://www.foo.edu/CowProject/AboutCows.html"
Separator {
Translation { translation 0 1 0 }
WWWInline { # Reference another object
name "http://www.foo.edu/3DObjects/cow.wrl"
}
}
}
}
9
El resultado de visualizar el codigo anterior seria el siguiente (Figura 4):
Figura 4.
The VRML Architecture Group. VRML 1.1. EXTENSIONES.
Además del trabajo de discusión realizado por todos los participantes de la VRML mailing list
existe un grupo constituido por diez investigadores, pertenecientes a las diferentes áreas de
experimentación relacionadas con el VRML, dicho grupo es conocido como VAG (VRML
Architecture Group). Esta agrupación se está encargando de la extensión de la especificación
1.0 hacia sus futuras versiones. El primer resultado del trabajo de estas personas fue la
realización de un primer borrador, fechado el 16 de Diciembre de 1995, de la versión 1.1 del
VRML. En dicha versión se modifican algunos de los nodos existentes, y se añaden los
siguientes:
Background
CollideStyle
DirectedSound
ElevationGrid
GeneralCylinder
NavigationInfo
PointSound
WorldInfo
Como se deduce de los nombres arriba descritos, una vez aprobado el borrador (lo cual
sucederá, siguiendo la normativa IETF, cuando estén disponibles dos implementaciones
independientes en diferentes plataformas) VRML permitirá, por un lado, un modelo de
comportamiento básico, como es la detección de colisiones, la inclusión de sonido, y la
posibilidad de utilizar formas de modelado generativo a través del nodo GeneralCylinder que
permitirán una amplísima variedad geométrica, entre otras mejoras.
10
La versión 1.1 también define un mecanismo de generación de prototipos para poder extender
la variedad de tipos de nodo dentro de un fichero VRML así como la parametrización de la
geometría y comportamientos, a través de las declaraciones PROTO y EXTERNPROTO.
Independientemente de la especificación 1.1, algunas aplicaciones VRML tales como
Webspace y Netscape Live 3D incluyen algunas extensiones del lenguaje para permitir ciertas
capacidades accesorias.
El cuadro siguiente lista estas extensiones.
Backgrounds
Cameras
Webspace
X
X
Netscape
X
X
Collision-
Title
SceneInfo
Viewer
ViewerSpeed
—
X
X
X
X
X
—
—
—
—
Detection
Live 3D
APLICACIONES VRML. BROWSERS
El funcionamiento del VRML
La forma genérica de operar de un browser (cliente) VRML es en todo punto similar a la de un
cliente HTML. Como sabemos, la WWW se compone básicamente de dos componentes
esenciales, esto es, el servidor y el cliente, donde éste reacciona ante la actuación del usuario
(por ejemplo, seleccionando un tema con el ratón) pidiendo a aquél la información
seleccionada.
Cuando un servidor WWW recibe una petición de información, la interpreta y trata de
contestarla enviando el documento solicitado más una información de contexto, con la que se
especifica al cliente el tipo de datos que se envían (texto, fotografías, vídeo...). Esta
información de contexto está codificada en un formato denominado MIME (Multimedia
Internet Mail Extensions), y especifica tanto el tipo genérico como la subclase a la que
pertenece la aplicación. Por ejemplo, el formato MIME para vídeo MPEG sería vídeo/mpeg.
No todos los clientes HTML son capaces de presentar todos los tipos de información (por
ejemplo Netscape puede reproducir imágenes, pero no vídeo MPEG). En el caso de que el
cliente no pueda presentar esta información, normalmente pregunta al usuario acerca de qué
hacer con ella (guardar en disco, cancelar, configurar una aplicación auxiliar...). En el caso de
11
que el usuario haya configurado una aplicación auxiliar para el tipo MIME recibido, el cliente
HTML lanza esa aplicación para mostrar el documento enviado por el servidor.
Para recibir un documento VRML utilizando un cliente genérico basta con configurarlo para
utilizar una aplicación externa, tal como Webspace usando el tipo MIME para documentos
VRML, que tiene la forma x-world/x-vrml.
Algunos clientes VRML son capaces por sí solos de hacer peticiones de documentos a un
servidor, esto es, sin necesidad de lanzar previamente un cliente HTML, sin embargo, otras
precisan de la ayuda de éste, y en ese caso gestionan la petición a través de una llamada a este
último.
Una vez el documento ha llegado al cliente VRML ,bien directamente, bien a través de un
cliente HTML, es interpretado y transmitido al módulo de presentación (rendering) que se
encarga de transformar la información recibida en objetos visibles. Normalmente se incluyen
herramientas de navegación que permiten que el usuario mueva la cámara a través de la
escena.
No es necesario que el documento recibido contenga todos los objetos de la escena a
visualizar. Parte de ellos pueden estar en otros lugares de la red, apareciendo en el documento
tan solo su indicación. Es el cliente el que se encarga de contactar con las localizaciones
(URL) necesarias para traer la escena completa.
Como se ha dicho anteriormente, en una escena pueden existir hiperenlaces. Esto es,
seleccionando un objeto, el cliente puede enviarnos a otro lugar de la red donde aparece otra
escena, aunque los hiperenlaces no tienen que estar necesariamente referidos a otros objetos
VRML, sino que se puede acceder a cualquier tipo MIME válido. Si en la escena hay un objeto
representando un televisor, seleccionándolo, el cliente puede buscar un fragmento de vídeo en
la red, llamar a una aplicación exterior y presentarlo en otra ventana del monitor.
Las versiones más recientes de clientes WWW incluyen módulos o “Plug Ins” que permiten
interpretar directamente un modelo VRML sin necesidad de invocar a un programa externo.
Ello se hace bien intercalando las presentaciones de hipertexto y geometría, o bien usando una
subdivisión de ventanas que presente de forma simultanea ambos tipos de información.
Actualmente existe una gran gama de aplicaciones que permiten la lectura y navegación sobre
formato VRML, aunque gran parte de ellos están todavía en versión beta. El cuadro adjunto
indica la disponibilidad para cada plataforma.
12
win3.x
win95
winNT
SGI
Dec
Mac
PPC
HP
Sun
AIX
Linux
Fuente
win3.
win95
winNT
SGI
Dec
Mac
PPC
HP
Sun
AI
Linu
Fuente
AmberGL browser
CyberGate
Cyber Passage
CyberPassage VRML 2.0
Cosmo * VRML 2.0
Epress VR Beta *
Pioneer
GLView
i3D
Kinetix Topper *
Live3D *
NAVFlyer
Pueblo
Renaissance
TerraForm
SDSC Web View
V-Realm *
IE
VE VRML Add-In
Virtus Voyager
Vizia 3D viewer
VR Scout
VRML Equino
VRWeb
web3d
Webspace
WebOOGL
Whurlwind
WIRL *
Worldview
* Netscape - Internet Explorer plug-in
Cuadro clientes VRML
13
Además de éstas, hay otras aplicaciones disponibles tales como herramientas de autor
(Fountain, Wespace Author, Studio Pro, etc.) y convertidores de formatos de todo tipo a
VRML.
HACIA LA ESPECIFICACIÓN 2.0
Como se ha dicho anteriormente, una de las cuentas pendientes de la especificación 1.0, quizá
la más importante, es la introducción de pautas de comportamiento en las escenas VRML. Un
cliente capaz sin más de examinar globalmente una geometría puede ser útil en algunos casos,
como el análisis de piezas mecánicas, sin embargo, en muchos otros, el usuario espera cierta
interacción con la escena. En un paseo por un motivo arquitectónico, resulta extrañamente
sorprendente comprobar cómo las paredes no ofrecen resistencia a ser cruzadas, y puede
provocar cierta desorientación el comprobar que con un movimiento erróneo del ratón, el
observador puede encontrarse debajo del suelo del edificio que está visitando.
El incluir un mecanismo de detección de colisiones, parece por tanto importante para mejorar
la navegación en los mundos virtuales. Igualmente parece necesario la introducción de
patrones de comportamiento de tipo físico como gravedad, movimiento de mecanismos, etc.
(Fig. 5)
Por otra parte, el espíritu del VRML es, desde su nacimiento, el de un sistema orientado a la
interacción multiusuario, por lo que gran parte de los esfuerzos realizados desde la primera
especificación se han encaminado hacia la introducción de estas capacidades.
Figura 5. Evolución del VRML
14
La posibilidad de utilizar patrones de comportamiento en un sistema va mas allá de la simple
descripción de objetos. En un lenguaje capaz de soportar dichas características, deben aparecer
formas de parametrizar los objetos, y definir operaciones, funciones y procedimientos, de
hacer uso de librerías y contar además con un lenguaje de script para la introducción externa
de valores.
Así pues, parece que la solución del problema consistiría en dotar al VRML de las capacidades
presentes en algunos de los lenguajes clásicos de programación. Sin embargo, el enfoque
utilizado no ha consistido tanto en la invención de otro nuevo lenguaje (¡ ya hay más que
suficientes !), como en la adopción de alguno de los existentes; la lista de candidatos incluye
Hot Java, Perl, C++ e incluso Pascal. Varias empresas e instituciones que han desarrollado
entornos de este tipo han propuesto la incorporación de sus sistemas a la futura especificación
VRML 2.0. Entre los ponentes destacan:
VRBS.- El Virtual Reality Behavior System. Desarrollado por el Centro de Supercomputación
de San Diego (SDSC), propone la implementación de un sistema basado en Perl.
BEF.- Behavior Format. Desarrollado por The BE Software Company. Basado en Pascal.
VRML+ .- Desarrollado por Worlds Inc. extiende la funcionalidad del VRML con nuevas
funciones de movimiento, comunicación multiusuario, e inclusión de personajes Avatar
(gráficos que representan a cada participante en una multiconferencia). Una aplicación
interesante del VRML+ es la denominada WebChat, un sistema conversacional entre varios
participantes dentro de un escenario virtual. (Fig. 6)
Figura 6. Worlds Chat
15
La especificación VRML 2.0 esta aún siendo debatida. Con el fin de concentrar
esfuerzos y ahorrar tiempo a la comunidad vermel, el VAG lanzó en enero de 1996 una
petición de propuestas sobre lo que debería ser la futura versión 2.0 del lenguaje. Seis
propuestas fueron recibidas un mes más tarde que pasaron a ser debatidas en la VRML mailing
list durante dos meses más. La relación de las mismas es la que sigue:
• Active VRML - Microsoft
• Dinamic Worlds - GMD y otros
• HoloWeb - Sun
• Moving Worlds - Silicon Graphics, Sony, Worlds Inc, Paper Software y otros
• Out of This World - Apple
• Reactive Virtual Environment - IBM Japón
Tras un claro consenso, la propuesta Moving Worlds se eligió como base para el trabajo
en la futura especificación. De la misma se han realizado ya tres borradores sucesivos,
esperándose la versión definitiva para agosto de 1996. Para entonces se habrá pasado en
apenas dos años desde que se acuño el término VRML a disponer de todo un nuevo conjunto
de aplicaciones interactivas multiusuario, con capacidades de simulación, y enlazadas a traves
de la red mundial, basadas en un nuevo estandard ampliamente consensuado.
Aportaciones del standard 2.0
Son muchas las mejoras que la nueva especificación aporta sobre la anterior. Una
nueva forma de describir nodos y grafos, asi como una serie de nuevos elementos que
multiplican la potencia del VRML dotándole de nuevas capacidades que pasan a enumerarse a
continuación:
• Geometría:
Nuevas formas geométricas. Superficies de extrusión y barrido.
Rejillas infinitas para generación de horizontes.
Nuevas texturas permiten incluir vídeo, animaciones, etc. sobre las superficies.
Control individualizado del tipo de sombreado de cada objeto.
• Entorno
Fondos, niebla.
Nivel de detalle variable para los objetos.
Vistas predefinidas.
Control de tipo de navegación.
Detección de colisiones.
Sonido
Eventos. Direccionamiento de sucesos.
Sensores de proximidad y visibilidad.
Sensores de actuación del usuario.
16
• Control dinámico
Sensores de tiempo.
Interpoladores de posición, orientación, color, escalares, etc.
Programabilidad.
Java
VRML Script
Expandibilidad. Nodos prototipo, y prototipos externos.
A pesar de esta versión no esta oficialmente aprobada, ya es posible contar con
herramientas de autor tales como Cosmo o CyberPassage Conductor, y aplicaciones
multiusuario tales como Alpha World, Moondo, o CyberPassage, en las que varias personas
pueden compartir un mismo modelo, interactuar y crear nuevas geometrías y enlaces en un
universo virtual compartido. (Fig. 7).
Figura 7. Alpha Worlds
VRML x.x .PERSPECTIVAS
Es fácil intuir que los logros realizados hasta el momento no son mas que la punta del iceberg
de una nueva y potente tecnología que hará su eclosión en los próximos años. Máquinas más
potentes permitirán a los usuarios de los próximos años manejar mundos virtuales cada vez
mas complejos, y de una manera cada vez mas sensorial con el uso de accesorios específicos
de realidad virtual (guantes de datos, cascos, sensores de movimiento etc.) cada vez más
cómodos y ligeros . El VRML no es solo un lenguaje, es una nueva filosofía de acceso a un
mundo de participación.
En pocos años empezará a ser frecuente encontrar a personas diseñando en
colaboración, visitando establecimientos virtuales, recibiendo clases o simplemente
17
divirtiéndose juntos en la Red. Ello conllevará además un cambio radical en el diseño de los
futuros espacios en los que se realizarán estas actividades. Si la arquitectura del mundo real
usa las formas que conocemos, ello es debido a la existencia de condicionantes como el clima,
la gravedad, el soleamiento o los materiales y técnicas de construcción disponibles. ¿Como
habría de diseñarse un espacio en el que cada uno de esos parámetros pudiese modificarse a
voluntad?. Los futuros ciberarquitectos habrán de replantear conceptos básicos de diseño tales
como distancia y tamaño, o sin ir mas lejos, arriba y abajo.
BIBLIOGRAFÍA:
AMES L. NADEAU R. The VRML Sourcebook. John Wiley & Sons. 1996
MORELAND J, NADEAU D. The Virtual Reality Behavior System (VRBS) . VRML 95 First
Annual Symposium on The Virtual Reality Modeling Language Proceedings. ACM
PESCE M. VRML Browsing and Building Cyberspace.Macmillan Computer Publishing
1995
SUTHERLAND I. The Ultimate Display. Computer Graphics V26#3 ACM SIGGRAPH
SIGGRAPH 95. VRML: Using 3D to Surf th Web. Course #12 notes. ACM SIGGRAPH
SUMMITT P., SUMMITT M:. Creating Cool) 3D Web Worlds with VRML.IDG Books 1996
REFERENCIAS EN INTERNET
VRML Repository
http://www.sdsc.edu/vrml
BELL G, PARISI A, PESCE M. The Virtual Reality Modeling Language Version 1.0
Especification
http://vrml.wired.com/vrml.tech/vrml10-3.html
BELL G, et al. The Virtual Reality Modeling Language Version 1.1 Draft
http://vrml.wired.com/vrml.tech/vrml10-3.html
KENNARD P, PESCE M, PARISI A. Cyberspace
http://vrml.wired.com/concepts/pesce-www.html
MEYER T, CONNER D. Adding Behavior to VRML
http://www.cd.brown.edu/reasearch/graphics/research/papers/vrmlbehaviors.html
MICROSOFT
CORP:
A
Brief
Introduction
to
Active
VRML.
http://www.microsoft.com/intdev/inttech/avintro.htm
MITRA. VRML Extensions and Implementation choices.
http://earth.path.net:80/mitra/papers/vrml-extensions.html
MITRA et al. Moving Worlds:behaviors for VRML
http://earth.path.net/mitra/papers/behaviors/Behaviors.html
PESCE M. How VRML works.
http://www.mcp.com/general/news7/contents.html/n4988s.html
PESCE M. VRML Backgrounder.
http://vrml.wired.com/arch/1010.html
STEREMBERG et al. VRML+ Technical Documentation
http://www.worlds.net/products/vrmlplus/technical
BELL G. MARRIN C. CAREY R. The VRML 2.0 Specification (Final Draft)
http://webspace.sgi.com/moving-worlds/
18
Descargar