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 34: Ancora su Bound e Background.

 

Dovrebbe essere chiaro, a questo punto, che un bound non crea un oggetto visuale di una data forma (sfera, box, polytope), ma identifica semplicemente una regione, un volume di spazio 3D.

Il bound, associato ad un altro oggetto, indica la zona di influenza, il campo di validità e di azione di quell'oggetto.

 

 

Abbiamo visto inoltre l'oggetto Background, un oggetto che, per definire uno sfondo, fa uso di una sfera di raggio unitario, sulle cui pareti interne (impostando, tra l'altro, le Normali rivolte verso l'interno) proietta una texture, e di un bound d'azione.

Bisogna però porre l'attenzione su di un concetto: l'utilizzare un bound con una data dimensione non si traduce in un 'ingrandimento' della sfera di raggio unitario.

 

 

 

La sfera di raggio unitario è un modello utilizzato per definire il Background, che verrà poi proiettato come sfondo da Java 3D.

Lo sfondo, in Java 3D, si trova sempre a distanza infinita, ed anche avvicinandoci ('camminando' nell'universo virtuale) ad esso, la sua immagine non muterà.

Uscendo dal bound d'influenza, esso sparirà immediatamente.

Creando invece uno sfondo a partire da una sfera di notevoli dimensioni avremo un effetto radicalmente diverso: 'camminando' verso le pareti interne della sfera, la texture ad essa applicata diventerà sempre più grande, dunque l'immagine visibile cambierà; non solo: una volta usciti dalla sfera, girandoci per osservarla da fuori, vedremo le pareti interne della sfera, texturizzate !

Un Background vero e proprio è, invece, invisibile dall'esterno.

 

Gli esempi 'Background Creato Con Sfera Enorme' e 'Background Classico' permettono di valutare praticamente quanto appena descritto.

 

Entrambi prevedono la navigazione nell'universo 3D mediante tastiera, con questi comandi:

ROTAZIONI

FrecciaDestra: ruota a destra

FrecciaSinistra: ruota a sinistra

PagSu: ruota verso il basso

PagGi`u: ruota verso l'alto

TRASLAZIONI

ALT e FrecciaSu: trasla in avanti

ALT e FrecciaGi`u: trasla indietro

ALT e FrecciaDestra: trasla a destra

ALT e FrecciaSinistra: trasla a sinistra

ALT e PagSu: trasla verso l'alto

ALT e PagGi`u: trasla verso il basso

 

Provare, ad esempio, ad andare verso lo sfondo ('camminando in avanti') fino ad uscire, a seconda dei casi, dal raggio d'azione del bound o dalla sfera di raggio 200: è possibile vedere, già a questo punto, che gli effetti del movimento sono radicalmente diversi.

Una volta usciti nello spazio esterno, girarsi (rotazione di 180 gradi, a destra o a sinistra) e vedere cosa c'è dietro: il bound e il Background sono invisibili, non ci sono oggetti di forma sferica o altro, mentre, nell'esempio con la sfera, possiamo vedere la texture applicata sulle facce interne dell'oggetto !

Molto probabilmente, poi, noterete una considerevole differenza nei tempi di esecuzione dei due programmi: una sfera texturizzata di raggio considerevole 'pesa' molto, in termini di performances.

 

In definitiva:

 

  • il bound non identifica un oggetto, ma un volume nello spazio 3D. Applicato ad un altro oggetto, identifica la regione di spazio 3D ove è possibile risentire degli effetti prodotti da tale oggetto;

  • un Background non posiziona uno sfondo ad una distanza definita dal raggio del bound ad esso associato, ma visualizza (proietta) uno sfondo, posto ad una distanza fissa, se ci troviamo all'interno del suo bound d'azione. Se usciamo dal bound d'azione, lo sfondo sparisce immediatamente.

 

 
Vai all'inizio della pagina