Wat is normaaltoewijzing?
Dankzij normaaltoewijzing hoeft niet elk detail van een 3D-model voor 3D-computergraphics te worden gemodelleerd of gevormd in de geometrie van het object. Deze techniek wordt gebruikt voor het creëren van denkbeeldige oppervlaktedetails om digitale objecten realistischer te maken zonder de geometrische complexiteit te verhogen.
Informatie over het proces voor normaaltoewijzing.
Bij 3D-modellering worden oppervlakken weergegeven met behulp van polygonen. Op basis van de geometrie van deze polygonen wordt de lichtval berekend op dezelfde manier als een kunstenaar shadingtechnieken gebruikt om driedimensionaliteit na te bootsen. Deze benadering werkt heel goed maar kan veel rekenkracht vereisen, wat de mogelijke hoeveelheid details kan beperken. Normaaltoewijzing biedt een geweldige lichtgewicht oplossing door de interactie van licht met een oppervlak aan te passen zonder de onderliggende geometrie te wijzigen.
In normaalafbeeldingen wordt informatie over een oppervlak opgeslagen in de vorm van een textuurafbeelding. Door de oppervlaktenormaal te coderen in een textuur, kunnen normaalafbeeldingen het uiterlijk van oppervlaktedetails nabootsen – bijvoorbeeld bobbels, krassen, rimpels en meer – zonder complexiteit toe te voegen aan de onderliggende geometrie.
Normaalafbeeldingen worden tijdens de rendering berekend met de gewijzigde oppervlaktenormaal van de normaalafbeelding. Omdat deze berekeningen minder rekenkracht vereisen, is een grote gedetailleerdheid mogelijk, zelfs in real-time. Daarom zijn normaalafbeeldingen een populaire techniek onder ontwikkelaars van videogames.
Waar normaaltoewijzing tegenwoordig wordt gebruikt.
Alles bij elkaar is normaaltoewijzing een veelzijdige techniek die elke 3D-kunstenaar en -ontwerper zou behoren te gebruiken om de workflow te versnellen en te verbeteren.
Je zult zien dat normaaltoewijzing niet alleen wordt benut in scenario's waarin hardwarebeperkingen van groot belang zijn zoals in videogames – waarbij scènes in real-time moeten worden gerenderd voor de gamer – maar ook voor films met computeranimaties, architectuurvisualisaties en productontwerpen.
Normaaltoewijzing heeft geen invloed op de kleuren van een object. Daarom wordt het voornamelijk gebruikt in situaties waarin het oppervlak van een object niet helemaal vlak of glad is. Feitelijk betekent dit dat vrijwel alle 3D-modellen baat hebben bij het gebruik van een normaalafbeelding om het realisme te verbeteren, van versleten leer, bultige houtnerven, menselijke huid, stof en meer.
Er zijn diverse essentiële tools en softwareapplicaties die veel worden gebruikt voor normaaltoewijzing. Hier worden enkele genoemd:
1. 3D-modelleringssoftware: Tools zoals Blender, Maya, ZBrush en {{substance-3d-modeler}} worden gebruikt voor het maken van modellen die worden benut voor normaaltoewijzing. Er zijn veel geweldige softwareoplossingen die allemaal een eigen aanpak voor modellering en sculpting bieden.
2. Textuurschildersoftware: Software zoals {{substance-3d-painter}} of zelfs Adobe Photoshop kan worden gebruikt om afbeeldingen te maken en te textureren, waaronder normaalafbeeldingen.
3. Generators voor normaalafbeeldingen: Software voor het genereren van normaalafbeeldingen is nuttig om normaalafbeeldingen te maken op basis van geometrieën met hoge resolutie of textuurinformatie. Tools zoals xNormal, CrazyBump of Substance 3D Designer kunnen normaalafbeeldingen genereren op basis van allerlei invoer.
4. Game-engines: Game-engines zoals Unreal Engine en Unity bieden ingebouwde ondersteuning voor normaaltoewijzing. Deze engines bieden de vereiste tools en renderingfunctionaliteit om normaalafbeeldingen te benutten. Ze zijn geweldig voor het maken van renders én voor het creëren van game-ervaringen.
5. Programmeertalen voor shaders: Kennis van programmeertalen voor shaders zoals HLSL (High-Level Shading Language) of GLSL (OpenGL Shading Language) kan nuttig zijn om aangepaste shaders te maken die normaaltoewijzing benutten. Met deze talen kunnen ontwikkelaars de interactie van licht met normaalafbeeldingen en andere textuurafbeeldingen definiëren om verbluffende visuele effecten te creëren.
Deze lijst is mogelijk niet uitputtend, maar vormt een uitstekend beginpunt voor makers om basisinzicht te krijgen in normaaltoewijzing en de wijze waarop dit wordt geïmplementeerd in omgevingen met real-time rendering.
Afbeeldingen van Playground Games.
Hoe normaalafbeeldingen verschillen van bumpafbeeldingen.
In normaalafbeeldingen wordt expliciete informatie over de oppervlaktenormaal opgeslagen met behulp van RGB-afbeeldingen waarvan elk kleurkanaal staat voor de X-, Y- en Z-component van de oppervlaktenormaalvector bij elke texel. Normaalafbeeldingen bevatten veel meer informatie over de oriëntatie van een oppervlak. Normaalafbeeldingen beïnvloeden de geometrie van het model zelf niet, maar veranderen wel de interactie van licht rondom het model.
In vergelijking met bumpafbeeldingen bieden normaalafbeeldingen de nauwkeurigste resultaten, omdat meer oppervlaktedetails dan alleen hoogtevariaties worden vastgelegd.
Voor- en nadelen van normaaltoewijzing.
1. Realistische oppervlaktedetails: Met normaaltoewijzing kunnen complexe oppervlaktedetails worden toegevoegd zonder de geometrische complexiteit te vergroten.
2. Efficiëntie: Normaaltoewijzing is efficiënt qua vereiste rekenkracht, vooral als het wordt vergeleken met het verhogen van het aantal polygonen om oppervlaktedetails toe te voegen.
3. Lager geheugengebruik: Bij normaalafbeeldingen wordt informatie opgeslagen in een textuurindeling, waarvoor doorgaans minder geheugen vereist is in vergelijking met het opslaan van geometrische informatie.
4. Herbruikbaarheid: Normaalafbeeldingen kunnen eenvoudig worden toegepast op verschillende modellen, zodat kunstenaars en ontwikkelaars ze kunnen hergebruiken voor verschillende assets. Dit bespaart tijd en moeite en vermindert de uiteindelijke grootte van een product.
5. Interactieve lichteffecten: Met normaaltoewijzing wordt de interactie van licht met een model verbeterd, wat dynamische 3D-lichteffecten mogelijk maakt, zoals lichtschitteringen, schaduwvariaties en nauwkeurigere reflecties.
1. Beperkte aanpassing van de geometrie: Normaalafbeeldingen beïnvloeden alleen het uiterlijk van oppervlaktedetails en kunnen de geometrie niet wijzigen. De illusie die wordt gecreëerd is vaak nuttig, maar soms zijn andere technieken nodig als de geometrie moet worden gewijzigd.
2. Maken en bewerken: Het maken van hoogwaardige normaalafbeeldingen kan moeilijk zijn en vereist gespecialiseerde kennis en software. Het bewerken van normaalafbeeldingen kan lastig zijn vanwege de complexe aard van de data.
3. Ruimtebeperkingen voor texturen: Normaalafbeeldingen hebben extra ruimte voor texturen nodig omdat ze doorgaans worden opgeslagen als RGB-afbeeldingen. Dit kan het totale geheugengebruik beïnvloeden en kan in bepaalde gevallen zorgvuldige optimalisatie vereisen.
4. Ruimtebeperkingen voor raaklijnen: Normaalafbeeldingen worden doorgaans gedefinieerd in de ruimte voor raaklijnen, wat betekent dat ze afhankelijk zijn van de oriëntatie en UV-coördinaten van een model. Dit veroorzaakt soms visuele artefacten bij het toepassen van dezelfde normaalafbeelding op modellen met andere UV-lay-outs of oriëntaties.
Ondanks bepaalde beperkingen zijn normaalafbeeldingen de effectiefste techniek om de visuele kwaliteit en het realisme van 3D-modellen in real-time te verbeteren. Normaaltoewijzing biedt een goed evenwicht tussen prestaties en visuele getrouwheid, zodat het een waardevolle tool is voor 3D-texturering en -rendering.
Wanneer normaaltoewijzing gebruiken.
Meer informatie over normaaltoewijzing.
Veelgestelde vragen
WAT IS EEN NORMAALAFBEELDING BIJ GAMEONTWERP?
HOEVEEL KANALEN HEEFT EEN NORMAALAFBEELDING?
Normalen worden gemaakt met een RGB-afbeelding (rood, groen en blauw) waarbij elk kleurkanaal in de afbeelding de X, Y en Z-component van de oppervlaktenormaal voorstelt bij elke texel van de afbeelding. Dit betekent dat een normaalafbeelding drie kanalen heeft, waarbij elk kanaal positieve of negatieve waarden bevat.
- Het rode kanaal (R) komt overeen met de X-component van de vector van de oppervlaktenormaal.
- Het groene kanaal (G) komt overeen met de Y-component van de vector van de oppervlaktenormaal.
- Het blauwe kanaal (B) komt overeen met de Z-component van de vector van de oppervlaktenormaal.
Alle drie kanalen worden gebruikt om expliciete oriëntatiedata voor elke texel te bieden, die bij het renderen wordt gebruikt om de licht- en schaduweffecten op het 3D-model te verbeteren.
WAAROM WORDT HET EEN NORMAALAFBEELDING GENOEMD?
Bij computergraphics verwijst “normaal” naar een vector die loodrecht (“normaal”) staat op een oppervlak op een specifiek punt. We noemen ze dus “normaalafbeeldingen” omdat ze informatie bevatten over de oppervlaktenormalen van een 3D-model.
Door een normaalafbeelding toe te passen tijdens het renderen, worden de oppervlaktenormalen van het 3D-model gewijzigd op basis van de informatie in de afbeelding. Dit resulteert in licht- en schaduweffecten waarmee de illusie van complexe oppervlaktedetails wordt gecreëerd.