Möt Mixos AIUtforska

ORM-kartor förklarade (kanalpackning)

En ORM-karta är ett minnesbesparande trick: i stället för tre separata gråskaletexturer för ambient occlusion, roughness och metallic packar du var och en i en färgkanal i en enda bild. ORM står för Occlusion, Roughness, Metallic — i den kanalordningen.

Av

Det korta svaret

Var och en av AO, roughness och metallic är en gråskalekarta (en kanal), så att lagra tre som separata RGB-bilder slösar två tredjedelar av data. En ORM-textur packar Occlusion i den röda kanalen, Roughness i den gröna och Metallic i den blå — en textur, en sampler, en tredjedel av minnet. Det är samma data, bara buntad.

Varför kanalpackning finns

Gråskalekartor behöver bara en kanal, men bildfiler bär tre eller fyra. Att packa tre gråskalekartor i en RGB-textur minskar texturminnet och antalet textursamples GPU:n gör per pixel.

Det är en verklig prestandavinst, särskilt i spel och på webben där minne och bandbredd är knappa.

Vad som ligger i varje kanal

ORM-konventionen är Occlusion i rött, Roughness i grönt, Metallic i blått. Vissa pipelines stoppar in en height map eller extra mask i alfakanalen.

Unreal Engine använder ofta ORM-liknande packning, och Godot 4 läser en packad ORM-textur direkt i StandardMaterial3D. Bekräfta alltid den exakta kanalordning din målmotor förväntar sig — konventioner skiljer sig ibland.

Att skapa ORM-kartor

Du skapar AO, roughness och metallic som vanliga gråskalekanaler och packar dem sedan vid export. Du målar i regel inte en ORM-textur direkt.

Ett verktyg som Mixos håller varje kanal redigerbar och kan exportera dem individuellt eller sätta ihop ORM-paketet för motorer som vill ha det — så du behöver aldrig skyffla kanaler för hand i ett bildredigeringsprogram.

Vanliga frågor

Vad står ORM för?

Occlusion, Roughness, Metallic — packade i de röda, gröna och blå kanalerna i en textur, i den ordningen.

Varför använda en ORM-karta i stället för tre texturer?

Minne och prestanda. Tre gråskalekartor lagrade som en RGB-textur använder en tredjedel av minnet och färre GPU-samples, utan dataförlust.

Vilka motorer använder ORM-kartor?

Unreal använder ofta ORM-liknande packning, och Godot 4:s StandardMaterial3D läser en packad ORM-textur direkt. Kontrollera alltid den exakta kanalordning ditt mål förväntar sig.