|
En aquesta sala hi podem trobar quatre pedestals amb quatre formes
bàsiques que podem definir amb VRML: Box, Cylinder, Cone
i Sphere.
Hem aprofitat la simplicitat constructiva de les formes d'aquesta
sala per implementar elements d'interacció que ens possibilita
el VRML. Així tenim:
 |
Un con de color
vermell com la resta d'objectes d'aquesta sala, amb la
particularitat que si premem un botó del ratolí
sobre el con i el movem mentre mantenim el botó
apretat, podrem moure el con amb el punter del ratolí.
Aquest efecte l'hem aconseguit posant un PlaneSensor al
mateix Transform del con i enrutant l'event translation_changed
d'aquest cap al Transform que conté el con. |
 |
Una altra figura que trobem
a l'habitació és un cub. Amb aquest hi podem
interactuar només posant el cursor del ratolí
a sobre. Immediatament veurem com el cub es posa a rodar
i tan aviat com apartem el ratolí, para. Això
s'ha fet utilitzant un sensor de temps i un de tacte (TimeSensor
i TouchSensor) al mateix grup (Transform) que el cub.
Llavors fem que l'event isOver del sensor de tacte activi
el sensor de temps (enabled) amb un ROUTE, que al canviar
la fracció de temps es calculi una interpolació
de gir amb un OrientationInterpolator i que la fracció
calculada per aquest determini la rotació del Transform
que conté el cub (tot amb ROUTES). |
 |
La tercera figura és
una esfera. La particularitat d'aquesta és que
canvia de color si mantenim apretat un botó del
ratolí sobre ella. Això ho hem aconseguit
seguint un procediment pràcticament idèntic
a l'anterior, simplement en comptes d'utilitzar l'event
de sortida isOver del sensor de tacte hem utilitzat l'event
isActive per detectar la pusació d'un botó
i evidentment haurem fet servir un interpolador de colors
per comptes d'un d'orientacions. |
 |
Per últim podem
trobar un cilindre que està perpètuament
canviant de tamany (pulsàtil). En aquest cas hem
aprofitat la propietat loop del sensor de temps (posant-la
a TRUE) i un interpolador d'escales. No ha intervingut
cap altre sensor ja que l'animació és independent
de l'usuari, s'activa al carregar l'escena i no es para
mai. |
|
|