Che cos’è una mappa di spostamento?
Visualizzazione CGI alla perfezione
Danthree Studio trasforma la tecnologia 3D complessa in asset di marketing efficaci. Assicura qualità high-end al tuo brand.
Parliamo del tuo progettoChe cos’è una mappa di spostamento?
Che cos’è una mappa di spostamento?
Nel displacement, i punti di una superficie vengono spostati sulla base di una texture. Una height map descrive i valori di altezza, solitamente per lo spostamento lungo le normali della superficie. Il vector displacement contiene inoltre informazioni sulla direzione. A seconda dell’applicazione, la mesh viene suddivisa in precedenza o rifinita durante il rendering. Una texture ad alta risoluzione da sola non produce una geometria sufficientemente dettagliata. I parametri dei materiali fanno parte del flusso di lavoro PBR; la loro implementazione dipende dal motore di rendering. Un esempio concreto è descritto nel manuale di Blender relativo al Displace Modifier.

Esempi pratici: mappe di spostamento per legno, pietra e tessuto




Displacement vs. Normal vs. Bump
| Tipo di mappa | Cosa succede | Vantaggi | Limiti | Uso tipico |
|---|---|---|---|---|
| Bump | I dislivelli modificano le normali per l'ombreggiatura | Dettagli precisi senza geometria aggiuntiva | La silhouette rimane invariata | Pori, piccole irregolarità |
| Normal map | I valori RGB descrivono le direzioni delle normali | È in grado di riprodurre i dettagli di un modello ad alta risoluzione | Nessuna geometria aggiuntiva o modifica della silhouette | Tessuti, dettagli della laccatura e dettagli di superficie ottenuti tramite baking |
| Displacement (altezza) | Sposta la geometria lungo le normali | Il rilievo può modificare la sagoma e le ombre | Richiede una geometria e una potenza di calcolo adeguate | Giunti, pietra, profili in legno, goffratura |
| Spostamento vettoriale (RGB) | Sposta la superficie in più direzioni | Consente anche forme laterali e sporgenze | Lo spazio di coordinate e il renderer devono essere compatibili | Ornamenti, rilievi complessi, forme organiche |
Dal termine tecnico all'esperienza visiva
Non ci limitiamo a usare queste tecnologie, le padroneggiamo. Scopri come creiamo mondi fotorealistici per i migliori brand di arredamento.
Vedi portfolioPerché usare il displacement nelle immagini di marca?
- Mostrare i materiali in dettaglio: i profili in legno, i bordi in ceramica e le goffrature in pelle possono essere rappresentati come strutture tridimensionali. Il confronto con il prodotto rimane fondamentale.
- Prepara ogni destinazione: Un materiale va verificato separatamente nei visualizzatori 3D e nella realtà aumentata. Lo stesso aspetto non si trasferisce automaticamente.
- Riutilizzo delle risorse dei materiali: per le visualizzazioni dei prodotti, i materiali coordinati possono essere utilizzati per più immagini. La risoluzione, l’illuminazione e la resa vengono verificate per ogni singola immagine.
Formati, profondità di bit e ridimensionamento
- Profondità in bit: Per variazioni di altezza graduali sono spesso utili dati a 16 bit o formati in virgola mobile come EXR. I dati a 8 bit possono produrre gradini visibili. Convertire in seguito a 32 bit non ripristina le gradazioni di altezza perse.
- Spazio colore: Importa altezze e vettori come dati, o in modalità Non-Color, senza la trasformazione applicata a una texture colore sRGB. Segui le impostazioni di esportazione dello strumento utilizzato.
- Unità e Midlevel: Il Midlevel definisce il valore neutro, l’intensità l’ampiezza dello spostamento. Allinea entrambi alle unità della scena, alla scala dell’oggetto e al materiale di riferimento.
- Mappatura UV: la mappatura UV deve tenere conto della scala, della distorsione e delle transizioni. UDIM distribuisce le texture su più tile, ma non corregge automaticamente le deformazioni o le giunture.
- Fonti del materiale: Le altezze possono derivare da scansioni, sculpting o texture baking. Per la superficie di un prodotto specifico, la digitalizzazione del materiale a partire dai tuoi riferimenti può fornire una base.
Pipeline: rendering offline vs. rendering in tempo reale
Rendering offline: i renderer offrono diversi metodi per la suddivisione e lo spostamento della superficie. Non tutte le impostazioni sono trasferibili da un programma all’altro. Verifica la densità geometrica, i limiti di spostamento e il fabbisogno di memoria su una sezione di prova. Nozioni di base: Pixar OpenSubdiv; un metodo concreto: lo spostamento in Blender.
Tempo reale e web: Il normal mapping modifica il calcolo della luce; le tecniche di parallasse spostano il campionamento delle texture. Nessuno dei due crea una silhouette reale. Unity documenta il Parallax Occlusion Mapping come tecnica di shader, ma questo non implica che ogni visualizzatore web lo supporti. Il modello di materiale di base di glTF 2.0 non prevede una mappa generica di displacement basata sull’altezza. Può quindi servire una geometria già generata prima dell’esportazione. Verifica le dimensioni del file e la resa sul dispositivo di destinazione.
Spostamento vettoriale: quando conviene?
- Sporgenze e sottosquadri: Vector Displacement è in grado di riprodurre forme che non possono essere spostate solo lungo la normale. Per ornamenti o pieghe è un’opzione, non un obbligo; la modellazione diretta può risultare più adatta.
- Creazione: Esporta i vettori da un workflow di sculpting o baking adeguato. Profondità in bit, valore neutro e spazio di coordinate devono corrispondere al renderer.
- Supporto: Tangent Space e Object Space descrivono diversi sistemi di riferimento. Il manuale di Blender dedicato al Vector Displacement spiega le differenze. Verifica il supporto nel tuo sistema di destinazione.
Workflow pratico
- Mesh di base e UV: Prepara forma, scala e coordinate delle texture. Le forme più grandi possono richiedere una modellazione 3D diretta.
- Fonte delle altezze: Confronta scansione, sculpt o dati ottenuti tramite baking con il prodotto di riferimento.
- Esportazione dei dati: Scegli una profondità in bit adeguata e un formato senza perdita; importa le altezze senza trasformazione del colore.
- Geometria e intensità: Regola suddivisione, valore neutro e ampiezza dello spostamento nel renderer utilizzato.
- Confronto: Valuta la stessa immagine con normal mapping e displacement reale. Confronta la differenza visibile con il tempo di rendering e la memoria richiesta.
- Immagini di prova: Controlla silhouette, giunti, ombre proprie e raccordi delle texture alla risoluzione prevista. Per le animazioni verifica anche una breve sequenza: un solo fotogramma non rivela lo sfarfallio nel tempo.
Displacement: problemi, cause e soluzioni
| Sintomo | Possibile causa | Prima fase di verifica | Ulteriori regolazioni |
|---|---|---|---|
| Banding / gradini | Precisione delle altezze limitata, trasformazione colore o geometria troppo grossolana | Verifica separatamente dati di origine, spazio colore dei dati e geometria | Se necessario, rigenera le altezze dalla sorgente a risoluzione maggiore |
| Superfici rigonfie | Valore neutro o scala dello spostamento non corretti | Confronta Midlevel e intensità con le impostazioni di esportazione | Considera le unità della scena e le trasformazioni dell’oggetto |
| Crepe lungo le cuciture UV | Valori di altezza diversi o geometria non collegata | Verifica valori ai bordi, margini delle texture e connessioni della mesh | Coordina baking, margini delle texture e filtraggio |
| Ombre tremolanti | Geometria inadeguata, campionamento insufficiente o rappresentazione instabile dei dettagli | Renderizza una breve sequenza con impostazioni controllate | Regola suddivisione, campionamento e frequenza dei dettagli per l’output |
| Texture mobile durante l'animazione | Coordinate di texture non corrette o livelli di dettaglio variabili | Verifica le UV, il movimento dell’oggetto e lo spazio delle texture | Stabilizza le coordinate; testa filtraggio e livelli di dettaglio nella sequenza |
| Elevato consumo di memoria / tempi di rendering prolungati | Suddivisione troppo fitta o geometria superflua su ampia scala | Confronta il costo di calcolo dei singoli oggetti e delle impostazioni | Usa geometria dove è visibile nell’immagine |
| Nessuna modifica della silhouette | Solo bump/normal mapping attivo, intensità troppo bassa o mesh troppo grossolana | Verifica modalità di displacement, scala e geometria | Usa displacement reale supportato o geometria modellata |
| Diagonali a gradini | Risoluzione della texture o della geometria troppo bassa | Analizza separatamente il campionamento delle texture e la risoluzione della mesh | Adatta la densità dei dettagli all’inquadratura e alla risoluzione di output |
Quando usare il displacement?
Vale la pena valutare la tecnica del “displacement” quando i rilievi, le fughe o gli spigoli nell’immagine sono effettivamente visibili come forme tridimensionali. In questo caso, la distanza dall’obiettivo e la risoluzione di output sono più importanti di una promessa generica di qualità.
Le modalità "Normal" o "Bump" possono essere sufficienti se sono visibili solo sottili variazioni di luce. Per le applicazioni in tempo reale, è necessario verificare la compatibilità e le prestazioni del sistema di destinazione. Le forme più grandi possono anche essere modellate direttamente.
Casi d'uso rilevanti (tratti dalla pratica)
- Ceramica e sanitari: goffrature e rilievi superficiali come parte della visualizzazione dei materiali e delle superfici.
- Legno e pannelli: Profili, giunti e superfici strutturate. Per glTF/GLB, verifica il supporto del visualizzatore per geometria e materiali.
- Imbottiti e pelle: Crea goffrature, pieghe e trapuntature coerenti con il prodotto. In base alla forma, modellazione, displacement o normal mapping possono servire alla visualizzazione del prodotto.
FAQ: displacement map
Il displacement sostituisce la normal map?
Non necessariamente. Il displacement modifica la geometria; il normal mapping influenza il calcolo dell'illuminazione senza modificare la geometria. Entrambi possono integrarsi a vicenda. La combinazione più appropriata dipende dalle forme e dai dettagli visibili nell'immagine che si intende realizzare.
Quale profondità in bit scegliere?
Per gradazioni di altezza molto sottili, spesso è opportuno utilizzare dati a 16 bit o in virgola mobile. I 32 bit non sono un requisito obbligatorio in tutti i casi. Sono determinanti la precisione della sorgente, l'entità dello spostamento e il supporto offerto dal renderer. Salvare successivamente un file a 8 bit come EXR a 32 bit non consente di recuperare i dettagli persi.
Quanta suddivisione è sufficiente?
Quanto basta per rappresentare la forma con un dettaglio adeguato nell’immagine prevista. Distanza della camera, rilievo e risoluzione di output influenzano il fabbisogno. I metodi adattivi possono adeguare la suddivisione alla vista. Verifica il risultato e la memoria richiesta nel renderer utilizzato.
Il displacement è utile sul web?
Solo se il visualizzatore lo supporta e se il vantaggio visibile giustifica il lavoro richiesto. Il modello di materiale di base di glTF 2.0 non prevede una mappa generica di displacement basata sull’altezza. Una geometria generata prima dell’esportazione può essere un’alternativa. Normal mapping e parallasse non cambiano la silhouette reale; verifica anche il loro supporto e le prestazioni.
Qual è la differenza tra spostamento in altezza e spostamento vettoriale?
Lo "spostamento in altezza" utilizza un unico valore di altezza, solitamente per lo spostamento lungo la normale alla superficie. Lo "spostamento vettoriale" descrive più componenti direzionali e può quindi generare forme laterali o sporgenze. Lo spazio delle coordinate e l'interpretazione dei dati devono coincidere tra il programma di creazione e il renderer.
Come posso evitare le infiltrazioni di luce nelle fughe?
Verifica prima che la geometria sia chiusa e che i bordi adiacenti combacino. Controlla poi le altezze lungo le cuciture UV, la suddivisione, il Midlevel, la scala e il filtraggio. Non esiste un unico parametro che risolva ogni causa. Un test dall’angolazione prevista mostra se la correzione è sufficiente.
