Какво е картографиране на нормалите?
В 3D компютърната графика не всеки детайл от даден 3D модел трябва да бъде моделиран или скулптиран в геометрията на обекта, благодарение на картографирането на нормалите. Тази техника се използва за създаване на илюзорни детайли на повърхността, за да се подобри реалистичността на цифровите обекти, без да се увеличава геометричната сложност.

Разбиране на процеса на картографиране на нормалите.
В 3D моделирането повърхностите се представят чрез многоъгълници. Изчисленията на осветлението се извършват въз основа на геометрията на тези многоъгълници по същия начин, по който един художник би използвал техники за шейдинг, за да имитира три измерения. Този подход работи много добре; въпреки това той може да изисква голямо количество изчисления, което ограничава възможното общо ниво на детайлност. Картографирането на нормалите предоставя отлично, лесно решение, като променя начина, по който светлината взаимодейства с повърхността, без да променя основната геометрия.
Картите на нормалите съхраняват информация за повърхност под формата на изображение на текстурата. Чрез кодиране на нормала на повърхност в текстура, картите на нормалите могат да симулират вида на повърхностни детайли, като издатини, драскотини, бръчки и други, без да добавят сложност към геометрията отдолу.
Картите на нормалите се изчисляват по време на рендиране, като се използва модифицираната нормала на повърхността от картата на нормалите. Тъй като тези изчисления не са толкова много, могат да бъдат постигнати високи нива на детайлност, дори в реално време, което прави картите на нормалите популярна техника, използвана от разработчиците на видео игри.
Къде виждаме картографиране на нормалите днес.
Като цяло картографирането на нормалите е универсална техника и трябва да се използва от всеки 3D художник и дизайнер, който иска да ускори и подобри работния си процес.
Ще видите употребата на картографиране на нормалите не само в сценарии, в които хардуерните ограничения са изключително важни, като например видео игри, които изискват сцените да бъдат рендирани в реално време за геймърите, но също и в компютърно анимирани филми, архитектурна визуализация и продуктов дизайн.
Картографирането на нормалите не влияе върху оцветяването на обекта, така че ще видите, че то се използва най-често в случаите, когато повърхността на обекта не е идеално равна или гладка. За да бъдем честни, това означава, че почти всеки 3D модел може да използва карта на нормалите, за да подобри реалистичния си вид, от износена кожа, неравни дървесни шарки, човешка кожа, плат и др.
Има няколко основни инструмента и софтуер, които обикновено се използват за картографиране на нормалите. Ето няколко от тях:
1. Софтуер за 3D моделиране: инструменти като Blender, Maya, ZBrush и {{substance-3d-modeler}} се използват за създаване на модели, които ще се използват за картографиране на нормалите. Има много чудесни софтуерни решения, които предлагат собствен подход към моделирането и скулптирането.
2. Софтуер за рисуване на текстури: софтуер като {{substance-3d-painter}} или дори Adobe Photoshop може да се използва за създаване и редактиране на карти на текстури, включително карти на нормалите.
3. Генератори на карти на нормалите: софтуерът за генериране на карти на нормалите помага за създаване на карти на нормалите от геометрия с висока разделителна способност или информация за текстура. Инструменти като xNormal, CrazyBump или Substance 3D Designer могат да генерират карти на нормалите въз основа на различни входни данни.
4. Игрални двигатели: игрови двигатели като Unreal Engine и Unity имат вградена поддръжка за картографиране на нормалите. Тези двигатели предоставят необходимите инструменти и възможности за рендиране, за да се възползвате от предимствата на картите на нормалите. Те са също толкова подходящи за създаване на рендери, тъй като създават игрови преживявания.
5. Езици за програмиране на шейдъри: разбирането на езиците за програмиране на шейдъри като HLSL (език за шейдинг на високо ниво) или GLSL (език за шейдинг на OpenGL) може да бъде полезно за създаване на персонализирани шейдъри, които се възползват от картографирането на нормалите. Тези езици позволяват на разработчиците да дефинират как осветлението да взаимодейства с картата на нормалите и други карти на текстури, за да постигнат невероятни визуални ефекти.
Този списък може да не е изчерпателен, но предлага на творците отлична стартова точка за формиране на основно разбиране за картографирането на нормалите и начините за внедряването му в среди за рендиране в реално време.

Изображения от Playground Games.

