NOTA! Questo sito utilizza i cookie e tecnologie simili.

Se non si modificano le impostazioni del browser, l'utente accetta. Per saperne di piu'

Approvo

Capitolo 77: KeyNavigatorBehavior.

 

Abbiamo visto che è possibile interagire con lo Scene Graph, modificando le proprietà dei Transform Group e, quindi, degli oggetti figli dei TG.

 

Come anticipato nella sezione dedicata al Simple Universe, vi è un TG che controlla la View Platoform, e quindi il punto di vista dell'osservatore (e quello che verrà visualizzato sullo schermo, in un certo senso).

Java 3D Elementi del View Branch Graph classi

 

 

E' logico e corretto supporre quindi di poter modificare le proprietà di questo TG tramite un Behavior, al fine di 'navigare' nello spazio 3D.

Java3D mette a disposizione un Behavior già pronto per l'uso, è sufficiente creare un Simple Universe e scrivere:

 

SimpleUniverse sU = new SimpleUniverse(canvas3D);

TransformGroup vpTG = sU.getViewingPlatform().getViewPlatformTransform();

KeyNavigatorBehavior keyNavBeh = new KeyNavigatorBehavior(vpTG);

keyNavBeh.setSchedulingBounds( new BoundingSphere( new Point3d(), 1000.0));

scene.addChild(keyNavBeh); .

 

 

 

Stiamo modificando, quindi, la posizione e l'orientamento della View Platform.

Il Behavior 'precotto' messo a disposizione da Java3D permette di navigare nello spazio virtuale con questi controlli:

ROTAZIONI

FrecciaDestra: ruota a destra

FrecciaSinistra: ruota a sinistra

PagSu: ruota verso il basso

PagGiù: ruota verso l'alto

TRASLAZIONI

ALT e FrecciaSu: trasla in avanti

ALT e FrecciaGiù: trasla indietro

ALT e FrecciaDestra: trasla a destra

ALT e FrecciaSinistra: trasla a sinistra

ALT e PagSu: trasla verso l'alto

ALT e PagGiù: trasla verso il basso

 

La scena definita nel file di esempio 'Esempio BehaviorNavigazione.java' permette, appunto, di navigare nello spazio 3D utilizzando tale Behavior.

 

 

E' possibile creare, comunque, un proprio Behavior di navigazione.

E' quello che succede in 'Esempio NavBehavior2.java'; in questo caso, i comandi sono:

W: spostamento in avanti di una unità;

A: spostamento a sinistra di una unità;

S: spostamento indietro di una unità;

D: spostamento a destra di una unità;

FracciaSu: rotazione dell'osservatore, verso 'l'alto';

FrecciaGiù: rotazione dell'osservatore, verso 'il basso';

FrecciaSinistra: rotazione dell'osservatore, verso 'sinistra';

FrecciaDestra: rotazione dell'osservatore, verso 'destra'.

 

In questo caso si fa uso di due classi: EsempioNavBehavior2, che definisce la scena e contiene il main dell'applicazione, e 'MioBehaviorTastiera', che definisce i controlli (i tasti) da accettare e come modificare il Transform Group target.

 

Il Behavior di controllo definito in MioBehaviorTastiera non è diverso da quelli visti in mioBehavior e mioBehavior2: quello che cambia è che, in questo caso, il Behavior viene creato nel costruttore, prende come parametro il View Platform TG e viene agganciato direttamente alla radice del Conten Branch Graph.

 

 
Vai all'inizio della pagina