Gamedev Woordenlijst Wat is een Normale kaart?

In dit artikel zal ik uitleggen wat een normale kaart is en waarom normale mapping een belangrijke en nuttige techniek is voor elke 3D-gameontwikkelaar. Ik zal ook enkele voorbeelden en enkele geweldige hulpmiddelen voor het genereren van deze delen.

Wat is een normale kaart?

Een 2D textuur kaart is een afbeelding toegevoegd aan een 3D-model dat een hoger detailniveau biedt, omwikkelt met elke 3D-afbeelding die u moet toepassen of die bepaalde kenmerken moet aanpassen, zoals kleur, transparantie, glans, reflectie en hoger detail.

Een van de meest waardevolle kaarten voor een 3D-artiest is de normale kaart. In plaats van een kleurbereik van zwart naar wit te hebben, zoals een kaart met bobbels gebruikt, bestaan ​​normale kaarten uit rood, groen en blauw. Deze RGB-waarden vertalen zich in x-, y- en z-coördinaten, waardoor een 2D-beeld diepte kan weergeven. Op deze manier kan een 3D-toepassing verlichtingsdetails vervalsen op basis van de kleur die is gekoppeld aan de 3D-coördinaat.

Hier is een voorbeeld van hoe een normale kaart eruitziet als een 2D-afbeelding, zonder toegepast op een 3D-model:

Waarom een ​​normale kaart gebruiken?

Geheugenconservering

Bij het maken van 3D-kunstitems voor videogames hebt u een zogenaamde "Poly Limit" of "Poly Budget", die in wezen beperken hoe complex uw 3D-modellen kunnen zijn.

Polybudgetten zijn vereist om je 3D-spel op een relatief kleine bestandsgrootte te houden; complexe 3D-modellen kunnen heel veel ruimte innemen. Met normale kaarten kunt u uw bestandsgrootte binnen uw budget houden, terwijl u nog steeds over de juiste items beschikt kijken zoals complexe 3D-modellen met het soort detail dat u wilt.

Het 3D-model van dit item is bijvoorbeeld een heel eenvoudige kubus, maar door de normale kaart van boven toe op te tellen, lijkt het een veel complexere vorm:

De bouten en de woorden "Normale kaarten" lijken niet eenvoudigweg op een plat oppervlak te worden geschilderd.

Realisme

Normale kaarten worden gebruikt om een ​​type detail te verkrijgen dat u normaal gesproken moeilijk zou hebben in een eenvoudige 3D-toepassing (Maya, 3Ds Max, Cinema 4D). Er zijn veel soorten programma's die normale kaarten maken, maar ze bieden allemaal meer details.

Normale kaarten worden beïnvloed door de belichting van de scène, dus het is gemakkelijk om in detail te snijden waar u het nodig hebt. Dit kan worden gebruikt om rimpels op een gezicht aan te brengen of om bouten en krassen op een metalen voorwerp toe te voegen, zoals in het bovenstaande voorbeeld.

Hoog poly tot laag poly

High-polygoon (dat wil zeggen, zeer complexe) 3D-modellen hebben meestal veel details, maar kunnen veel geheugen verbruiken. Wat kunstenaars meestal doen, is gebruik maken van low-polygon-modellen en normals toepassen om de details te verbeteren; hierdoor kan de bestandsgrootte relatief klein blijven.

Hoogpolymodellen kunnen zelfs worden omgezet naar een normale kaart, die kan worden gebruikt voor de low-poly-versie. Dit gebeurt vaak wanneer gokbedrijven zeer gedetailleerde karakters maken en zoveel mogelijk detail willen bewaren.

In dit voorbeeld ziet u het proces van het converteren van een hi-poly-model naar een low-poly-model met een normale kaart. Let tijdens het doornemen van de afbeeldingen op het aantal polygonen in elke afbeelding.


Origineel high-poly model.
Laag-polymodel.
Laag-polymodel met normale kaart (gegenereerd op basis van hoogpolymeer) toegepast.

Tijd efficientie

Het gebruik van normale kaarten kan u veel tijd besparen, afhankelijk van het type project waaraan u werkt. In het voorbeeld met de doos, was alles wat ik deed een 2D-normale kaart genereren en deze op de doos slaan. Als ik elk object voor datzelfde project zou maken, zou het langer duren.

Als er meer 3D-objecten in de scène staan, kost dit meer geheugen. Nu, voor meer organische dingen zoals karakters kan ik niet zeggen dat het de tijd die wordt besteed sterk verkort, maar voor objecten met harde oppervlakken helpt het echt. U hebt ook meer flexibiliteit om nieuwe dingen uit te proberen als u minder tijd aan items besteedt.

Industriestandaard

Als je een spel met veel detail ziet, kan ik bijna garanderen dat ze een normale kaart gebruiken.

Eerder heb ik al gezegd hoe veel structuurkaarten worden gebruikt bij het maken van 3D-items, met als meest waardevolle de kleurenkaart en de normale kaart. Omdat mensen constant dingen willen die er beter en beter uitzien, hebben ze uiteindelijk meer details nodig. Dit is misschien niet van toepassing op games die meer cartoonachtig zijn en technieken zoals celschaduw gebruiken, maar je kunt er zeker van zijn dat AAA-titelspellen deze gebruiken.

Hoe maak ik een normale kaart?

Er zijn verschillende hulpmiddelen die u kunt gebruiken om een ​​normale kaart te maken of te genereren:

CrazyBump

CrazyBump genereert normale kaarten van foto's, hoogtekaarten (die grijswaarden zijn) of zelfs andere normale kaarten. Met CrazyBump kunt u uw normalen aanpassen om meer of minder details van het referentiebeeld te tonen.

xNormal

xNormal genereert normale kaarten van een high-poly en low-poly 3D-model. Dit is echt geweldig als je wilt starten in een 3D-modelleertoepassing zoals Zbrush, maar toch wilt dat je model binnen je polybudget blijft.

Ik heb xNormal gebruikt om de normale kaart voor het bovenstaande 3D-teken te genereren.

nDo2

nDo2 is een Photoshop-plug-in waarmee u normaal kunt genereren met behulp van selecties en andere functies. Het bevat dezelfde functionaliteit als CrazyBump, met de extra flexibiliteit van de gereedschappen van Photoshop.

Ik heb nDo2 gebruikt om de doos met de bouten te maken.

Photoshop

Photoshop kan worden gebruikt om handmatig een normale kaart te schilderen met verschillende kleurkanalen (R, G, B).

Deze techniek is heel moeilijk vanaf nul te doen, dus kunstenaars gebruiken over het algemeen alleen Photoshop voor het bijwerken van een kaart die door een ander programma is gegenereerd. Als er willekeurige artefacten zijn bij het genereren van uw normalen, kunt u Photoshop gebruiken om de problemen handmatig te bewerken.

Dit is de reden waarom ik Photoshop niet gebruik om normaal te schilderen:

Bedankt voor het lezen van dit bericht op de normale kaarten! Ik hoop dat je veel hebt geleerd en plezier hebt gehad.