ROBOTICA

video
immagini
papers
progettati
costruiti
toolbox
vrml
simulatori

links

 

Papers
meccanica
sistemi
documents

Capitolo 15° Aggiunta di background Capitolo 17°

Fino a questo punto tutte le nostre scene sono state collocate in un ambiente a sfondo nero. L’ideale sarebbe ora quello di modificare il background in modo da raggiungere una maggiore sensazione di realismo.

Questa possibilità può essere raggiunta in due modi in vrml 2.0.

Possiamo pensare al background come al colore di una grossa scatola che congloba il nostro mondo. Al momento, questa grossa scatola ha pareti completamente nere.

Possiamo modificare semplicemente il colore, richiamando l’idea di un bel cielo azzurro oppure possiamo anche sovrapporre immagini ai lati di questa scatola (e allora sì che potremmo davvero aggiungere un bel cielo con tanto di nuvole).

Al momento attuale (febbraio 97) né Live3d né Cosmo Player supportano la possibilità di aggiungere immagini come sfondo. L’unica possibilità concessa è quella di cambiare colore al background, consentendo di sfumare i colori fornendo un set di colori e angoli. Vedremo tra breve come realizzare questo effetto.

Il nodo Background ha diversi campi. Vediamo i principali.

BackGround {
	groundAngle [ ]
	groundColor [ ]
	backUrl [ ]
	bottomUrl [ ]
	frontUrl [ ]
	leftUrl [ ]
	rightUrl [ ]
	topUrl [ ]
	skyAngle [ ]
	skyColor [ 0 0 0 ]
}

Vi sono altri due fields che per il momento però non ci interessano.

I vari backUrl, bottomUrl, frontUrl,... richiedono come parametro l’url di una immagine da mappare su un particolare lato della scatola che avvolge il mondo. L’uso risulta pertanto abbastanza banale.

Concentriamoci ora sull'altra possibilita' offerta. In questo caso rende disponibile una sfera che avvolge completamente il mondo; il colore mappato sui lati interni della sfera puo' essere specificato in modo tale da variare linearmente tra piu' valori dati.

Per quanto riguarda il colore del cielo, si deve fornire una coppia angoli,colori. Gli angoli specificano la posizione in cui avere il corrispondente colore. Per angoli intermedi il browser interpola tra i colori forniti agli estremi. L'angolo 0 per convenzione rappresenta il polo della sfera (quello sopra la nostra testa per intenderci). Si devono poi fornire degli angoli positivi sino a pi-greco, con 1.57 radianti che rappresenta approssimativamente la linea dell'orizzonte.

Lo stesso discorso vale per il terreno.

Il seguente esempio produce un risultato apprezzabile :

Background {
	skyAngle [1 1.57 3.14]
	skyColor [0 0 1, 0 0 1, .6 .6 1, 0 0 1]
	groundAngle [1 1.57]
	groundColor [0 1 0, 0 .8 0, 0 .6 0]
}

Esempio di utilizzo del nodo Background

Con questo esempio ho creato un cielo più chiaro vicino a terra e via via più scuro man mano che si sale. Il terreno è di un verde scuro in lontananza e diviene via via più chiaro avvicinandosi.