Tots els conceptes que s'expliquen a continuació serveixen per a introduïr al lector i no es pretén que siguin entesos sense la pràctica que donaran els capítols següents. Són introduïts aquí doncs, per que el lector tingui una noció quan se'ls trobi més en davant i pugui tornar aquí com a referència.
En un món de VRML97 el que es defineix és simplement un grup d'objectes. Aquests objectes poden contenir geometria 3D, imatges, colors, etc. i en VRML97 s'enomenen nodes.
Aquests nodes tenen algunes característiques variables que es poden definir en cada
cas mitjançant uns fields (camps), els quals funcionen com a paràmetres.
|
Exemple: Un node (objecte) podria ser un cub genèric, però si nosaltres
volem definir un cub, el voldrem d'una certa mida. Així, si el cub que volem ha de fer 1 unitat per
cada costat (és a dir, 1 d'ample, 1 d'alt i 1 de fons) el que farem serà definir un node
Box (caixa) i definir el field size (mida) dient-li que volem
1 d'ample, 1 d'alt i 1 de fons de la següent manera:
|
Els fields poden ser univaluats quan només cal un valor o poden ser multivaluats quan cal una llista de valors.
Els fields tenen un tipus de dades associat, és a dir, cada field pot contenir dades només d'un cert tipus de dades. Per exemple, el field size es de tipus vector 3D en coma flotant i per tant es diu que es de tipus SFVec3f (Single-valued Field Vector 3D floating point). (Nota: Cal no caure en l'error de pensar que és un field multivaluat, ja que no és una llista de tres valors en coma flotant, si no que és un vector de tres dimensions). Per a veure la llista de tots els tipus de dades accedir a : Field and Event Reference.
Un node pot ser un paràmetre d'un altre node i per tant pot ser un field. Això es dóna quan un node és un agrupador de nodes. Un node agrupador serveix per a que varis objectes tinguin unes mateixes propietats, per exemple: mateixes transformacions geomètriques, mateix comportament, etc.
Els esdeveniments (events) poden ser pensats com missatges que van circulant entre els nodes i que fan que es puguin variar els paràmetres d'un objecte durant la navegació de l'entorn virtual. En realitat els events són uns fields especials.
Per exemple, suposem que volem tenir un molí de vent en el nostre entorn i les aspes han d'anar girant. El que cal és poder anar fent rotacions incrementals de les aspes del molí cada cert temps. Això, amb un field no es pot fer ja que el valor que es dóna a un field queda fixat per sempre (a menys que s'editi el fitxer de codi VRML). Per això, el VRML defineix que el valor de rotació d'una transformació en lloc de ser un field és un event i així el seu valor pot ser variat al llarg del temps.
Els events poden ser d'entrada eventIn, de sortida eventOut o d'entrada i sortida exposedField.
Els eventIn són fields que accepten esdeveniments dirigits a ells.
Els eventOut són fields que poden enviar esdeveniments a eventIn d'altres nodes (i a exposedField d'altres nodes).
Els exposedField són fields que poden enviar esdeveniments a eventIn i exposedField d'altres nodes i també accepten esdeveniments dirigits a ells.
El VRML 2.0 és sensible al canvi de majúscules a minúscules i per tant cal anar amb molt de compte en escriure el codi.
Per convenció s'acostuma a respectar les següents regles en els noms de nodes, fields i events, i per tant s'espera que els usuaris també ho respectin en definir els seus nodes, fields i events.