ORM map spiegate (channel packing)

Una ORM map è un trucco per risparmiare memoria: invece di tre texture separate in scala di grigi per ambient occlusion, roughness e metallic, comprimi ciascuna in un canale colore di una singola immagine. ORM sta per Occlusion, Roughness, Metallic — in quell'ordine di canale.

La risposta breve

Ognuno di AO, roughness e metallic è una mappa in scala di grigi (canale singolo), quindi memorizzare tre come immagini RGB separate spreca due terzi dei dati. Una texture ORM comprime Occlusion nel canale rosso, Roughness nel verde, e Metallic nel blu — una texture, un sampler, un terzo della memoria. Sono gli stessi dati, solo raggruppati.

Perché il channel packing esiste

Le mappe in scala di grigi hanno bisogno di un solo canale, ma i file di immagine ne hanno tre o quattro. Comprimere tre mappe in scala di grigi in una texture RGB riduce la memoria della texture e il numero di campionamenti di texture che la GPU fa per pixel.

È un vero guadagno di prestazioni, specialmente nei giochi e sul web dove memoria e larghezza di banda sono limitate.

Cosa va in ogni canale

La convenzione ORM è Occlusion in rosso, Roughness in verde, Metallic in blu. Alcune pipeline inseriscono una height map o una mask aggiuntiva nel canale alfa.

Unreal Engine usa comunemente il packing in stile ORM, e Godot 4 legge direttamente una texture ORM packed in StandardMaterial3D. Controlla sempre l'esatto ordine dei canali che il tuo engine target si aspetta — le convenzioni occasionalmente differiscono.

Authoring le ORM map

Autorizzi AO, roughness e metallic come normali canali in scala di grigi, quindi li comprimi al momento dell'export. Di solito non dipingi direttamente una texture ORM.

Uno strumento come Mixos mantiene ogni canale modificabile e può esportarli singolarmente o assemblare il pack ORM per gli engine che lo vogliono — quindi non devi mai mescolare manualmente i canali in un editor di immagini.

Domande frequenti

Cosa significa ORM?

Occlusion, Roughness, Metallic — compressi nei canali rosso, verde e blu di una texture, rispettivamente.

Perché usare una ORM map invece di tre texture?

Memoria e prestazioni. Tre mappe in scala di grigi memorizzate come una texture RGB usa un terzo della memoria e meno campionamenti GPU, senza perdita di dati.

Quali engine usano le ORM map?

Unreal normalmente usa il packing in stile ORM, e il StandardMaterial3D di Godot 4 legge direttamente una texture ORM packed. Controlla sempre l'esatto ordine dei canali che il tuo target si aspetta.

Esporta singoli canali o una packed ORM map per il tuo engine — Mixos gestisce entrambi, nel browser.

Start free