Massimiliano Piscozzi – Sistemi multimediali
ProximitySensor ProximitySensor : X3DEnvironmentalSensorNode { SFBool[in,out]enabledTRUE SFVec3f [in,out] center0 0 0 SFVec3f[in,out] size0 0 0 SFTime[out] enterTime SFTime [out] exitTime SFRotation[out]orientation_changed SFVec3f[out]position_changed SFBool[out]isActive... } Rileva quando lavatar entra (ed esce) in una zona rappresentata da un parallelepipedo Quando lutente si trova allinterno del parallelepipedo il sensore traccia la sua posizione e orientazione Permette di far iniziare (terminare) delle animazioni quando lavatar si avvicina (allontana) ad un particolare oggetto Permette di muovere un oggetto in modo da replicare il movimento dellavatar (utile per la creazione di interfacce)
Esempio (1) Animazione di un parallelepipedo in base alla vicinanza dellavatar Shape · · · Box · · · Appearance · · · ProximitySensor enterTime exitTime · · · Transform scale · · · Material · · · PositionInterp. set_fraction value_changed · · · TimeSensor startTime fraction_changed · · · PositionInterp. set_fraction value_changed · · · TimeSensor startTime fraction_changed · · ·
Esempio (2) Posizionamento di un oggetto in base alla posizione dellavatar ProximitySensor position_changed orientation_changed · · · Transform translation rotation · · · Transform · · · La grandezza del sensore (campo size) deve essere tale da racchiudere tutta la scena virtuale Sistema di coordinate locali corrispondente alla posizione dellavatar Collision · · · Occorre disabilitare il rilevamento delle collisioni:...
VisibilitySensor VisibilitySensor : X3DEnvironmentalSensorNode { SFBool[in,out]enabledTRUE SFVec3f [in,out] center0 0 0 SFVec3f[in,out] size0 0 0 SFTime[out] enterTime SFTime [out] exitTime... } Rileva quando unarea rappresentata da un parallelepipedo è visibile allavatar Permette di far iniziare (terminare) delle animazioni quando lavatar può o meno vedere un particolare oggetto (utile per attirare lattenzione dellutente)
Sound (1) Sound : X3DSoundNode { SFVec3f[in,out]location0 0 0 SFVec3f[in,out]direction0 0 1 SFFloat[in,out]intensity1.0 SFFloat[in,out]minFront0 SFFloat[in,out]minBack0 SFFloat[in,out]maxFront0 SFFloat[in,out]maxBack0 SFNode[in,out]sourceNULL[X3DSoundSourceNode] SFBool[]spatializeTRUE... } minFront maxFront direction location minBack maxBack Modello acustico Il nodo Sound permette di creare delle sorgenti acustiche nello spazio 3D
Sound (2) File audio (.wav,.midi,.mp3) AudioClip : X3DSoundSourceNode { SFBool[in,out]loopTRUE SFFloat[in,out]pitch1 SFTime[in,out]startTime0 SFTime[in,out]stopTime0 SFTime[in,out]pauseTime0 SFTime[in,out]resumeTime0 MFString[in,out]url SFTime[out]duration_changed SFTime[out]elapsedTime SFBool[out]isActive SFBool[out]isPaused... } La variazione del pitch modifica sia il tono sia la velocità di riproduzione I campi loop, startTime e stopTime permettono di attivare lAudioclip allo stesso modo di quanto avviene per il TimeSensor Esempio