|
||||||
ROBOTICA
video
immagini
papers
progettati
costruiti
toolbox
vrml
simulatori
Aggiunta di background |
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.
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 :
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.
BackGround {
groundAngle [ ]
groundColor [ ]
backUrl [ ]
bottomUrl [ ]
frontUrl [ ]
leftUrl [ ]
rightUrl [ ]
topUrl [ ]
skyAngle [ ]
skyColor [ 0 0 0 ]
}
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]
}