Vad är normalmappning?
Inom 3D-datorgrafik behöver inte varenda detalj i en 3D-modell modelleras eller skulpteras i objektets geometri tack vare normalmappning. Tekniken används till att skapa illusoriska ytdetaljer för att förstärka realismen av digitala objekt utan att öka den geometriska komplexiteten.

Förstå normalmappningsprocessen.
Inom 3D-modellering representeras ytorna av polygoner. Ljusberäkningar utförs baserat på geometrin för dessa polygoner på samma sätt som en konstnär skulle använda skuggtekniker för att efterlikna tre dimensioner. Strategin fungerar väl men kan bli beräkningsintensiv och begränsa den övergripande detaljnivån som är möjlig. Normalmappning ger en bra, lättviktslösning genom att sättet på vilket ljuset interagerar med en yta modifieras utan att den underliggande geometrin förändras.
Normalmappningar lagrar information om en yta i form av en texturbild. Genom att koda ytan som normal i en textur kan normalmappningar simulera utseendet på ytdetaljer, som ojämnheter, repor, skrynklor med mera utan att geometrin under får en ökad komplexitet.
Normalmappningar beräknas under rendering med en ytnormal som modifierats från normalmappningen. På grund av att dessa beräkningar är mindre beräkningsintensiva kan stora detaljnivåer åstadkommas, också i realtid, vilket innebär att normalmappningar är en populär teknik som används av spelutvecklare.
Där vi ser normalmappning idag.
Rent generellt är normalmappning en mångsidig teknik och bör användas av 3D-konstnärer och designers för att snabba upp och förbättra arbetsflödet.
Du kan se att normalmappning inte används enbart i scenarier där hårdvarubegränsningarna är extremt viktiga, som videospel, där scenerna måste renderas i realtid för spelaren, utan också i datoranimerade filmer, arkitektonisk visualisering och produktdesign.
Normalmappning påverkar inte färgsättningen av ett objekt, utan används oftast i fall då ett objekts yta inte är helt plan eller jämn. Det innebär att nästan alla 3D-modeller kan använda en normalmappning för att intyga realismen, med nött läder, skrovliga ådringar i trä, människohud, tyg med mera.
Det finns flera viktiga verktyg och program som brukar användas till normalmappning. Här är några:
1. 3D-modelleringsprogram: Verktyg som Blender, Maya, ZBrush och {{substance-3d-modeler}} används för att skapa de modeller som används till normalmappning. Det finns många bra programlösningar som alla har sina strategier för modellering och skulptering.
2. Texturmålningsprogram: Program som {{substance-3d-painter}}, och till och med Adobe Photoshop, kan användas för att skapa och redigera texturmappningar, inklusive normalmappningar.
3. Normalmappningsgeneratorer: Program för generering av normalmappningar som skapar normalmappningar från högupplöst geometri eller texturinformation. Verktyg som xNormal, CrazyBump eller Substance 3D Designer kan generera normalmappningar baserat på olika ingångsvärden.
4. Spelmotorer: Spelmotorer som Unreal Engine och Unity har inbyggt stöd för normalmappning. Dessa motorer har de verktyg och renderingsfunktioner för att dra nytta av normalmappningar. De är lika bra för att skapa renderingar som de är för att skapa spelupplevelser.
5. Shader-programmeringsspråk: Det kan vara bra att förstå shader-programmeringsspråk som HLSL (High-Level Shading Language) eller GLSL (OpenGL Shading Language) när man ska skapa egna shaders som utnyttjar normalmappning. Dessa språk gör att utvecklarna kan definiera hur ljuset ska interagera med normalmappningar och andra texturmappningar för att uppnå enastående visuella effekter.
Listan är kanske inte komplett men ger kreatörer en bra start när de ska skaffa sig en grundläggande förståelse av normalmappning och hur de kan implementera dem i renderingsmiljöer i realtid.

Bilder av Playground Games.

