COSTRUZIONE DELL’AMBIENTE IN UNITY
La costruzione di un ambiente virtuale in Unity consiste nell’assemblaggio di diverse componenti grafiche e non che rientrano nella famiglia degli assets. Tra questi ci sono i modelli 3d che definiscono la forma degli oggetti, i Material e gli Shaders che definiscono l’aspetto delle superfici dei modelli e come gli oggetti vengono disegnati ed ombreggiati. Infine ci sono le texture, immagini 2D che vengono sovrapposte o avvolte intorno ai modelli per decorarli.
Per una simulazione verosimile in realtà virtuale è importante fornite una buona illuminazione e pertanto si è resa necessaria l’aggiunta di numerose luci virtuali nelle diverse scene che simulino gli effetti dell’interazione globale della luce con le pareti, il pavimento e con tutti gli oggetti interessati.
Per alcuni ambienti si è utilizzata la tecnica del Lightmapping. In questo caso luci e ombre non vengono calcolate a run-time ma pre-determinate prima che la scena venga eseguita generando le cosiddette Lightmap.
Per far sì che la realtà virtuale proposta dia l’impressione di trovarsi realmente in un luogo reale, la dinamicità, oltre che il fotorealismo, è una delle componenti chiave. Nell’ambiente è stata prevista, pertanto, la rappresentazione grafica di «oggetti in movimento» come porte e tapparelle a cui l’utente è in grado di attribuire una capacità di interazione.
Per far sì che la realtà virtuale proposta dia l’impressione di trovarsi realmente in un luogo reale, la dinamicità, oltre che il fotorealismo, è una delle componenti chiave. Per questo nell’ambiente sono state implementate diverse animazioni per gli oggetti a cui l’utente è in grado di attribuire una capacità di interazione come porte e tapparelle.
Lo stato degli ambienti virtuali è legata allo stato delle componenti grafiche di ciascun GameObject che compone la scena e per effettuare una personalizzazione degli ambienti occorre modificarle attraverso opportuni script. All’interno di uno script scritto in C# vanno individuati gli oggetti di interesse, dopodiché è possibile accedere a tutte le componenti e modificare a piacimento il valore.
Per esempio se si vuole variare il colore di una texture è possibile assegnare i valori RGB al MainColor dell’immagine. Questa tecnica è stata adoperata per colorare le pareti e simulare l’effetto di un’illuminazione con stripled.
AMBIENTI VIRTUALI REALIZZATI