Aquest sensor, tan sols serveix per qüestions d'optimització. Per exemple, si tenim molts elements en moviment en el nostre entorn, el rendiment de navegació pot ser força baix. Però si fem que els objectes només es moguin quan entren en el nostre camp de visió, millorarem el rendiment per que només es mourà allò que realment és necessari.
Aixó es pot fer, definint una zona en forma de caixa al voltant dels objectes. El sensor de visibilitat
node VisibilitySensor
ens permet definir aquesta caixa invisible, centrada en un cert punt. Quan aquesta caixa entra en el
nostre rang de visió, llavors el sensor de visibilitat s'activa i emet un esdeveniment.
|
Exemple1: Sensor de visibilitat.
|
Tot i que aquest exemple no és funcional, ens mostra com definir la caixa de visibilitat al voltant d'un objecte. Com que l'esfera està centrada en el punt (-5 8 3) i té un radi de 2 unitats, llavors hem de centrar la caixa de visibilitat en el mateix punt i donar-li unes mesures de 4x4x4 per que englobi tota l'esfera.
NOTA: En el moment d'escriure el tutorial (01/97), el Cosmo Player no no implementa aquest sensor.
Aquests sensors permeten incidir sobre les translacions i rotacions d'objectes dirèctament i individualment, sense haver de modificar tota l'escena amb les interfícies del browser.
Hi ha tres tipus de sensors de moviment (o "drag sensors" com s'anomenen en anglès):
Aquest sensor permet mapejar els moviments 2D del cursor de pantalla, en moviments 2D sobre el pla XY del sistema
de coordenades del sensor. El sensor s'activa quan es pitja sobre l'objecte actiu i sense deixar anar el botó del
ratolí, es mou el cursor. Llavors, els moviments del cursor es poden reflectir sobre l'objecte mitjançant un
ROUTE. Vejam un exemple on un cub verd és l'objecte actiu, i tenim un cub taronja de referència inactiu.
|
Exemple1: Sensor de Moviment en un Pla.
|
Observeu com aquest sensor es defineix de forma semblant al sensor de tacte vist el el mòdul anterior, és a dir, cal definir-lo com a "germà" dels objectes que han de ser actius.
A continuació veurem un exemple on el cub taronja és l'actiu, però el que es mou és el verd.
|
Exemple2: Sensor de Moviment en un Pla, on l'objecte actiu diferent al que
es mou.
|
Com es pot observar, el mapeig fet amb el ROUTE no ha variat, però hem posat el sensor de moviment en el pla, agrupat amb l'altre cub (el taronja).
Aquest sensor permet mapejar els moviments 2D del cursor de pantalla, en rotacions al voltant de l'eix Y del
sistema de coordenades del sensor. El sensor s'activa quan es pitja sobre l'objecte actiu i sense deixar anar el botó del
ratolí, es mou el cursor. Llavors, els moviments del cursor es poden reflectir sobre l'objecte mitjançant un
ROUTE. Vejam l'exemple del cub verd modificat.
|
Exemple3: Sensor de Moviment Cilíndric.
|
Observeu com aquest sensor es defineix de forma semblant al sensor de tacte vist el el mòdul anterior, és a dir, cal definir-lo com a "germà" dels objectes que han de ser actius.
NOTA: En el moment d'escriure el tutorial (01/97), el Cosmo Player no no implementa aquest sensor.
Aquest sensor permet mapejar els moviments 2D del cursor de pantalla, en rotacions al voltant de l'origen de coordenades. El
sensor s'activa quan es pitja sobre l'objecte actiu i sense deixar anar el botó del ratolí, es mou el cursor. Llavors,
els moviments del cursor es poden reflectir sobre l'objecte mitjançant un ROUTE. Vejam l'exemple del cub
verd modificat.
|
Exemple4: Sensor de Moviment Esfèric.
|
Observeu com aquest sensor es defineix de forma semblant al sensor de tacte vist el el mòdul anterior, és a dir, cal definir-lo com a "germà" dels objectes que han de ser actius.
NOTA: En el moment d'escriure el tutorial (01/97), el Cosmo Player no no implementa aquest sensor.
Exercicis proposats:
|