По какво картите на нормалите се различават от картите на издатините.
Картите на нормалите съхраняват изрична информация за нормалата на повърхността, като използват RGB изображения, където всеки цветен канал представлява X, Y и Z компонентите на вектора на нормалата на повърхността при всеки тексел. Картите на нормалите улавят много повече информация за ориентацията на повърхността. Картите на нормалите не влияят на геометрията на самия модел, но въпреки това променят начина, по който светлината взаимодейства около него.
В сравнение с картите на издатините, картите на нормалите предоставят най-точни резултати, като улавят повърхностни детайли само извън вариациите на височината.
Предимства и недостатъци на картографирането на нормалите.
1. Реалистични повърхностни детайли: картографирането на нормалите позволява добавянето на сложни повърхностни детайли без увеличаване на геометричната сложност.
2. Ефективност: картографирането на нормалите е ефективна техника за изчисления, особено в сравнение с увеличаването на броя на многоъгълниците на моделите за постигане на повърхностни детайли.
3. Намаляване на изискването за памет: картите на нормалите съхраняват информация във формат на текстура, който обикновено използва по-малко памет в сравнение със съхраняването на информация за геометрията.
4. Повторна употреба: картите на нормалите могат лесно да се прилагат към различни модели, позволяват на художници и разработчици да ги използват повторно в множество ресурси. Това спестява време, усилия и намалява крайния размер на продукта.
5. Интерактивни светлинни ефекти: картографирането на нормалите подобрява взаимодействието на светлината с модела, позволява динамични 3D светлинни ефекти, като огледални отблясъци, вариации на шейдинг и по-точни отражения.
1. Ограничена промяна на геометрията: картите на нормалите засягат само външния вид на повърхностните детайли и не могат да променят геометрията. Илюзията, която те създават, често може да бъде полезна, въпреки че понякога може да са необходими други техники, когато е необходима действителна промяна на геометрията.
2. Създаване и редактиране: създаването на висококачествени карти на нормалите може да бъде трудно и изисква специализирани познания и софтуер. Редактирането на карти на нормалите може да бъде трудно поради сложния характер на данните.
3. Ограничения на пространството за текстури: картите на нормалите изискват допълнително пространство за текстури, тъй като обикновено се съхраняват като RGB изображения. Това може да повлияе на общото използване на паметта и в някои случаи може да изисква внимателно оптимизиране.
4. Ограничения на допирателното пространство: картите на нормалите обикновено се дефинират в допирателното пространство, което означава, че зависят от ориентацията на модела и UV координатите. Това понякога може да причини визуални артефакти при прилагане на една и съща карта на нормалите към модели с различни UV схеми или ориентации.
Въпреки някои ограничения, картите на нормалите са най-ефективната техника за подобряване на визуалното качество и реализма на 3D моделите в реално време. Картографирането на нормалите предлага здравословен баланс между производителност и визуална точност, което го прави безценен инструмент при 3D текстурирането и рендирането.
Разберете кога да използвате картографирането на нормалите.
Научете повече за картографирането на нормалите.
Често задавани въпроси
КАКВО Е КАРТА НА НОРМАЛИТЕ В ДИЗАЙНА НА КОМПЮТЪРНИ ИГРИ?
КОЛКО КАНАЛА ИМА НА КАРТАТА НА НОРМАЛИТЕ?
Картите на нормалите се създават с помощта на RGB (червено, зелено и синьо) изображение, където всеки цветен канал в изображението представлява X, Y и Z компонента на нормалата на повърхността на всеки тексел на картата. Това означава, че картата на нормалите има три канала, като всеки съдържа положителни или отрицателни стойности.
- Червеният канал (R) съответства на X компонента на вектора на нормалата на повърхността.
- Зеленият канал (G) представлява Y компонента на вектора на нормалата на повърхността.
- Синият канал (B) представлява Z компонента на вектора на нормалата на повърхността.
И трите канала се използват заедно, за да осигурят изрични данни за ориентацията за всеки тексел, който се използва по време на рендиране за подобряване на светлинните и засенчващите ефекти на 3D модела.
ЗАЩО СЕ НАРИЧА КАРТА НА НОРМАЛИТЕ?
В компютърната графика „нормала“ се отнася до вектор, който е перпендикулярен (или е „нормала“) на дадена повърхност в определена точка. По тази причина се наричат „карти на нормалите“, тъй като те съхраняват информация за нормалите на повърхностите на 3D модел.
Чрез прилагане на карта на нормалите по време на рендиране нормалите на повърхността на 3D модела се модифицират въз основа на информацията, съхранена в картата, което води до светлинни и засенчващи ефекти, които създават илюзията за сложни повърхностни детайли.