Bump kartlegging og normal kartlegging er to forskjellige metoder for å gjøre det samme: å skape illusjonen av overflatestruktur til en visuell datamodell.
disse metodene er nyttige for å vite om du lager videospillkarakterer eller gjengir 3d-animasjoner.
Bump maps pålegge et gråtonebilde, så mørke flekker vises dypere og gir kontrast for lettere » humper.»Normale kart bruker EN RGB-skala for å utlede 3d-vektor normaler TIL 3D-overflaten. Dette triks gjengitt lys til å skape høydepunkter og skygger. Begge metodene forlater geometrien uendret.
Å Vite forskjellene mellom disse to teknikkene kan bidra til å bestemme hvilken som er bedre egnet for applikasjonen ved hånden. Les videre for å lære mer om begge, slik at du kan legge dem til i posen med triks.
Hovedforskjellen Er Belysning
målet med begge disse kartene er å gi en overflate illusjonen av tekstur på en overflate som ikke har tekstur. Dette er gunstig for videospill fordi det betyr at modellens nett ikke trenger å være så fint at det fysisk fanger alle de små detaljene som et forskyvningskart.
kartet skaper denne illusjonen ved å forvrenge måten det gjengitte lyset interagerer med en overflate. Dette er også hvor bump kartet kan bli begrensende, avhengig av hvilket detaljnivå du prøver å oppnå.
- et bumpkart forteller gjengiveren hvilke områder av en overflate som er lysere og hvilke områder som er mørkere, uansett lyskildens retning.
- et normalt kart relaterer kunstige overflatenormaler til resten AV 3d-rommet og dikterer matematisk hvordan tekstur interagerer med den gjengitte lyskilden.
så resultatet i begge tilfeller er at en geometrisk jevn form ser ut til å ha en svært detaljert overflatestruktur. Imidlertid begynner bump-kartet å falle når det teksturerte objektet ses fra forskjellige vinkler. Den oppfattede tekstur vil sannsynligvis ikke samhandle med miljølyset på en troverdig måte.
for å forstå dette mer, la oss ta en titt på hvordan hver metode går om gjengivelse tekstur.
Et Bump-Kart Bruker Et Sett Gråtoner For Å Manipulere Høyde
hvis du skulle lage et bump-kart eller bare se på et, vil du se et svart-hvitt bilde. Det er ikke noe mer til det. I hovedsak bruker kartet denne gråtoner for å fortelle gjengivelsesmotoren hvilke flekker som er lyse og hvilke flekker som er mørke.
- Svarte områder på kartet indikerer mørke eller» nedsunket «steder på overflaten
- Hvite områder på kartet indikerer uthevede eller» utstikkende ut » steder på overflaten
- Og hver gråton i mellom virker tilsvarende.
de fleste gjengivelsesmotorer gjør dette ved å knytte gråtonen til overflatens normale vektor. Siden de normale vektorene er hvordan gjengivelsesmotoren » ser » overflaten, er dette en måte å lure den til å gjengi tekstur på en faktisk jevn overflate.
forholdet mellom gråtoner og overflate normal er som sådan:
- Svart = tangent til overflate
- Hvit = normal til overflate
og hvilken som helst gråton mellom endrer vinkelen til normalvektoren. Dette er greit fordi det gjør at gråtonebildet kan fungere som en oversetter mellom den menneskelige spilldesigneren, som ser et bilde i svart & hvitt, og gjengivelsesmotoren, som ser et bilde når det gjelder overflatenormaler.
nå, som nevnt tidligere, er det en mangel på denne metoden som gjelder belysning. Bump kartet angir en fast overflate normalfordeling. Med andre ord skaper det bare lokale lyseffekter. Det vil bare fortelle gjengivelsesmotoren hvilke områder av overflaten som er mørkere enn andre i forhold til seg selv.
så gir bump-kartet ikke gjengivelsesmotoren nok til å vurdere hvor den globale lyskilden kommer fra i forhold til detaljene på en overflate. Dette kan føre til en situasjon der skyggene på en overflate faktisk vender mot lyskilden, og høydepunktene er der du forventer at skyggene skal være.
hvis sluttbrukeren ser skygger der øyet forventer høylys, kan de finne grafikken mindre troverdig. Dette betyr ikke at bump maps er helt foreldet, skjønt. De kan brukes alene eller sammen med andre kart for å virkelig forbedre den generelle gjengivelsen. Vi kommer inn i noen beste praksis i litt, men først litt på normale kart og hvordan de samhandler med belysning.
Et Vanlig Kart Bruker RGB Til Å Manipulere Lys
som vi har antydet, har normale kart muligheten til å bedre innlemme global belysning i den oppfattede overflatestrukturen til et objekt.
de gjør Dette ved å gi gjengivelsesmotoren et tredje stykke informasjon eller fargekanal som skal brukes. I kontrast gir et bump kart teknisk bare to fargekanaler å bruke; svart eller hvitt. Normal kartlegging bruker RGB – fargeskalaen til å beregne en overflatenormal fra tre komponentvektorer i stedet for to. RGB, i dette tilfellet, betyr:
- Rød
- Grønn
- Blå
for å forstå dette bedre uten å gi en avhandling om lineær algebra, la oss raskt gå tilbake til å tenke på bump kart for et sekund. Gråtonen er i hovedsak lik vinkelen til en vektor i forhold til overflaten selv. Den vektoren består av to komponentvektorer i kartesisk objektrom, en på tangentaksen (svart) og en på normalaksen (hvit).
jo nærmere fargen er svart på et bestemt sted, desto lavere er vinkelen mellom den normale vektoren og overflaten selv. Omvendt, jo nærmere hvitt bildet er, jo nærmere ortogonale er den normale vektoren.
men hvis VI opererer I 3D-rom, hva med den tredje dimensjonen? Det er her normale kart kommer INN MED RGB i stedet for gråtoner. Som bump-kartet har et normalt kart en tangentakse og en normal akse, men det introduserer også bitangentaksen. Og siden det er en tredje akse, må det være en tredje farge for å representere den. Tabellen nedenfor illustrerer hvordan hvert kart oversetter farger til vektorer.
Vector Axis | Bump Kart Farge Oversettelse | Normal Kart Farge Oversettelse |
Normal | Hvit | Blå |
Tangent | Svart | Rød |
Bitangent | N/A | Grønn |
nøkkelen til å forstå her er at det normale kartet har evnen til å definere overflatenormaler I 3D global plass fordi det er tre vektorkomponenter som utgjør sa normalt. Hver av komponentene kan relateres til de globale X -, Y-og Z-komponentene i det kartesiske verdensrommet der en lyskilde er fast.
et bump-kart kan ikke gjøre dette fordi det ikke er noen tredje komponent som relaterer det normale til det globale kartesiske rommet. Dette er grunnen til at du kan ende opp med høydepunkter der du forventer skygger med bump mapping.
de tre vektorkomponentene i et normalt kart utgjør et kartesisk system, noe som betyr at de alle er ortogonale til hverandre. Koordinatsystemet kan imidlertid fortsatt være orientert i en uendelig mengde retninger og må begrenses på en eller annen måte slik at kartet gir mening.
dette gjøres ved å orientere vektorkomponentene til teksturkoordinatene til kartet. De fleste rendering og 3d-modellering programvare vil gjøre dette i bakgrunnen for deg, skjønt, så ingen svette hvis du ikke var oppmerksom på lineær algebra klasse. Det er vanligvis 3 forskjellige retninger å velge mellom:
- Tangentrom
- Objektrom
- verdensrom
Hver av disse har sine fordeler og ulemper, avhengig av objektets anvendelse. Vi kommer inn på disse senere.
Uansett hvilken retning som brukes, er det et viktig skritt fordi det gjør det mulig for gjengivelsesmotoren å beregne overflatenormaler på en måte som de alle jevnt forholder seg til hverandre. Resultatet er en oppfattet overflatestruktur som reagerer jevnt på den globale lyskilden.
Så det er den store forskjellen. Begge kartene påvirker belysningen på en overflate, men de gjør det på forskjellige måter. Det normale kartet utmerker seg i sin evne til å forholde en overflatestruktur TIL 3D-rommet der den ligger. Dette vil til slutt gi mer troverdige gjengivelser, selv om det ikke er uvanlig å bruke bump kart og normale kart sammen for å skape svært detaljerte overflater.
igjen, ingen av disse metodene endrer FAKTISK 3d-geometrien til den underliggende overflaten.
Et Raskt Notat Om Normal Kartretning
siden normale kart bestemmer vinkelen som lyset reflekterer av en overflate, er det viktig å vurdere hvordan kartet selv er orientert med forhold til objektet det brukes på.
Tangentrom Er Mest Vanlig
når et normalt kart er orientert i tangentrom, lagres teksturnormalene i forhold til geometriens normale. Dette er vanligvis den mest allsidige fordi det tillater objektet å bevege seg og deformere i rommet mens effekten av tekstur holdes intakt. Dette er spesielt nyttig når teksturering ting som:
- et tegns hud
- Bevegelige tekstiler
- Objekter som beveger seg rundt og samhandler med brukeren
Bunnlinjen; bruk dette hvis objektet du teksturerer vil bevege seg rundt i rommet med brukeren.
Objektplass Skaper Høyere Kvalitet På Bekostning Av Allsidighet
et normalt kart orientert i objektplass beregner sine normaler i forhold til objektet som helhet. Objektet kan fortsatt bevege seg, men hvis overflatene deformeres, kan det være problemer med det normale. Kartene er vanligvis skreddersydd for objektet de blir brukt på, noe som fører til skarpere detaljer og bedre utjevning.
dette gjør det vanskelig å gjenbruke eller fliser kartet på andre overflater, skjønt. Teksturkoordinater kan heller ikke speiles. Så, modellering tekstur på symmetriske objekter vil være to ganger arbeidet.
Verdensrom Skaper Et Helt Fast Kart
et normalt kart orientert i verdensrom er fast på plass i forhold til de globale 3d-koordinatene. Dette betyr at objektet det brukes på, skal forbli stasjonært; ellers vil det «glide ut» fra under kartet hvis det flyttes.
Dette er bra for å skape høye detaljnivåer på store, stasjonære objekter i et miljø.
Hvilket Kart Har En Bedre Gjengivelseshastighet?
mens gjengivelseshastigheten er sterkt avhengig av selve gjengivelsesmotoren, tar bumpkart og normale kart opp forskjellige mengder minne.
vanligvis er normale kart raskere å gjengi enn bump-kart.
forskjellen er ikke drastisk, men den er der. Normale kart litt kant ut bump kart fordi de ikke krever flere teksturprøver som bump kart gjør.
Hva Slags Kart Skal Jeg Bruke?
som med alt, er det ingen enstemmig konsensus om at et av disse kartene er bedre enn det andre. Bump kart og normale kart begge har fordeler i ulike applikasjoner. La oss utforske noen av disse.
Beste Bruksområder For Normal Kartlegging
vi har allerede berørt noen av disse når vi diskuterer de forskjellige normale kartretninger. Generelt sett er normale kart den mest allsidige løsningen når du trenger en tekstur som reagerer godt på bevegelse. Dette kan gjelde for omtrent alt:
- Tegn
- Våpen / verktøy / objekter
- Kjøretøy
- Tekstiler
- Løvverk
Normale kart er også nyttige for å bringe detaljer inn i deler av miljøet som forventes å bli sett på nært hold.
- Vegger
- Gangveier
- Skilting
Normale kart er ekstremt allsidige, spesielt med tangentplassorientering. De vikler også rundt kanter for å skape en gunstig beveling effekt, noe som bump maps ikke kan gjøre. Dette myker ellers skarpe kanter på et objekt som ikke skal synes å ha skarpe kanter, og dermed gjøre bildet mer troverdig.
Dette oppnår ikke samme detaljnivå som et forskyvningskart (som vi kort berører på slutten av denne artikkelen), men det skaper i det minste illusjonen av avrundede kanter på ting som:
- Dørhåndtak
- Våpenhåndtak
- vegghjørner
denne subtile effekten kan ikke oppnås med et bump-kart.
Beste Bruksområder For Bump Kartlegging
Bump kart er best brukt for bakgrunnsflater eller relativt små objekter. Tenk miljøegenskaper som skal oppfattes i det fjerne.
- Operasjonsrom
- Landskap
- Bylandskap
siden bumpkart ikke gjør så godt som vanlige kart på bevegelige objekter, er de lett anvendelige for en scenes bakteppe eller midd detaljnivå aspekter. Siden de er enklere å lage og ikke krever så mye vektorberegning, er de alternativet for lavere innsats.
men når den brukes på deler av et miljø som ikke vil være under så mye gransking, bump kart gi mest igjen for din velkjente buck.
De Kan Brukes Sammen, Også
ikke glem at bump kart og normale kart kan legges lagvis over hverandre for å skape enda mer dybde på detaljer til gjengivelsen.
som med alle teksturkart, kan du lagre så mange eller så få som du vil for å oppnå ønsket detaljnivå.
- Bump maps juster oppfattet høyde på en overflate i forhold til seg selv
- Normale kart juster oppfattet vinkel som lyset reflekterer av overflaten
Kombiner disse to for å balansere fordelene med både høyde og vinkel manipulering av overflaten.
For Å Oppsummere Det.
forskjellen mellom et bump kart og et normalt kart er hvordan hver manipulerer en overflate for å samhandle med lys. Bump maps fungerer i «to dimensjoner» ved hjelp av en gråtoner for å kunstig flytte deler av en overflate opp eller ned. Flytte opp betyr lysere, og flytte ned betyr mørkere.
Normale kart fungerer i «tre dimensjoner» ved å bruke røde, grønne og blå fargekanaler for å kunstig manipulere retningen som lyset reflekterer av en overflate.
kartene kan brukes sammen eller individuelt, og verken teksturkart endrer faktisk geometrien til overflaten. Mens normale kart kan vikle rundt kantene for å skape en skrå effekt, mangler begge disse kartene evnen til å produsere illusjonen av tekstur langs en kant.
Bonus: Hva Med Forskyvningskart?
hvis du trenger å gjengi kantene på en overflate slik at silhuetten av objektet samsvarer med teksturen, vil ikke et bump-kart eller et normalt kart klippe det ut.
fordelen med bump kart og normale kart er at de skaper en illusjon av tekstur uten faktisk å endre mesh av overflaten. Dette betyr at modellstørrelsen kan forbli liten, og gjengivelsestiden er fortsatt ganske rask. Men dette begrenser mengden detaljer på objektkanter.
dette er hvor forskyvningskart kommer inn. Tenk på et eksempel på en murvegg. Mursteinene stikker ut i forhold til mørtelen som holder dem sammen. Så, hvis du så rundt kanten av dette hjørnet, ville det ikke virke som en rett linje, mursteinene ville stikke ut, og mørtelen ville trekke seg tilbake.
verken normale kart eller bump kart kan oppnå denne illusjonen, og det ville bare være en kjedelig oppgave å sitte der og faktisk modellere alle disse mursteinene. For ikke å nevne, det ville gjøre DIN 3D-modell ganske clunky.
det er her forskyvningskartlegging kommer inn. Det, som et bump kart, justerer høyden på en overflate. Men i stedet for å manipulere belysningen, manipulerer den den faktiske formen på objektet når det gjengis. På grunn av dette krever det mer gjengivelsestid og et mye finere nett på overflaten. For eksempel må den større overflaten brytes ned i hundrevis, mer sannsynlig tusenvis av individuelle overflater.
dette er verdt det skjønt, hvis gjengivelsesmotoren er kraftig nok og detaljene er nødvendig.
nedenfor er noen nyttige videoer for å vise disse konseptene visuelt:
Bump mapping: