Čo je normálové mapovanie?
Vďaka normálovému mapovaniu nie je v 3D počítačovej grafike potrebné modelovať či tvarovať každý detail 3D modelu v geometrii objektu. Tento postup sa používa na vytváranie iluzórnych povrchových detailov na vylepšenie realistického vyobrazenia digitálnych predmetov bez zvyšovania geometrickej náročnosti.
Pochopenie procesu normálového mapovania
Pri 3D modelovaní sú povrchy vyobrazené v podobe mnohouholníkov. Osvetlenie sa vypočítava na základe geometrie týchto mnohouholníkov rovnakým spôsobom, ako by umelec použil techniky tieňovania na napodobnenie troch rozmerov. Tento postup naozaj funguje, jeho výpočtová náročnosť však môže byť veľmi vysoká, čo obmedzuje celkovú mieru prípadnej detailnosti. Normálové mapovanie poskytuje skvelé a šikovné riešenie tým, že upravuje spôsob interakcie svetla s povrchom bez potreby zmeny základnej geometrie.
Normálové mapy uchovávajú informácie o povrchu vo forme obrázku textúry. Zakódovaním normály povrchu do textúry dokážu normálové mapy simulovať vzhľad detailov povrchu, ako sú nerovnosti, škrabance, vrásky a ďalšie drobnosti, pričom sa nezvýši zložitosť geometrie pod nimi.
Normálové mapy sa počas vykresľovania vypočítajú pomocou upravenej normály povrchu z normálovej mapy. Keďže tieto výpočty sú menej náročné na výpočtovú výkonnosť, je možné dosahovať vysokú úroveň detailov, a to aj v reálnom čase, vďaka čomu sú normálové mapy obľúbenou technikou používanou vývojármi videohier.
Kde dnes nájdeme normálové mapovanie
Celkovo je normálové mapovanie všestrannou technikou, ktorú by mal používať každý 3D umelec a dizajnér na urýchľovanie a zlepšovanie svojich pracovných postupov.
Normálové mapovanie sa používa nielen v situáciách, keď sú hardvérové obmedzenia mimoriadne dôležité, napríklad pri videohrách, ktoré vyžadujú vykresľovanie scén v reálnom čase pre hráčov, ale aj v počítačovo animovaných filmoch, architektonickej vizualizácii a dizajne produktov.
Normálové mapovanie neovplyvňuje farebnosť objektu, takže sa najčastejšie používa v prípadoch, keď povrch objektu nie je dokonale rovný ani hladký. To však popravde znamená, že takmer každý 3D model by mohol používať normálovú mapu na zlepšenie reálnosti, či už opotrebovanej kože, hrboľatého dreva, ľudskej pokožky, látky alebo iných detailov.
Existuje niekoľko základných nástrojov a softvérov, ktoré sa na normálové mapovanie bežne používajú. Medzi ne patrí:
1. Softvér na 3D modelovanie: Pomocou nástrojov ako Blender, Maya, ZBrush a {{substance-3d-modeler}} sa vytvárajú modely, ktoré sa použijú na normálové mapovanie. Existuje množstvo výborných softvérov a každý z nich sa vyznačuje osobitým prístupom k modelovaniu a tvarovaniu.
2. Softvér na maľovanie textúr: Na tvorbu a úpravu textúrových máp vrátane normálových máp môžete používať softvéry ako {{substance-3d-painter}} alebo aj Adobe Photoshop.
3. Generátory normálových máp: Softvéry na generovanie normálových máp pomáhajú vytvárať takéto mapy z geometrických útvarov s vysokým rozlíšením alebo informácií o textúrach. Nástroje ako xNormal, CrazyBump alebo Substance 3D Designer dokážu generovať normálové mapy na základe rôznych vstupov.
4. Herné enginy: Herné enginy, ako napríklad Unreal Engine a Unity, majú zabudovanú podporu pre normálové mapovanie. Tieto enginy poskytujú nástroje a možnosti vykresľovania, ktoré sú potrebné na to, aby sa normálové mapy dali využívať na maximum. Rovnako sa hodia na vykresľovanie, ako aj na tvorbu hier.
5. Programovacie jazyky shaderov: Znalosť programovacích jazykov shaderov, ako je HLSL (High-Level Shading Language) alebo GLSL (OpenGL Shading Language), sa môže zísť pri vytváraní vlastných shaderov, ktoré využívajú normálové mapovanie. Tieto jazyky umožňujú vývojárom určovať interakciu osvetlenia s normálovými a inými textúrovými mapami, aby dosahovali pútavé vizuálne efekty.
Tento zoznam nemusí byť úplný, tvorcom však ukazuje, kde môžu začať získavať základné poznatky o normálovom mapovaní a o tom, ako ich implementovať v prostrediach vykresľovania v reálnom čase.
Zdroj: Playground Images
Ako sa normálové mapy líšia od bump máp
Normálové mapy ukladajú explicitné informácie o normálach povrchu pomocou obrázkov RGB, pričom každý farebný kanál predstavuje zložky X, Y a Z normálového vektora povrchu v každej jednotke textúry. Normálové mapy zachytávajú oveľa viac informácií o orientácii povrchu. Normálové mapy neovplyvňujú geometriu samotného modelu, ale upravujú interakciu svetla v jeho okolí.
V porovnaní s bump mapami poskytujú presnejšie výsledky, pretože zachytávajú aj iné detaily povrchu ako len výškové rozdiely.
Plusy a mínusy normálového mapovania
1. Realistické detaily povrchu: Normálové mapovanie umožňuje dopĺňať prepracované povrchové detaily bez zvyšovania geometrickej zložitosti.
2. Efektívnosť: Normálové mapovanie je z výpočtového hľadiska efektívnou technikou, najmä v porovnaní so zvyšovaním počtu mnohouholníkov modelov na získanie detailov povrchu.
3. Menšie požiadavky na pamäť: Normálové mapy ukladajú informácie vo formáte textúry, čo zvyčajne zaberá menej pamäte ako ukladanie geometrických údajov.
4. Opätovná použiteľnosť: Normálové mapy sa dajú ľahko aplikovať na rôzne modely, čo umožňuje umelcom a vývojárom opakovane ich používať vo viacerých dátových zdrojoch. Šetrí to čas, energiu a konečnú veľkosť produktu.
5. Efekty interaktívneho osvetlenia: Normálové mapovanie zlepšuje interakciu svetla s modelom. To podporuje efekty dynamického 3D osvetlenia, ako sú zrkadlové odlesky, tieňované výškové rozdiely a presnejšie odrazy.
1. Obmedzená úprava geometrie: Normálové mapy majú vplyv len na vzhľad povrchových detailov a nevedia zmeniť geometriu. Ilúzia, ktorú vytvárajú, je často užitočná, hoci niekedy môžu byť potrebné iné techniky, napríklad ak je potrebné skutočne upraviť geometriu.
2. Tvorba a úpravy: Tvorba kvalitných normálových máp môže byť náročná a môže si vyžadovať špecifické vedomosti a softvér. Úprava normálových máp môže byť tiež náročná vzhľadom na zložitý charakter údajov.
3. Obmedzenia priestoru pre textúry: Normálové mapy si vyžadujú dodatočný priestor pre textúry, keďže tie sú zvyčajne uložené vo forme obrázkov RGB. Môže to mať vplyv na celkové využitie pamäte a v niektorých prípadoch si môže vyžadovať dôkladnú optimalizáciu.
4. Obmedzenie styčného priestoru: Normálové mapy sú zvyčajne definované v styčnom priestore, čo znamená, že závisia od orientácie modelu a UV súradníc. Pri aplikovaní rovnakej normálovej mapy na modely s rôznym rozložením alebo orientáciou UV to niekedy môže spôsobiť vizuálne anomálie.
Napriek niektorým obmedzeniam sú normálové mapy najefektívnejšou technikou na zlepšenie vizuálnej kvality a reálnosti 3D modelov v reálnom čase. Normálové mapovanie ponúka primeranú rovnováhu medzi výkonom a vizuálnou vernosťou, čo z neho robí neoceniteľný nástroj pri 3D textúrovaní a vykresľovaní.
Kedy používať normálové mapovanie
Prečítajte si viac o normálovom mapovaní
Najčastejšie otázky
ČO JE NORMÁLOVÁ MAPA V DIZAJNE HIER?
KOĽKO KANÁLOV SA NACHÁDZA NA NORMÁLOVEJ MAPE?
Normály sú tvorené pomocou obrázkov RGB (red – červená, green – zelená a blue – modrá), pričom každý farebný kanál na obrázku predstavuje zložky X, Y a Z normálového vektora povrchu v každej jednotke textúry. To znamená, že normálová mapa má tri kanály a každý z nich obsahuje kladné alebo záporné hodnoty.
- Červený kanál (R) zodpovedá zložke X normálového vektora povrchu.
- Zelený kanál (G) zodpovedá zložke Y normálového vektora povrchu.
- Modrý kanál (B) zodpovedá zložke Z normálového vektora povrchu.
Všetky tri kanály sa používajú spoločne, aby poskytli explicitné orientačné údaje pre každú jednotku textúry, ktorá sa použije počas vykresľovania na zlepšenie efektov osvetlenia a tieňovania 3D modelu.
PREČO SA TO NAZÝVA NORMÁLOVÁ MAPA?
V počítačovej grafike normála znamená vektor, ktorý je v určitom bode kolmý (alebo normálový) na povrch. Normálové mapy teda označujeme ako normálové mapy, pretože uchovávajú informácie o normálach povrchu 3D modelu.
Aplikovaním normálovej mapy počas vykresľovania sa normály povrchu 3D modelu upravia na základe informácií uložených v mape. Výsledkom sú efekty osvetlenia a tieňovania, ktoré vytvárajú ilúziu prepracovaných detailov povrchu.