Hur skiljer sig normalmappningar från bumpmappningar?
Normalmappningar lagrar explicit ytnormalinformation med RGB-bilder där varje färgkanal representerar X, Y och Z för ytnormalens vektor på respektive nivå. Normalmappningar fångar upp mycket mer information om en ytas riktning. Normalmappningar påverkar inte geometrin för själva modellen, men ändrar ändå hur ljuset interagerar runt den.
Jämfört med bumpmappningar ger normalmappningar de mest korrekta resultaten och fångar endast upp ytdetaljer förutom höjdvariationer.
För- och nackdelar med normalmappning.
1. Realistiska ytdetaljer: Med normalmappning läggs intrikata ytdetaljer in utan att den geometriska komplexitetet ökas.
2. Effektivitet: Normalmappning är en beräkningseffektiv teknik, i synnerhet jämfört med ett högre antal polygoner för att uppnå ytdetaljer.
3. Lägre minneskrav: Normalmappningar lagrar information i texturformat, vilket vanligen använder mindre mängd minne jämfört med om man ska lagra geometriinformation.
4. Återanvändbarhet: Normalmappningar kan enkelt tillämpas på olika modeller och innebär att konstnärer och utvecklare kan återanvända dem till flera olika resurser. Det sparar tid, ansträngning och slutstorlek på produkten.
5. Interaktiva ljuseffekter: Normalmappning förstärker interaktionen mellan ljuset och en modell, ger dynamiska 3D-ljuseffekter som spekulära högdagrar, skuggvariationer och mer korrekta speglingar.
1. Begränsad förändring av geometrin: Normalmappningar påverkar bara utseendet på ytdetaljer och kan inte ändra geometrin. Illusionen de skapar kan ofta vara användbara, även om andra tekniker ibland kan behövas när en faktisk modifiering av geometrin krävs.
2. Skapa och redigera: Det kan vara svårt att skapa högkvalitativa normalmappningar och det krävs specialkunskaper och -program. Det kan vara svårt att redigera normalmappningar på grund av den intrikata datanaturen.
3. Begränsat texturutrymme: Normalmappningar kräver ytterligare texturutrymme eftersom de vanligen lagras som RGB-bilder. Det kan påverka den totala minnesanvändningen och kräver i vissa fall noggrann optimering.
4. Begränsningar i tangentrum: Normalmappningar definieras vanligen i tangentrummet, vilket innebär att de beror på en modells visningsledd och UV-koordinater. Detta kan ibland leda till visuella artefakter när man tillämpar samma normalmappning på modeller med olika UV-layouter eller visningsledder.
Trots vissa begränsningar är normalmappningar den mest effektiva tekniken för att förbättra den visuella kvaliteten och realismen för 3D-modeller i realtid. Normalmappning ger en god balans mellan prestanda och visuell trohet, vilket gör det till ett ovärderligt verktyg för 3D-texturering och rendering.
Veta när du kan använda normalmappning.
Lär dig mer om normalmappning.
Frågor och svar
VAD ÄR EN NORMALMAPPNING INOM SPELDESIGN?
HUR MÅNGA KANALER FINNS FÖR EN NORMALMAPPNING?
Normalen skapas med en RGB-bild (röd, grön och blå) där respektive kanal i bilden representerar X, Y och Z för ytnormalens vektor på respektive mappningsnivå. Det innebär att en normalmappning har tre kanaler där var och en har positiva eller negativa värden.
- Den röda kanalen (R) motsvarar X-komponenten på ytnormalens vektor.
- Den gröna kanalen (G) motsvarar Y-komponenten på ytnormalens vektor.
- Den blå kanalen (B) motsvarar Z-komponenten på ytnormalens vektor.
Alla tre kanalerna används tillsammans för att tillhandahålla explicita orienteringsdata för alla nivåer, vilka används under rendering för att förbättra ljus och skuggeffekter på 3D-modellen.
VARFÖR HETER DET NORMALMAPPNING?
Inom datorgrafik avser ”normal” till en vektor som är vinkelrät (eller ”normal”) mot en yta vid en viss punkt. På så sätt refererar vi till normalmappningar som ”normalmappningar” eftersom de lagrar information om en 3D-modells ytnormaler.
Genom att lägga på en normalmappning under rendering modifieras ytnormalerna för 3D-modellen baserat på den information som lagras i mappningen, vilket resulterar i ljus- och skuggeffekter som skapar illusionen av intrikata ytdetaljer.