https://main--cc--adobecom.hlx.page/cc-shared/fragments/merch/products/substance3d/sticky-banner/default

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.

Normal mapping process to create 3D textures
Bilder av Playground Games.
Normal mapping software generated leafs for 3D design

Hur skiljer sig normalmappningar från bumpmappningar?

Normalmappningar och bumpmappningar är tekniker som liknar varandra och används för att addera ytdetaljer på 3D-modeller. De skiljer sig i hur de representerar och manipulerar ytnormalen. Här får du veta allt du behöver om skillnaderna.
Så här fungerar bumpmappning.
Bumpmappning refereras också till som höjdmappning eller förskjutningsmappning. De lagras höjdinformation som representerar variationer i en yta. De använder sig av gråskalebilder där ljusare eller mörkare värden anger högre eller lägre områden på ytan. Bumpmappningar ändrar geometrin på en modell vid rendering genom att störa ytnormalen baserat på dessa gråskalevärden. Medan tekniken skapar illusionen av ytdetaljer när ljuset interagerar med modellen under rendering lagrar bumpmappningar inte ytnormaler alls, utan enbart höjdinformation.
Så här fungerar normalmappning.

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.

Sammanfattningsvis ger normalmappning flera fördelar och några potentiella nackdelar. Här följer några för- och nackdelar med normalmappning:
Fördelar 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.

Nackdelar med normalmappning

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.

Det är aldrig någon nackdel att använda normalmappning men ibland kan en konstnär vilja avstå från att använda mappningar och istället skulptera de finare detaljerna direkt i modellens geometri. Det går extra lätt om man använder ett 3D-skulpteringsprogram som Substance 3D Modeler. Å andra sidan, när det krävs rendering i realtid är normalmappningar nödvändiga för att hålla nere antalet polygoner i en scen samtidigt som den höga visuella troheten bibehålls.

Lär dig mer om normalmappning.

Kom ihåg att precis som med alla aspekter av 3D är det avgörande att öva för att bemästra normalmappningsteknikerna. Tveka inte att experimentera med olika program. Lägg till normalmappningar i dina egna modeller och observera de visuella effekterna och hur de beter sig. Du lär dig snabbt hur du uppnår enastående resultat samtidigt som du sparar datorminne och också skapandetid i processen.

Frågor och svar

VAD ÄR EN NORMALMAPPNING INOM SPELDESIGN?

En normalmappning är en typ av texturmappning som lagrar ytnormalinformation i en RGB-bild. Den används för att ändra hur ljuset interagerar med en modells yta utan att geometrin i modellen förändras. Normalmappning är särskilt användbart inom 3D-speldesign, eftersom videospel kräver rendering i realtid och normalmappningar är mycket effektivare för modellering av minsta lilla detalj på modellens yta.

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.

https://main--cc--adobecom.hlx.page/cc-shared/fragments/products/substance3d/bottom-blade-cta-s3d-collection