Progetto Interior Design 4.0
Il progetto consiste nell’applicazione di tecnologie, strumenti e paradigmi di interazione innovativi ad un ambito e a un modello di business ben consolidati. L’idea di base è l’uso della Cross Reality (XR) a scopo di previsualizzazione nella presentazione dei tendaggi. Per Cross Reality (XR) intendiamo l’insieme di tecniche e tecnologie che uniscono e mettono in relazione ambienti materiali e modelli spaziali digitali o qualsiasi combinazione di VR (Virtual Reality), AR (Augmented Reality) ed MR (Mixed eality).
Sarà quindi possibile, in tempo reale, sovrapporre tridimensionalmente complementi di arredo i come tendaggi all’interno di spazi domestici.
La tecnologia qui descritta si propone come uno strumento avanzato per gli interior designer dell’azienda Carillo. Si parte con la virtualizzazione degli ambienti che viene fruita tramite dispositivi commerciali opportuni già disponibili che vanno dal tablet a visori dedicati. $i selezionano gli elementi di arredo, in questo caso le tende e, grazie ad un controllo contestuale, è possibile selezionare e modificare istantaneamente i colori, le fantasie e i tessuti di queste ultime.
In questo modo, il cliente può visualizzare immersivamente gli spazi e i complementi d’arredo con grande efficacia e resa grafica convincenti.
Risultato del progetto è una proof of concept in grado di confermare la robustezza dell’idea e la fattibilità del prodotto.
L’applicazione obiettivo deve quindi consentire di simulare i tendaggi installati correttamente in un contesto abitativo preimpostato o generato al momento e modificare il tipo di tessuto, simulando l’effetto della luce attraverso di esso.
I temi più sfidanti per la realizzazione dell’applicazione sono stati individuati in:
–Simulazione dei tessuti dei tendaggi
-Creazione di modelli di tende “intelligenti”, cioè adattabili a misure diverse Creazione di ambientazioni procedurali
-Fruibilità da dispositivi portatili come tablet e visori autonomi
In futuro è prevista l’evoluzione del sistema attraverso la fruibilità via web, il collegamento a sistemi di chat online e la semplificazione delle metodologie di creazione dei nuovi tendaggi, in modo da consentire autonomia di gestione di questo aspetto.
Già in fase di progettazione, il sistema è stato impostato per essere multipiattaforma, in modo che, con le evoluzioni future, possa essere fruibile da dispositivi di potenza, fattore di forma e metodo di interazione diversi, andando da dispositivi portatili a visori VR, da workstation a browser web.
In una prima fase dello studio sono stati prototipati i meccanismi di interazione, verificando le performance dei dispositivi e controllando che le performance fossero adeguate allo scopo. Per prima cosa si è realizzata quindi un’applicazione di test con un carico stimato di lavoro per il dispositivo e si è misurato il frame-rate (cioè la “fluidità” dell’interazione).
Per quanto riguarda, poi, la simulazione dei tessuti, è stata individuata una metodologia che permette, attraverso una composizione di tecniche fotografiche e di fotoritocco, di realizzare i vari “layer” che compongono gli shader utilizzati.
Con la parola “shader” si intende la combinazione di algoritmi che si occupa della resa a video di un modello tridimensionale per rappresentarne il materiale, rendendolo coerente e consistente con le sorgenti di luce dell’ambiente ed effettuando le relative ombreggiature (da qui la parola “shader”). Nelle tecniche di rendering più moderne, lo shader viene realizzato in modo parametrico, permettendo di non dover modificare di volta in volta il codice dello stesso, ma di definire soltanto i dati relativi alla rappresentazione corrente. Tali dati sono essenzialmente costituiti da texture, ossia “tessiture” che non rappresentano soltanto le colorazioni di una superficie, ma molteplici altre caratteristiche quali la sua trasparenza, ruvidità, brillantezza e molte altre. Ognuna di queste caratteristiche è rappresentata da una texture, che può avere diverse funzioni interpretative: i pixel che la compongono, infatti, non necessariamente vanno interpretati secondo la loro componente cromatica. A titolo di esempio, una normal-map codifica nel modello RGB della bitmap i valori xyz delle componenti del versore normale in ogni punto della superficie, permettendo così di simulare superfici con strutture molto complesse senza bisogno di modellare geometricamente la variazioni della superficie stessa.
La creazione di modelli intelligenti è stata effettuata tramite un sistema avanzato di rigging: il modello geometrico iniziale è stato realizzato identificando delle aree in grado di estendersi e restringersi in maniera “smart”. Normalmente, quando un oggetto viene esteso in una particolare direzione (stretching) tutte le sue caratteristiche ne risentono, causando artefatti visivi. Con un sistema di scalatura standard, infatti, all’allargarsi di una superficie, anche i disegni presenti su di essa si allargherebbero, perdendo il rapporto tra altezza e larghezza e causando un effetto indesiderato.
Allo stesso modo, se la geometria del modello fosse semplicemente scalata, si avrebbe una resa scorretta delle ondeggiature e del drappeggio che sono invece molto importanti nella resa di una tenda. Per questi motivi è stato realizzato un algoritmo di scalatura personalizzato che, partendo dall’identificazione di sezioni e ripetizioni geometriche ed applicando proceduralmente alcuni modificatori in tempo reale, riesce a rendere le tende in maniera efficace a qualsiasi dimensione.
Oltre ad usare ambienti preimpostati, l’applicazione vuole anche esplorare la possibilità di simulare velocemente ambienti esistenti. In questo contesto non è proficuo usare tecniche di rilievo (come la scansione 3D o la fotogrammetria) per una serie di motivazioni sia di opportunità operativa che, fatto ancora più importante, di marketing: gli arredi esistenti potrebbero infatti essere poco attraenti e, in ogni caso, l’obiettivo non è impiegare il tempo dell’operatore in un’operazione di restyling dell’ambientazione. Per questo scopo è stato integrato un sistema di intelligenza artificiale *- i Dr 0 in grado, a partire dalla definizione rapida e intuitiva di una piantina dell’ambiente, di estrudere un modello tridimensionale realistico completo di porte, finestre e balconi, in cui andare a posizionare | tendaggi. Questo sistema calcola automaticamente tutti gli elementi strutturali necessari e permette di modificare o verificare diversi tipi di misure in tempo reale.
Per ridurre i costi di adozione della tecnologia e per facilitarne la fruibilità, si è scelto di permettere il funzionamento dell’applicazione su dispositivi portatili come tablet e visori standalone. Tali dispositivi, pur essendo di fascia alta, hanno comunque performance molto lontane da quelle dei computer di ultima generazione normalmente utilizzati per le applicazioni VR. Per questo motivo tutta la pipeline di rendering realtime è stata fortemente ottimizzata e orientata all’effettuazione di pre-calcoli che spostano le operazioni computazionalmente più complesse dalla fase di interazione a quella preparatoria. Tale sistema è potenzialmente pronto per essere adattato a un paradigma di cloud-rendering in cui il dispositivo portatile esegue solo la visualizzazione finale della scena, con i calcoli più laboriosi effettuati su un server esterno, opportunamente configurato e dalla potenza molto maggiore.
In ogni caso, il processo di ottimizzazione del codice è stato molto intenso ed ha richiesto la realizzazione di un’applicazione nativa (scritta cioè in codice compilato) per Android.
Per una resa ottimale dei materiali è stato implementato uno shading PBR avanzato in grado di essere sfruttato in maniera scalabile (secondo le caratteristiche del dispositivo) a varie risoluzioni ed anche, se disponibile a livello hardware, in HDR (high-dynamic range).
L’illuminazione è basata su un modello ibrido che simula una global illumination dinamica con ombreggiature morbide e la possibilità di modificare in tempo reale i materiali attribuiti alle tende O, potenzialmente, ad altri elementi. Inoltre, è possibile caricare nella scena diversi tipi di skybox, cioè simulare condizioni di luce differenti :
A livello di Back-End è stato creato un asset manager che permette di conservare su cloud ogni elemento della scena. In questo modo non è necessario aggiornare l’applicazione su ogni dispositivo quando ci sono delle novità nei contenuti. Il sistema è basato su MongoDB con un multiple redundant cluster su AtlasDB. La struttura cloud poggia su server Amazon AWS e Digital Ocean con server side deamons e sfruttando il moderno approccio delle API Restful che migliorano le performance ottimizzando i costi di server.