Bindable children nodes

Si tratta di 4 nodi vincolabili: Background, Fog, NavigationInfo, Viewpoint.

In ogni momento solo uno, per ogni categoria, è attivo sulla scena.

I campi evento

eventIn  SFBool set_bind
eventOut SFBool isBound

permettono di interagire con questi nodi.


Background

Background
 {
 eventIn      SFBool   set_bind
 exposedField MFFloat  groundAngle []    # [0, PI/2]
 exposedField MFColor  groundColor []    # [0, 1]
 exposedField MFString backUrl     []
 exposedField MFString bottomUrl   []
 exposedField MFString frontUrl    []
 exposedField MFString leftUrl     []
 exposedField MFString rightUrl    []
 exposedField MFString topUrl      []
 exposedField MFFloat  skyAngle    []    # [0, PI]
 exposedField MFColor  skyColor    0 0 0 # [0, 1]
 eventOut     SFBool   isBound
 }


Fog


NavigationInfo

NavigationInfo
 {
 eventIn      SFBool   set_bind
 exposedField MFFloat  avatarSize      [0.25, 1.6, 0.75] # [0, ...)
 exposedField SFBool   headlight       TRUE
 exposedField SFFloat  speed           1.0               # [0, ...)
 exposedField MFString type            ["WALK", "ANY"]
 exposedField SFFloat  visibilityLimit 0.0               # [0, ...)
 eventOut     SFBool   isBound
 }

Il nodo specifica le caratteristiche fisiche del visitatore virtuale, avatar, che si muove nel mondo:

  • speed, velocità (in m/s) di movimento
  • headLight, è accesa o meno (TRUE/FALSE) la luce sul casco…
  • type, un elenco di modalità di movimento (la prima riconosciuta è attiva, le successive sono disponibili)
    • ANY, è possibile una modalità diversa da quella iniziale
    • NONE, non è possibile…
    • WALK, se la scena possiede un “terreno” (sul piano XZ) il movimento avverrà su di esso in modo naturale
    • FLY, non è presente la “gravità”
    • EXAMINE, è possibile studiare singoli oggetti ruotandoli o girandogli intorno
  • avatarSize, specifica le dimensioni fisiche dell’avatar tramite tre parametri:
    • quanto può avvicinarsi agli oggetti senza provocare una collisione (se prevista)
    • l’altezza dal terreno alla quale si trovano gli “occhi”
    • l’altezza massima dello scalino che può essere superato
  • visibilityLimit, gli oggetti a distanza superiore a quella specificata non saranno renderizzati (aumenta la velocità); per disabilitarlo si usa 0.0

Viewpoint

Viewpoint
{
 eventIn      SFBool     set_bind
 exposedField SFFloat    fieldOfView 0.785398 # (0, PI)
 exposedField SFBool     jump        TRUE
 exposedField SFRotation orientation 0 0 1 0  # [-1, 1], (-..., ...)
 exposedField SFVec3f    position    0 0 10   # (-..., ...)
 field        SFString   description ""
 eventOut     SFTime     bindTime
 eventOut     SFBool     isBound
}

Lascia un commento