CURSO VRML |
|
entrega 10
Curso via Internet
####################
INTRODUCCION AL VRML
####################
Febrero 1998
Facilitadores:
- Gonzalo VELEZ JAHN
- Manuel VELEZ GIMON
******************************************
MODULO 3- CONSTRUCCION DE MUNDOS VIRTUALES
Unidad 5- VRML 1.0. Comandos Basicos.
******************************************
OBJETIVO DOCENTE
Al finalizar el estudio de esta Unidad, el participante debera
hallarse en capacidad de generar Mundos Virtuales de limitado grado de
complejidad, utilizando las especificaciones del VRML 1.0.
ASPECTOS A CUBRIR
Arribamos aqui a la primera de las dos unidades de aprendizaje operativo
del VRML. El contenido de la presente Unidad, que esta relacionada con
el VRML 1.0
5.0- Construccion de Mundos Virtuales.
5.1- Consideraciones Generales.
5.2- Componentes de un Fichero VRML.
5.3- El Encabezado ("Header").
5.4- Nodos ("Nodes") y Jerarquias (Hierarchies).
5.5- Campos ("Fields").
5.6- Comentarios ("Comments")..
5.7- VRML 1.0- Grupos de Nodos.
5.8- Nodos de FORMA. Consideraciones.
5.9- Nodos de APARIENCIA. Consideraciones.
5.10- Nodos de TRANSFORMACION. Consideraciones.
5.11- Ejercicios de INTEGRACION (Grupos A, B,C).
5.12- Nodos de CAMARA. Consideraciones.
5.13- Nodos de ILUMINACION. Consideraciones.
5.14- Ejercicios de INTEGRACION (Grupos C,Dy E)
5.15- Los Nodos WWWAnchor y WWWInline.
5.16- El Nodo WWWInLine.
5.17- Y, finalmente, COSTOS...
-------------------------------------------------------------------------
5.0- CONSTRUCCION DE MUNDOS VIRTUALES
-------------------------------------------------------------------------
Refrescando conocimientos previamente adquiridos podemos decir que la
construccion de Mundos VRML se puede llevar a cabo de tres formas
basicas:
A- MEDIANTE EL USO DE UNA HERRAMIENTA DE AUTORIA
El software de Autoria de VRML provee un ambiente grafico interactivo en
el cual se pueden construir mundos virtuales. Es un tipo de paquete que
facilita el proceso constructivo a traves de interaccion visual grafica
mientras va generando aparte el codigo VRML correspondiente. Esto incluye
construccion de formas, escala, color, textura e iluminacion.
Estas herramientas se encuentran aun en fase relativamente incipiente y
rudimentaria. A diferencia de los "browsers" de VRML no son gratuitos,
aun cuando muchas empresas aportan demos y/ o versiones Beta (en prueba).
B- MEDIANTE EL USO DE UNA HERRAMIENTA DE CONVERSION (TRADUCTORA)
Permiten que formas construidas mediante paquetes de CAD puedan ser
convertidas a ficheros de VRML. Se consiguen libremente en la Internet.Se
piensa que, con el tiempo, estas capacidades de traduccion estaran
implicitas en los paquetes de CAD propiamente dichos. De hecho algunos ya
lo poseen.
Debe tenerse en cuenta que este tipo de herramienta hasta la fecha solo
permite "traducir" de un fichero CAD a uno VRML la geometria de lineas.
No asi texturas u otras caracteristicas similares. Y ello destaca la
necesidad de que el constructor de mundos virtuales que realmente desee
desarrollar sus capacidades modelisticas debera poseer un conocimiento
claro de la sintaxis del VRML, mientras mas profundo mejor...
Una lista de traductores a VRML y sus caracteristicas puede ser obtenida
en:
http://www.ocnus.com/translate.html
C- MEDIANTE EL USO DE CODIFICACION DIRECTA
Es esta la filosofia que anima al presente curso. Para usar una socorrida
frase diremos que vale mas ensenar a pescar que regalar un pescado. A
lo que algunos escepticos cinicamente anaden ; "en vez de eso, dale una
caña"... :-))
Para escribir el codigo de VRML solo se necesita un procesador de
palabras o un editor de texto (mas barato, dificilmente...).
Algunos de esos editores de texto son:
--> Para usuarios PC : EDIT or NOTEPAD
--> Para usuarios UNIX : vi or EMACS
--> Para usuarios MAC : SIMPLETEXT or TEACHTEXT
Si se elige, por comodidad, trabajar con un procesador de palabras, debe
recordarse de almacenar el fichero producido bajo "text only", que es la
unica forma en que el "browser" ( visualizador ) de VRML podra
interpretarlo. Adicionalmente, al nombre del fichero conteniendo la
descripcion del mundo en VRML debera incorporarsele la terminacion ".wrl"
que es un mnemonico para "worlds" (Mundos). Es esa terminacion la que le
indica al visualizador que esta en presencia de un fichero en VRML.
El formato "text only" admite unicamente caracteres ASCII sin incluir
terminacion de linea ni separcion de parrafos etc.
PASOS PARA LA CONSTRUCCION DE MUNDOS
Sin animo de intentar rigideces metodologicas, y meramente a guia de
orientacion de los que se inician en el area, podemos enumerar los
siguientes pasos en la construccion de un Mundo Virtual (se asume
que, previamente, las posibilidades de diseño han sido establecidas por
las caracteristicas y limitaciones del hardware/software disponible
para tal fin) :
1) Modelacion; 2) Valoracion; 3) Incorporacion de Detalles;
4) Incorporacion de Comportamientos; 5) Descripcion Particulari-
zada.
Los tres primeros pasos arriba descritos corresponden por igual a ambas
versiones de VRML 1.0 y 2.0. Los pasos 4 y 5 corresponden casi
exclusivamente a la version 2.0 unicamente por lo que seran detalladas en
ocasion de la aparicion de la Unidad 6 del curso, que sucede a esta.
1 --> MODELACION
1.1- Fase CONCEPTUAL (Modelo Esquematico, fuera del computador).
- Brainstorming.
- Articulacion del proceso comunicacional.
- Esquematizacion.
- Tratamiento textual.
1.2- Fase OPERATIVA (Descripcion de Modelo basico de Mundo).
- Estimacion de "Target" poligonal
(p.ej. Pentiun 90 --> 3.000 poligonos aprox.).
- Agrupacion de formas.
- Dimensionamiento de fichero.
- Construccion geometrica.
PRODUCTO: Mundo geometrico, estatico y sin efectos.
2 --> VALORACION
- Se establecen permanentemente los aspectos visuales del fichero.
- El visualizador elegido debe ser consistente con los esquemas de
color adoptados.
- Definicion e incorporacion de mapas de TEXTURAS.
- Incorporacion de LUCES para efectos de profundidad y sombras.
- Identificacion y establecimiento de PUNTOS DE VISTA como medio
para reforzar la coherencia en cuanto a la visualizacion del
mundo virtual. A guia de orientacion, la cinematografia, el
teatro, la television, los videojuegos y la fotografia aportan,
todos ellos, excelentes metaforas para el diseñador.
PRODUCTO: Mundo con colores, texturas, y luces incorporados.
3 --> INCORPORACION DE DETALLES.
- Afinamiento de parametros de navegacion tales como escala,
rapidez de desplazamiento del participante y medio de transporte.
Tambien ( y esto solo aplica al VRML 2.0) deberan incorporarse
en el esceno-grafo los detectores de colision con el proposito
de mejorar el comportamiento del visualizador.
PRODUCTO: Mundo con parametros afinados.
4 --> INCORPORACION DE COMPORTAMIENTOS
Este paso concierne unica y exclusivamente al manejo de modelos
en VRML 2.0. Consiste en imbuir de "vida" al mundo VRML. Porque
los comportamientos aqui creados contribuiran a definir mucha de
la funcionalidad del mundo virtual creado.El contenido creado en
el desarrollo de este paso deberia operar en cualquier tipo de
browser para VRML. Es durante este paso que los animadores
activan criaturas, objetos, luces y camaras. Tambien se
incorporan SENSORES en sito con el objetivo de disparar
animaciones y/o comportamientos complejos. El programador debe
tener la precaucion de no abusar del CPU al activar simultanea-
ente un gran numero de objetos. Existen muchas formas de
optimizar animaciones, entre ellas la reduccion de numero de
marcos clave y las memoria del fichero de VRML. El abuso del
recurso identificado como TimeSensor, a sugerencia del paquete de
autoria puede taxar innecesariamente la actividad de
procesamiento requerida. Igual acontece con los nodos SCRIPT. La
reduccion del numero de TimeSensors y su "apagado" cuando no se
los este utilizando son formas comunmente empleadas para reforzar
el comportamiento de un archivo VRML.
5 --> PROGRAMACION PERSONALIZADA (Custom Scripting).
La fase final en la creacion de una motivante experiencia en VRML
involucra la codificacion de comportamientos complejos via nodos
de SCRIPT. En ese sentido, la plataforma-objetivo ("target
constituye un factor relevante en el cumplimiento de la fase, ya
que no existe un lenguaje estadar de codificacion para todos los
visualizadores. Esto significa que aun cuando el mundo construido
opere bien en la plataforma objetivo, probablemente no lo hara en
la mitad de los browsers disponibles. Existen formas de evadir
dicho problema pero ello implica duplicar el volumen de trabajo a
emplear en el desarrollo de la fase, de forma de lograr una
virtual independencia de las plataformas existentes.
La programacion de nodos Script constituye una actividad muy
personalizada ("Customized task"). A este respecto el Java,
el JavaScript, el VRMLScript, el LiveConnect, y la Interfaz VRML
de Autoria Externa, son todas ellas tecnologias, lenguajes y APIs
empleados para crear experiencias muy dinamicas, complejas e
inmersivas. Durante esta fase sera preciso disponer de personas
con fuertes habilidades tecnicas, tales como ingenieros.
Se advierte que la vision aqui transmitida trasciende el alcance del
presente curso de caracter introductorio y por tanto su verdadero valor
radica en servir de guia al participante para la orientacion de su
desarrollo futuro en el area, una vez culminado el curso.
La metodologia aqui descrito es de caracter general, aplicable tanto al
VRML 1.0 como al VRML 2.0 aun cuando teniendo en cuenta las diferencias
en cuanto a su alcance en ambos casos, sobre todo en lo referente al paso
cuatro ( "Incorporacion de comportamiento").
Se insiste en que una de las formas mas seguras de avanzar en el aprendi-
saje del VRML es, una vez visualizado un mundo, acceder por procesador de
texto o de palbras a su programacion y averiguar que recursos se utiliza-
ron para lograr determinados efectos.
Debe recordarse, por ultimo, que la minimizacion del trabajo a ser
cumplido por el visualizador (Browser) contribuira al logro de mundos
virtuales mas compactos y eficientes.
Pero para alcanzar los niveles de sofisticacion anteriormente descritos
sera necesario previamente iniciarse con tareas muy sencillas y
manejables. Habilidades tales como crear una caja, modelar un cubo, pu-
blicarlo como VRML y visualizarlo mediante un browser.
-------------------------------------------------------------------------
5.1- DESCRIPCION DE MUNDO VIRTUAL- SECUENCIA DE ACCIONES
-------------------------------------------------------------------------
Al igual que el HTML, el VRML es un lenguaje interpretado y no compilado.
Es amistoso y facil de leer. El VRML no es un lenguaje de computacion
pero no un lenguaje de programacion. En esencia se trata de un lenguaje
de DESCRIPCION DE ESCENAS. Como tal, esta constituido por archivos de
texto que pueden ser interpretados por un visualizador de VRML.
Adicionalmente, el listado elaborado en VRML, que describe el mundo
virtual que esta siendo modelado, puede ser accedido tambien a traves del
uso de un procesador de palabras o de texto y sus instrucciones admiten
modificaciones que alteren el modelo. Y aun cuando a menudo emplearemos
el termino "programa" para referirnos al contenido descriptivo del mundo
virtual, por su facilidad de interpretacion, en realidad nos estaremos
refiriendo a "Guiones" ("scripts"), un concepto mucho mas acorde con la
naturaleza y filosofia del VRML.
La SECUENCIA DE ACCIONES para elaborar la descripcion de un Mundo
Virtual es la siguiente:
-------------------------------------------------------------------------
A --> Se procede a hacerlo mediante un procesador de palabras o de
de texto utilizando la sintaxis del VRML 1.0 o 2.0 segun el caso.
B --> Se almacena el fichero resultante como ARCHIVO DE TEXTO. Y al
nombre del fichero se le incorpora la terminacion ".wrl" (que es
un mnemonico para "world" (Mundo). Esta convencion sirve al
browser para identificar su condicion de Mundo Virtual en VRML.
C --> Se abre el Visualizador de Mundos (parser) previsto para tal fin.
D --> Se abre el Fichero de Texto que contiene al Mundo Virtual que se
desea visualizar.
E --> Se observa y manipula el Mundo Virtual creado...
F --> El visualizador (browser) aporta la capacidad de moverse en
derredor del Modelo como si el participante y el Mundo estuvieran
en un ambito tridimensional.
G--> Se efectuan eventuales correcciones y ajustes al Modelo descrito,
accediendo mediante e l browser al archivo de texto elaborado
anteriormente.
-------------------------------------------------------------------------
Dado que el codigo de VRML es interpretado, los resultados de la
aplicacion del codigo pueden variar de browser a browser.Ademas, el VRML
es EXTENSIBLE, lo que significa que los desarrolladores de browsers
pueden incluir nuevas capacidades no estandarizadas de funcionalidad al
programa, utilizando para ello componentes estandar del lenguaje. Asi
pues, si un browser puede interpretar las extensiones al lenguaje
estandar que encuentra en un fichero de Mundo Virtual, entonces la nueva
funcionalidad descrita por las extensiones sera interpretada para el
usuario a medida que se representa ("render") la escena en cuestion.
-------------------------------------------------------------------------
5.2- COMPONENTES DE UN FICHERO VRML
-------------------------------------------------------------------------
Existen cuatro componentes principales de un fichero VRML:
- El ENCABEZADO ("Header") del Fichero.
- Los NODOS ("Nodes").
- Los CAMPOS ("Fields").
- Los COMENTARIOS ("Comments").
-------------------------------------------------------------------------
5.3- EL ENCABEZADO ("Header")
-------------------------------------------------------------------------
Todo programa de Mundos en VRML 1.0 poseera la siguiente primera linea :
#VRML V1.0 ascii
Esta linea es utilizada por el Browser de Red ( p.ej.Netscape) para
asegurarse de que seleccionara el apropiado traductor o "plug-in".
El "#" significa que se esta incluyendo un COMENTARIO (equivalente al //
del C++).
A esta linea seguiran otras pocas conteniendo documentacion acerca del
modelo o un SEPARADOR, "{" , que señala el inicio de la descripcion del
Mundo Virtual especifico.
El # al comienzo de una linea puede ser siempre utilizado para incluir
nuevos comentarios, con la sola excepcion en los campos de cadenas
("strings") cuando el caracter # forma parte de una cadena (string).
...sigue
|
|