Free Web Hosting Provider - Web Hosting - E-commerce - High Speed Internet - Free Web Page
Search the Web








CURSO VRML
por el arquitecto y profesor
Gonzalo Vélez Jahn
(ARQUITECTURA-L)



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


Siguiente entrega.
Indice del CURSO VRML.