что такое карта нормалей в майнкрафте

Создание карты нормалей (желательно) без OptiFine в моде.

что такое карта нормалей в майнкрафте. 7879. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-7879. картинка что такое карта нормалей в майнкрафте. картинка 7879. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

KuroIShiro

ВСЕ СООБЩЕНИЯ ПО ТИПУ «А ЗАЧЕМ ТЕБЕ» ИЛИ «ЭТО СЛОЖНО, ЗАБЕЙ» СРАЗУ ИДУТ В СТОРОНУ [ИНФОРМАЦИЯ УДАЛЕНА] И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ «СПАМ»!

Бесплатно кидаю идеи для модов. Рисую текстуры. Ищу кодеров и моделлеров. Рыба по акции.
Тут я обитаю: Discord

что такое карта нормалей в майнкрафте. 4458. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-4458. картинка что такое карта нормалей в майнкрафте. картинка 4458. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Icosider

iMixin

что такое карта нормалей в майнкрафте. 7879. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-7879. картинка что такое карта нормалей в майнкрафте. картинка 7879. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

KuroIShiro

Он делал под 1.12? Если попадется, подкинь ссылочку.

UPD:
Нашел. Делал он под 1.7, еще и на Котле. Тут вообще не катит.

Бесплатно кидаю идеи для модов. Рисую текстуры. Ищу кодеров и моделлеров. Рыба по акции.
Тут я обитаю: Discord

что такое карта нормалей в майнкрафте. 4458. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-4458. картинка что такое карта нормалей в майнкрафте. картинка 4458. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Icosider

iMixin

что такое карта нормалей в майнкрафте. 7879. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-7879. картинка что такое карта нормалей в майнкрафте. картинка 7879. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

KuroIShiro

Бесплатно кидаю идеи для модов. Рисую текстуры. Ищу кодеров и моделлеров. Рыба по акции.
Тут я обитаю: Discord

что такое карта нормалей в майнкрафте. 3943. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-3943. картинка что такое карта нормалей в майнкрафте. картинка 3943. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

CumingSoon

Местный стендапер

что такое карта нормалей в майнкрафте. 4288. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-4288. картинка что такое карта нормалей в майнкрафте. картинка 4288. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Dahaka

100% рабочее решение на 1.12 это оптифайн. Просто возьми какой-нибудь ресурспак с нормалями и при необходимости упрости шейдер. Это самый легкий путь. Других паблик решений для майна я не видел. Поэтому вероятность того, что будет работать, зависит от твоего скилла в огл.

Если уж и припиливать нормаль маппинг, то припиливать его как минимум для всех блоков. Из-за того, что блоки рендерятся кусками 16х16х16. Да и если бы было поштучно, переключение шейдера только ради твоего блока недопустимо.

Если в двух словах, то тебе нужно: создать атлас нормалей (аналогичный диффузному атласу); написать шейдер рендера блоков; перед рендером блоков включить шейдер; забиндить диффузный атлас, лайтмапу и твой атлас нормалей в разные юниты; передать эти юниты в шейдер через юниформы; выполнить ванильный рендер блоков; выключить шейдер. Естественно, без хуков тут не обойтись.
С освещением все на порядок сложнее. Но оно, вроде, тебе и не нужно.

что такое карта нормалей в майнкрафте. 3943. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-3943. картинка что такое карта нормалей в майнкрафте. картинка 3943. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

CumingSoon

Местный стендапер

что такое карта нормалей в майнкрафте. 7879. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-7879. картинка что такое карта нормалей в майнкрафте. картинка 7879. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

KuroIShiro

100% рабочее решение на 1.12 это оптифайн. Просто возьми какой-нибудь ресурспак с нормалями и при необходимости упрости шейдер. Это самый легкий путь. Других паблик решений для майна я не видел. Поэтому вероятность того, что будет работать, зависит от твоего скилла в огл.

Если уж и припиливать нормаль маппинг, то припиливать его как минимум для всех блоков. Из-за того, что блоки рендерятся кусками 16х16х16. Да и если бы было поштучно, переключение шейдера только ради твоего блока недопустимо.

Если в двух словах, то тебе нужно: создать атлас нормалей (аналогичный диффузному атласу); написать шейдер рендера блоков; перед рендером блоков включить шейдер; забиндить диффузный атлас, лайтмапу и твой атлас нормалей в разные юниты; передать эти юниты в шейдер через юниформы; выполнить ванильный рендер блоков; выключить шейдер. Естественно, без хуков тут не обойтись.
С освещением все на порядок сложнее. Но оно, вроде, тебе и не нужно.

Бесплатно кидаю идеи для модов. Рисую текстуры. Ищу кодеров и моделлеров. Рыба по акции.
Тут я обитаю: Discord

Источник

Это норма: что такое карты нормалей и как они работают

На протяжении нескольких лет я пытался разобраться в картах нормалей и в проблемах, которые обычно возникают при работе с ними.

Большинство найденных объяснений было слишком техническим, неполным или чересчур сложным для моего понимания, поэтому я решил попробовать объяснить собранную мной информацию. Я понимаю, что эти объяснения могут быть неполными или не совсем точными, но всё равно попробую.

Первые созданные человеком 3D-модели выглядели примерно так:

что такое карта нормалей в майнкрафте. deeaa7cfbf5b448d8db6a06b719c1ece. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-deeaa7cfbf5b448d8db6a06b719c1ece. картинка что такое карта нормалей в майнкрафте. картинка deeaa7cfbf5b448d8db6a06b719c1ece. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Это замечательно, но у такой модели есть очевидное ограничение: она выглядит слишком полигональной.

Наиболее очевидное решение: добавить больше полигонов, сделав поверхность более равномерной и гладкой, вплоть до того, чтобы полигоны казались единой гладкой поверхностью. Но оказывается, для того, чтобы сделать поверхности наподобие сфер гладкими, нужно огромное количество полигонов (особенно сегодня).

что такое карта нормалей в майнкрафте. 60a78af862d484ce11d083a1f201adb7. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-60a78af862d484ce11d083a1f201adb7. картинка что такое карта нормалей в майнкрафте. картинка 60a78af862d484ce11d083a1f201adb7. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Требовалось другое решение, и так были изобретены нормали. (Всё происходило не совсем так, но так проще объяснять и понимать.)

Давайте проследим за линией из центра полигона, перпендикулярной его поверхности. Мы дадим этой линии очень непривычное название: нормаль. Цель нормали — контролировать, куда указывает поверхность, чтобы когда свет отразиться от этой поверхности, она могла использовать нормаль для вычисления получившегося отражения. Когда свет падает на полигон, мы сравниваем угол луча света с нормалью полигона. Луч отражается под тем же углом относительно направления нормали:

что такое карта нормалей в майнкрафте. 842b24bb518ce0e63a7694cbd0d752e2. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-842b24bb518ce0e63a7694cbd0d752e2. картинка что такое карта нормалей в майнкрафте. картинка 842b24bb518ce0e63a7694cbd0d752e2. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Другими словами, отражение света будет симметрично относительно нормали полигона. Именно так работает большинство отражений в реальном мире. По умолчанию лучи света отражаются от всех полигонов совершенно перпендикулярно к их поверхности (как должны это делать в реальной жизни), потому что нормали полигона по умолчанию перпендикулярны к поверхности полигона. Если в нормалях будут пробелы, то мы увидим их как отдельные поверхности, поскольку свет отразится в одном или другом направлении.

что такое карта нормалей в майнкрафте. ff7138c843c2d67bfcfc8c061cb1953a. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-ff7138c843c2d67bfcfc8c061cb1953a. картинка что такое карта нормалей в майнкрафте. картинка ff7138c843c2d67bfcfc8c061cb1953a. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Если две грани соединены, то мы можем попросить компьютер сгладить переход между нормалью одного полигона к другому, чтобы нормали постепенно выстраивались в соответствии с ближайшей нормалью полигона. Таким образом, когда свет попадёт ровно в центр одного полигона, то он отразится прямо, в соответствии с направлением нормали. Но между полигонами это направление нормали сглаживается, изменяя отражение света.

что такое карта нормалей в майнкрафте. 607b7edc436e1e47b80ccb2599fdbe22. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-607b7edc436e1e47b80ccb2599fdbe22. картинка что такое карта нормалей в майнкрафте. картинка 607b7edc436e1e47b80ccb2599fdbe22. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Мы будем воспринимать переход как единую поверхность, потому что свет будет отражаться между одним и другим полигоном плавным образом, и между ними не будет пробелов. По сути, свет отражается от этих полигонов плавно, как будто у нас имеется множество полигонов.

Именно этим мы управляем, задавая smoothing groups (3ds Max, Blender) или указывая рёбра как hard или smooth (Modo, Maya): мы сообщаем программе, какие переходы между гранями должны быть плавными, а какие — жёсткими.

Вот сравнение одной сферы из 288 полигонов с жёсткими и плавными переходами:

что такое карта нормалей в майнкрафте. c205b25ef1eb8886ee3e2fc7773f0125. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-c205b25ef1eb8886ee3e2fc7773f0125. картинка что такое карта нормалей в майнкрафте. картинка c205b25ef1eb8886ee3e2fc7773f0125. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Потенциально мы можем задать нечто вроде параллелепипеда, чтобы все его вершины имели усреднённые нормали. 3D-редактор будет стремиться сгладить его поверхность, чтобы она выглядела как единая плавная поверхность. Для 3D-редактора это вполне логично, но выглядит очень странно, потому что у нас есть объект, который очевидно должен иметь несколько отдельных поверхностей (каждая грань параллелепипеда), однако программа пытается показать их как одну плавную поверхность.

что такое карта нормалей в майнкрафте. 9ecd6c1cc60c2d431065cb9aa6741979. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-9ecd6c1cc60c2d431065cb9aa6741979. картинка что такое карта нормалей в майнкрафте. картинка 9ecd6c1cc60c2d431065cb9aa6741979. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Именно поэтому в 3D-редакторах обычно есть параметр углов сглаживания: если у нас есть два связанных полигона под углом, превышающем угол сглаживания, то их переход будет плавным, а соединение полигонов под углом меньше угла сглаживания будет жёстким. Благодаря этому крутые углы между поверхностями будут отображаться как разные поверхности, как это и бывает в реальном мире.

Итак, мы использовали нормали для контроля над переходами между гранями модели, но можно пойти ещё дальше.

Так как мы меняем способ отражения света от объекта, можно также сделать так, чтобы очень простой объект отражал свет, как сложный. Это называется картой нормалей. Мы используем текстуру для изменения направления света, отражающегося от 3D-объекта, заставляя его выглядеть сложнее, чем он есть на самом деле.

Примером из реального мира могут служить голограммы, которые раньше вручали в подарок при покупке картофельных чипсов (по крайней мере, у нас, в Испании). Они совершенно плоские, но отражают свет так, как бы это делал 3D-объект, благодаря чему становятся сложнее, чем на самом деле. В мире 3D-графики это работает даже лучше, но всё равно имеет свои ограничения (поскольку поверхность остаётся плоской).

Хоть мы и применяем нормали полигонов для реализации какой-то чёрной магии, на самом деле мы не контролируем сглаживание поверхности модели при помощи нормалей полигонов. Мы используем нормали вершин для контроля сглаживания нормалей. По сути, идея та же, но немного более сложная.

С каждой вершиной может быть связано одна или несколько нормалей. Если она имеет одну нормаль, то можно назвать её усреднённой нормалью вершины, а если несколько — то разделённой нормалью вершины.

Давайте возьмём два полигона, соединённых ребром. Если переход между двумя гранями плавный (если мы указали его как плавный в Maya/Modo, или обе имеют одинаковую smoothing group в Max/Blender), то каждая вершина имеет одну нормаль, которая является средней нормалей полигонов (поэтому она и называется усреднённой нормалью вершины). Важное примечание: до недавнего времени каждый 3D-редактор использовал собственный способ вычисления усреднённых нормалей вершин, то есть карты нормалей, вычисленные в одной программе, в другой могли выглядеть совершенно иначе. Подробнее об этом я расскажу во второй части туториала.

что такое карта нормалей в майнкрафте. e6bd8d4bd97239a2766676bba73a5185. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-e6bd8d4bd97239a2766676bba73a5185. картинка что такое карта нормалей в майнкрафте. картинка e6bd8d4bd97239a2766676bba73a5185. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Если переход жёсткий (hard edge или разные smoothing groups), то каждая вершина имеет несколько нормалей: по одной для каждой соединённой вершины, выровненной по их нормалям. При этом между нормалями образуется пробел, который выглядит как две разные поверхности. Именно это называется разделённой нормалью вершины.

что такое карта нормалей в майнкрафте. 05b9c9fe5bf8f37e8212f2b25438c9c9. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-05b9c9fe5bf8f37e8212f2b25438c9c9. картинка что такое карта нормалей в майнкрафте. картинка 05b9c9fe5bf8f37e8212f2b25438c9c9. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

что такое карта нормалей в майнкрафте. 6fc7edf7ebada96250b95870ffc4d26c. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-6fc7edf7ebada96250b95870ffc4d26c. картинка что такое карта нормалей в майнкрафте. картинка 6fc7edf7ebada96250b95870ffc4d26c. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Как вы могли догадаться, контроль нормалей вершин очень важен, если мы хотим контролировать карты нормалей. К счастью, нам не обязательно изменять нормали напрямую или даже видеть их, но понимание того, как это работает, поможет вам понять, почему мы выполняем работу именно так и больше разбираться в проблемах, с которыми мы можем встретиться.

При запекании карты нормалей мы по сути говорим программе изменить направление, которому следуют нормали lowpoly-модели, так, чтобы они соответствовали направлению в highpoly-модели; поэтому lowpoly-модель будет отражать свет так же, как highpoly. Вся эта информация хранится в текстуре под названием «карта нормалей». Давайте рассмотрим пример.

Допустим, у нас есть вот такая низкополигональная модель (lowpoly). Плоская поверхность с четырьмя вершинами и настроенными UV, которые программа запекания будет использовать для создания карты нормалей.

что такое карта нормалей в майнкрафте. 26288839d4eb72924d12407d19352c76. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-26288839d4eb72924d12407d19352c76. картинка что такое карта нормалей в майнкрафте. картинка 26288839d4eb72924d12407d19352c76. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

И она должна получить информацию о нормалях от этой высокополигональной (highpoly) модели, нормали которой сложнее.

что такое карта нормалей в майнкрафте. e4ebbbb943f8a3ad71016ee396bc55bb. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-e4ebbbb943f8a3ad71016ee396bc55bb. картинка что такое карта нормалей в майнкрафте. картинка e4ebbbb943f8a3ad71016ee396bc55bb. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Помните, что мы переносим только информацию о нормалях, то есть UV, материал, топология, преобразования и т.п. к делу не относятся. Проверенное правило: если highpoly-модель выглядит хорошо, то её нормали тоже хороши и вполне должны подходить для запекания.

Программа запекания берёт lowpoly-модель и испускает лучи, следуя по направлениям нормалей lowpoly (именно поэтому нам нужно контролировать нормали lowpoly). Эти лучи имеют ограниченную длину чтобы не получать информацию нормалей от далёких граней (обычно это расстояние называется bake distance или cage distance). Когда эти лучи сталкиваются с highpoly, программа запекания вычисляет, как отразить эти лучи, чтобы они следовали по направлению нормалей highpoly, и сохраняет эту информацию в карту нормалей.

что такое карта нормалей в майнкрафте. 72c48753443123074b3b0170ee04e7e8. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-72c48753443123074b3b0170ee04e7e8. картинка что такое карта нормалей в майнкрафте. картинка 72c48753443123074b3b0170ee04e7e8. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Вот результат запекания для нашего примера:

что такое карта нормалей в майнкрафте. 2565084f33aaafaedfb752e7b5c01b89. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-2565084f33aaafaedfb752e7b5c01b89. картинка что такое карта нормалей в майнкрафте. картинка 2565084f33aaafaedfb752e7b5c01b89. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

У нас есть текстура, которую движок использует для изменения нормалей lowpoly, чтобы свет отражался от этой lowpoly-модели так же, как он отражался бы от highpoly-версии. Не забывайте, что это только текстура, которая не влияет на силуэт lowpoly-модели (невозможно изменить способ отражения света от модели, если свет не падает на эту модель).

Хотя понятно, что можно «считать» внешний вид highpoly по внешнему виду карты нормалей, очевидно, что карты нормалей — это не обычные текстуры, потому что они хранят информацию не о цвете, а о нормалях. Также это значит, что карты нормалей нельзя рассматривать как обычные текстуры; к тому же, как мы увидим, они обладают особыми параметрами сжатия и гамма-коррекции.

Можно воспринимать карту нормалей как набор из трёх текстур в оттенках серого, хранящийся в одном изображении:

что такое карта нормалей в майнкрафте. c4ef222ce73d3cd29b0b055cec587c6b. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-c4ef222ce73d3cd29b0b055cec587c6b. картинка что такое карта нормалей в майнкрафте. картинка c4ef222ce73d3cd29b0b055cec587c6b. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Первое изображение сообщает движку, как эта модель должна отражать свет, падающий справа; оно хранится в красном канале текстуры карты нормалей.

Второе изображение сообщает движку, как модель должна отражать свет, падающий снизу*; оно хранится в зелёном канале текстуры карты нормалей.

*В некоторых программах свет падает не снизу, а сверху, то есть могут быть «левосторонние» и «правосторонние» карты нормалей. Как мы увидим позже, это может вызывать некоторые проблемы.

Третье изображение сообщает движку, как модель должна отражать свет, падающий спереди; оно хранится в синем канале текстуры карты нормалей. Так как большинство объектов при освещении спереди выглядят белыми, карты нормалей обычно кажутся синеватыми.

Когда мы комбинируем все три изображения в одно, то получаем карту нормалей. Помните, что это объяснение не полностью корректно, но надеюсь, что оно позволит вам понять информацию, хранящуюся внутри карты нормалей, и лучше разобраться, что она делает.

Нормали — это векторы, которые используются для определения того, как свет отражается от поверхности. Их можно использовать для контроля над переходом между гранями (усреднением нормалей соединённых вершин для создания плавного перехода или разделением их для создания жёсткого перехода), но также их направление можно изменять, чтобы lowpoly-модель отражала свет так же, как более сложная модель.

Эта информация хранится в трёх отдельных каналах изображения, и 3D-редактор считывает её, чтобы понять, в каком направлении должна смотреть поверхность модели.

В следующей статье цикла мы поговорим о том, как можно запекать эти детали из highpoly-модели в lowpoly.

Источник

Normal Map. Практическое руководство

Введение

Данное руководство создано для тех, кто стремится понять тему Normal Mapping. Оно написано как для новых людей в индустрии, так и для более опытных, которые хотят освежить знания по теме. Здесь я постараюсь рассмотреть каждую возможную проблему и предоставить простой и доступный ответ. Надеюсь, что это руководство даст вам все необходимое о Normal Mapping и о том, как его применять. Проблемы с Normal Mapping не должны стоять на пути вашего творчества!
Отдельное спасибо EarthQuake с Polycount за вдхоновение на создание этого гайда.

Условия использования
Пожалуйста, уважайте работу автора и не копируйте текст руководства никуда, кроме Polycount, без моего разрешения (Superfranky). Если вы увидели ошибку или хотите что-то добавить, то, пожалуйста, напишите мне на Polycount или отправьте письмо на networkcat2@hotmail.com.

Примечание
Перевод подготовлен специально для школы компьютерной графики XYZ. Некоторые главы, после согласования с автором, были расширены или обновлены для большей актуальности. Следовательно, некоторые части текста могут отсутствовать в оригинальном руководстве. По вопросам перевода пишите на nocstrig@yandex.ru. (Леонид Садеков)

Источники
Помимо оригинального руководства были использованы дополнительные источники информации:

A Practical Guide on Normal Mapping For Games:
http://polycount.com/discussion/146667/a-practical-guide-on-normal-mapping-for-games

You’re making me hard. Making sense of hard edges, uvs, normal maps and vertex counts:
http://polycount.com/discussion/107196/youre-making-me-hard-making-sense-of-hard-edges-uvs-normal-maps-and-vertex-counts

The Toolbag Baking Tutorial:
https://www.marmoset.co/posts/toolbag-baking-tutorial/

Understanding averaged normals and ray projection:
http://polycount.com/discussion/81154/understanding-averaged-normals-and-ray-projection-who-put-waviness-in-my-normal-map

Техническая информация

Normal Mapping – это технология, используемая для имитации неровностей поверхности на объекте. Она применяется, чтобы сделать вашу финальную модель более похожей на ее HP (High Poly) версию. С ее помощью можно добить различные детали, которые нельзя передать через геометрию из-за ограничений полигонажа на вашем проекте, и заставить вашу модель выглядеть более скругленной для лучшей передачи освещенности и большей реалистичности.

Карты нормалей – это RGB изображения, где каждый из каналов (красный, зелёный, синий) интерпретируется в X, Y и Z координаты нормалей поверхности соответственно. Красный канал пространства касательных карты нормалей отвечает за ось X (нормали направленны влево или вправо), зелёный канал за ось Y (нормали направлены вверх или вниз) и синий канал за ось Z (нормали направлены прямо от поверхности).

что такое карта нормалей в майнкрафте. . что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-. картинка что такое карта нормалей в майнкрафте. картинка . ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Пространство касательных (Tangent Space)

Прежде чем мы перейдем к моделированию и запеканию, я должен рассказать вам о том, что такое пространство касательных (Tangent Space). Самый распространенный тип карты нормалей, залитый синим цветом и встречающиеся повсюду в интернете, называется картой нормалей пространства касательных (Tangent Space Normal Map).

В мире 3D существует множество координатных систем: мировое пространство, локальное пространство, пространство камеры и т.д. Пространство касательных – очередная координатная система со своим назначением. Она используется ради обозначения текстурных координат для поверхности полигона. Вы уже, вероятно, знакомы с UV координатами. Тогда представьте, что ось X сонаправлена с V, а ось Y с U. Теперь у нас есть координаты модели, представленные в 2D пространстве. Но координатной системе необходима третья ось для существования в 3D пространстве и для этого нам необходима нормаль поверхности (N). В координатах пространства касательных нормаль поверхности отвечает за ось Z в мировых координатах.

что такое карта нормалей в майнкрафте. . что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-. картинка что такое карта нормалей в майнкрафте. картинка . ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

что такое карта нормалей в майнкрафте. T Eo6io2EY0. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-T Eo6io2EY0. картинка что такое карта нормалей в майнкрафте. картинка T Eo6io2EY0. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Оси U, V и N обозначают направления, в которых их значения изменяются вдоль поверхности, так же как X, Y, Z представляют направления, в которых изменяются их значения в мировых координатах.

Это означает, что мы можем передавать координаты пространства касательных через RGB каналы карты нормалей. Красный канал ответственен за ось U, синий за N, а зелёный за V.

Если вы увидите, что модель с применённой картой нормалей освещается не правильно, притом что используется карта нормалей пространства касательных, то, возможно, шейдеру необходимо передать красный или зелёный канал (или оба) инвертированными. Для этого измените настройки шейдера или вручную инвертируйте соответствующий канал в Photoshop, чтобы темные пиксели стали светлыми или наоборот.

Дело в том, что разные приложения могут также по-разному работать с зеленным каналом и порой, когда возникают проблемы с отображением в определенном приложении, то стоит попробовать инвертировать зелёный канал или, говоря по-другому, сменить DirectX на OpenGL или наоборот. (OpenGL – Y+; DirectX – Y-)

что такое карта нормалей в майнкрафте. 51ZJ8LJz5N4. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-51ZJ8LJz5N4. картинка что такое карта нормалей в майнкрафте. картинка 51ZJ8LJz5N4. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Пространство объекта (Object Space)

Карта пространства объекта используется гораздо реже в игровой индустрии, но, порой, ее использование позволяет решить некоторые проблемы. Дело в том, что она использует ориентацию объекта в мировом пространстве, а это значит, что после запекания карты, модель нельзя деформировать.

Достоинства:
•Легче генерировать карту кривизны
•Слегка улучшенная производительность

Недостатки:
•Нельзя повторно использовать. Разные формы требует разных карт.
•Тайлить или отзеркалить можно только с поддержкой шейдера.
•Трудно добавлять отдельно запеченные детали из-за сильной вариативности цвета.
•Плохо сжимается.

Чувак, это сложно. Какое мне дело?

Карты нормалей пространства касательных используют особый вид вершинных данных, называемых базисом касательных (tangent basis). Если световые лучи существуют в мировом пространстве, то нормали, хранящиеся в карте нормалей, в пространстве касательных. Когда движок обрабатывает модель с примененной картой нормалей, световые лучи преобразуются из мирового пространства в пространство касательных, используя для этого базис касательных. К этому моменту падающие световые лучи сверяются с направлением нормалей с карты нормалей, что определяет освещенность каждого пикселя объекта. Однако вместо преобразования световых лучей, некоторые шейдеры преобразуют нормали из пространства касательных в мировое. Затем преобразованные нормали сверяются со световыми лучами для создания необходимой освещенности. Конечный способ определяется создателем шейдера, но результат в обоих случаях один и тот же.

Трудности могут возникнуть из-за существования множества разных способов расчета базиса касательных. Это значит, что карта нормалей, запеченная в одном приложении, может отображаться совершенно иначе в другом. Когда рендер (например, игровой движок) обрабатывает вашу модель, шейдер должен использовать тоже пространство касательных, что и приложение для запекания, иначе модель получит некорректное освещение, особенно вдоль UV швов.

что такое карта нормалей в майнкрафте. hBe2506OY g. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-hBe2506OY g. картинка что такое карта нормалей в майнкрафте. картинка hBe2506OY g. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Если вы не уверены в том, какое пространство касательных используется в конечном движке, то необходимо добавлять жесткие грани/группы сглаживания или использовать поддерживающую геометрию, чтобы минимизировать шансы появления нежелательных эффектов

что такое карта нормалей в майнкрафте. J0e61lp UfE. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-J0e61lp UfE. картинка что такое карта нормалей в майнкрафте. картинка J0e61lp UfE. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Я хочу, чтобы мои нормали выглядели отлично без тонны лишней работы!

Существует множество способов убедиться в том, что запеченные карты нормалей будут выглядеть корректно в любом из игровых движков. Давайте посмотрим на примеры:

• Unreal Engine 4
• Substance Painter
• Marmoset Toolbag
• Unity

Для ситуаций, когда необходимо конвертировать имеющуюся карту нормалей в карту, использующую другое пространство касательных, существует программа Handplane. Это полностью бесплатное приложение. Сначала необходимо запечь карту нормалей, используя пространство объекта (Object Space), которую затем конвертируют в карту нормалей с необходимым пространством касательных.

Если вы запекаете, используя Maya, то помните, что она имеет общий алгоритм расчета пространства касательных с Marmoset Toolbag.

Создаем карту нормалей

Процесс создания карт нормалей (и не только их) обычно называют “запеканием”. Выглядит это следующим образом:

что такое карта нормалей в майнкрафте. CzchQN2 a8s. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-CzchQN2 a8s. картинка что такое карта нормалей в майнкрафте. картинка CzchQN2 a8s. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Как вы видите, карта нормалей способна лишь имитировать вид HP модели, не изменяя сам силуэт.

Создание HP модели

Толщина фасок

Если вы хотите перенести фаски с HP модели на карту нормалей, то необходимо их делать мягче. Если фаски будут слишком острые, то они станут трудноразличимы на модели с примененной картой нормалей, а, значит, станут хуже читаться на расстоянии.

что такое карта нормалей в майнкрафте. 4K8j6aynndQ. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-4K8j6aynndQ. картинка что такое карта нормалей в майнкрафте. картинка 4K8j6aynndQ. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Детали со скосом

Из-за принципа работы проекции HP геометрии на LP запечка не может захватить слабозаметные детали. Поэтому, если вы хотите передать вдавливания или выступы через карту нормалей, то им необходимо добавить дополнительные фаски/скосы, чтобы стать заметными на плоской поверхности при виде спереди.

что такое карта нормалей в майнкрафте. kzh9KWBOjao. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-kzh9KWBOjao. картинка что такое карта нормалей в майнкрафте. картинка kzh9KWBOjao. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Пересечение геометрии

что такое карта нормалей в майнкрафте. SRsYBKvQtfs. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-SRsYBKvQtfs. картинка что такое карта нормалей в майнкрафте. картинка SRsYBKvQtfs. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Разнесённая геометрия и бейк-группы

В случае, где необходимо запекать пересекающеюся геометрию стоит обращать внимание на взаимное расположение таких объектов. Если они расположены слишком близко друг к другу, то их проецирующие кейджи начнут пересекаться, что выльется в ошибки на карте нормалей.

Чтобы избежать этого существует два способа:

Разнесенная геометрия (Exploded mesh)

Логично, что если расположить геометрию друг от друга на достаточное расстояние, то и их кейджи никогда не пересекутся, а, значит, и не возникнет ошибок на нормале. Чтобы после запекания не тратить лишнего времени на объединение модели вручную элементов модели, можно, используя 3D пакет, поставить ключ анимации на моменте, когда вся модель собрана, и еще один на моменте, когда каждый пересекающийся объект разнесен на нужное расстояние. Тогда после запекания у вас не будет проблем с тем, чтобы собрать модель обратно воедино.

Бейк-группы (Bake groups)

что такое карта нормалей в майнкрафте. gnG6yS6Xm9k. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-gnG6yS6Xm9k. картинка что такое карта нормалей в майнкрафте. картинка gnG6yS6Xm9k. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Для загрузки с учетом бейк-групп, нажмите на значок загрузки моделей в панели Quick Loader. Выбрав свои LP и HP модели Marmoset автоматически создаст бейк-группы для запекания.

что такое карта нормалей в майнкрафте. BY40UoJfDHc. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-BY40UoJfDHc. картинка что такое карта нормалей в майнкрафте. картинка BY40UoJfDHc. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Если все было сделано правильно, то у вас не возникнет проблем из-за пересечения геометрии!

Процесс подготовки объектов ничем не отличается от вышеописанного. Чтобы SP учитывал созданные бейк-группы при запекании, необходимо для поля Match выбрать By Mesh name.

что такое карта нормалей в майнкрафте. . что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-. картинка что такое карта нормалей в майнкрафте. картинка . ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Сокращение полигонажа (Decimating)

Если вы импортируете свою HP из Zbrush в другие приложения, то хорошей практикой будет предварительно сократить ее количество полигонов. Не существует четкого правила, определяющего, как сильно стоит урезать полигонаж, прежде чем HP начнет выглядеть некорректно, поэтому рекомендуется делать тестовые запечки, перед тем как идти дальше. В большинстве случаев достаточно сокращения в 20% от оригинала. Если модель выглядит хорошо после этого, то можно переходить к запеканию.

Все вышеописанное делается для того, чтобы не перегружать рендер лишним количеством полигонов. Ведь если объект выглядит одинаково при 4млн. и 2млн. полигонах, то зачем нагружать приложение? Главное, следите за объектом в процессе, поскольку вам также не нужны артефакты на карте нормалей и пропавшие детали.

Плавающая геометрия (Floaters)

Плавающей геометрией (флоатерами) называются HP объекты, которые существуют отдельно от основной модели и нужны для быстрого добавления деталей под запекание карты нормалей. Это хороший способ сымитировать геометрию, без необходимости тратить лишнее время на вшивание деталей в оригинальную HP. Недостаток скрывается в том, что необходимо подстраивать LP к плавающей геометрии, и это довольно сложно, если вы хотите расположить ее у круглых или сложных поверхностей, поэтому чаще всего ее используют у плоских поверхностей. Если вы расположите камеру прямо напротив плавающей геометрии и не увидите видимых переходов, то и на запеченной геометрии их видно не будет.

что такое карта нормалей в майнкрафте. XqEbbd3lW0Q. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-XqEbbd3lW0Q. картинка что такое карта нормалей в майнкрафте. картинка XqEbbd3lW0Q. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Важно, чтобы плавающая геометрия имела плоские грани и располагалась, как можно ближе к основному объекту.

Когда стоит моделировать, а когда рисовать.

что такое карта нормалей в майнкрафте. pXnFlOa2t7Q. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-pXnFlOa2t7Q. картинка что такое карта нормалей в майнкрафте. картинка pXnFlOa2t7Q. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Затем перенесите полученный результат в Photoshop и скомбинируете его с оригинальной картой нормалей. Для комбинирования карт нормалей существует несколько методов:

Методы комбинирования карт нормалей

Комбинируя карты нормалей нужно помнить о том, что вы смешиваете не просто две картинки в одну, а смешиваете векторную информацию двух разных объектов. Если наложить две карты через обычное смешивание, то на конечном результате мы лишимся синего канала, что может стать проблемой в некоторых движках.

Плагин для Phostoshop – RNM Normal Map Combiner (http://farfarer.com/resources.htm), позволит автоматически смешать карты нормалей без потери векторной информации.

Для того чтобы сделать тоже самое вручную, нужно перейти в режим редактирования уровней (Level Adjustments) на синем канале и уменьшить количество белого с 255 до 128, после чего установить режим смешивания Hard Light для накладываемой карты нормалей.

Приложение Crazybump также позволяет совместить карты нормалей.

Внутри Substance Painter существуют специальные режимы смешивания карт нормалей, способные также решить проблему:

Создание LP модели

Градиенты

Давайте проведем тест с запеканием простого куба. Каждая поверхность куба разделена на UV развертке и имеет уникальную группу сглаживания:

что такое карта нормалей в майнкрафте. rJgUIfNhuu0. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-rJgUIfNhuu0. картинка что такое карта нормалей в майнкрафте. картинка rJgUIfNhuu0. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Выглядит хорошо, да? Без градиентов, все запеклось идеально. Но что это значит и как этого достичь? Или более интересный вопрос: мне стоит беспокоиться?

Это означает, что ваши нормали LP модели сонаправлены с нормалями HP, и карте не нужно делать лишней работы для компенсации сильных углов градиентами на вашей LP модели. На практике, наилучшим вариантом является запекать карту нормалей лишенную градиентов, насколько это возможно.

Но теперь давайте взглянем на сильные градиенты. Я сшил все UV острова вместе и применил одну группу сглаживания на весь объект.

что такое карта нормалей в майнкрафте. 8AYgPg7QHe4. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-8AYgPg7QHe4. картинка что такое карта нормалей в майнкрафте. картинка 8AYgPg7QHe4. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

что такое карта нормалей в майнкрафте. aWZx5Ln6S w. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-aWZx5Ln6S w. картинка что такое карта нормалей в майнкрафте. картинка aWZx5Ln6S w. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Обратите внимание, как изменились градиенты из-за использования другого алгоритма расчёта пространства касательных.

Существует несколько преимуществ от использования чистой запечки:

что такое карта нормалей в майнкрафте. 5H9Z WvTE3Y. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-5H9Z WvTE3Y. картинка что такое карта нормалей в майнкрафте. картинка 5H9Z WvTE3Y. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Жесткие грани и UV

Итак, скажем, вы не хотите видеть градиенты, а хотите ровную и красивую запечку карты нормалей. Значит, вам необходимо узнать, что такое жесткие грани/группы сглаживания на LP объекте. Каждый раз, когда вы используете жесткую грань на LP, это ослабляет градиент на выбранной грани.

Как расставлять жесткие грани:

В 3DsMax для обозначения “жестких” поверхностей, необходимо использовать группы сглаживания. В режиме выделения полигонов выделите нужные полигоны и примените группу сглаживания из панели по правой стороне.

что такое карта нормалей в майнкрафте. pUwb7RVwKC0. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-pUwb7RVwKC0. картинка что такое карта нормалей в майнкрафте. картинка pUwb7RVwKC0. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Если вы пользуетесь Maya, то в режиме выделения граней выберите нужные и во вкладке “Mesh Display” нажмите “Harden Edge” – для указания жесткой грани, и “Soften Edge” – для мягкой.

Рассмотрим это на примере простого куба. Сейчас объект имеет две группы сглаживания: одну для одной поверхности и другую для всех остальных. Вы можете увидеть, что поверхности с общей группой сглаживания имеют искажённое затенение. Если вы столкнулись с подобным, то это значит, что и на карте нормалей будут присутствовать подобные градиенты после запекания. Посмотрим, как это работает.

что такое карта нормалей в майнкрафте. XB56SQ9Hlas. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-XB56SQ9Hlas. картинка что такое карта нормалей в майнкрафте. картинка XB56SQ9Hlas. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

На скриншоте с картой нормалей видно, что одна поверхность выглядит отличной от остальных. Помните, что я ничего не делал с UV, а лишь применил другую группу сглаживания к поверхности. Сейчас она выглядит чистой и ровной, но вот в движке это смотрится не очень.

Давайте поближе взглянем на грани поверхности с отдельной группой сглаживания. Выглядит не очень, да?

В местах расположения жестких граней необходимо делать разрез на UV развертке!

что такое карта нормалей в майнкрафте. Y1iAdkQeFg. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-Y1iAdkQeFg. картинка что такое карта нормалей в майнкрафте. картинка Y1iAdkQeFg. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Я разделил поверхность с жесткой гранью на UV. Перезапек карту и вот результат:

что такое карта нормалей в майнкрафте. fy s fy9b4. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-fy s fy9b4. картинка что такое карта нормалей в майнкрафте. картинка fy s fy9b4. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Теперь видно, как жесткая поверхность стала отдельной частью на развертке и отчего она отлично смотрится в движке.

Если я применю уникальную группу сглаживания для каждой поверхности и разнесу их на UV развертке, то получу идеальную карту нормалей. Но что если у меня не 6 поверхностей, а намного больше? Есть простой ответ на этот вопрос.

Для того чтобы быстро расставить группы сглаживания, скачайте плагин TexTools. (http://renderhjs.net/textools/3dsMax.html). После этого откройте его в 3DsMax и на основной панели, открыв вкладку Tools, выберете опцию “Smoothing groups from UV shells”, предварительно выделив нужный объект.

Основной процесс выглядит следующим образом:

Отражение UV

Если вам необходимо отразить половину LP объекта, то вот хороший способ сделать это:

что такое карта нормалей в майнкрафте. BBlTEfsSjyE. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-BBlTEfsSjyE. картинка что такое карта нормалей в майнкрафте. картинка BBlTEfsSjyE. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Округлость и волнистость на карте нормалей

После запекания, на карте нормалей вы можете заметить “волны” вдоль граней UV островов. Они возникают из-за несовпадения LP модели с HP.

что такое карта нормалей в майнкрафте. EQFTIb337dc. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-EQFTIb337dc. картинка что такое карта нормалей в майнкрафте. картинка EQFTIb337dc. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Сопоставление геометрии во время ретопологии

При работе над ретопологией (LP моделью) очень важно максимально близко подводить геометрию к HP модели, иначе вы получите ошибки проецирования при запекании, и карта нормалей будет отображаться некорректно. Из-за этого также сложнее будет контролировать кейдж.

что такое карта нормалей в майнкрафте. h1ygluXCo4A. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-h1ygluXCo4A. картинка что такое карта нормалей в майнкрафте. картинка h1ygluXCo4A. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Триангуляция

Поскольку разные приложения для запекания и игровые движки триангулируют модель при импорте по-своему, то чрезвычайно важно триангулировать модель перед запеканием самостоятельно, чтобы избежать различий в затенении между приложениями.

что такое карта нормалей в майнкрафте. . что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-. картинка что такое карта нормалей в майнкрафте. картинка . ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

3DsMax

Используйте модификатор Turn to poly, в настройках которого поставьте галочку на “Limit polygon size” и установите значение в поле равное 3. После этого ваша модель триангулируется, и вы сможете отправить ее на запекание!

Для просмотра триангуляции и внесения возможных изменений используйте панель Tris.

Maya

Выделите поверхности объекта и в настройках объекта выберите параметр Triangulate.

Наилучшие подходы в создании UV под запекание и текстурирование

Работая над разверткой, всегда важно думать о текстурировании. Если, например, вам нужно добавить одинаковые прямые детали к ремню, то важно расположить его UV остров ровным.

Сшивая UV острова, вы должны также думать о том, видна ли будет эта часть объекта или нет, можете ли вы позволить себе наличие градиентов в этой части.

При создании UV развертки важно располагать UV острова под прямым углом, где это только возможно. Поскольку иначе при запекании на грани появится эффект альязинга, который на текстуре будет выглядеть как лесенка из пикселей. Особенно этот эффект будет заметен, если UV остров имеет небольшой тексель или сама текстура маленького разрешения.

что такое карта нормалей в майнкрафте. YeFnzHkttlY. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-YeFnzHkttlY. картинка что такое карта нормалей в майнкрафте. картинка YeFnzHkttlY. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Искаженные детали на запечках

Прежде чем переходить к практическим примерам, обсудим немного теорию. Почему некоторые детали после запекания выглядят искаженными на карте нормалей, и как это исправить? Это происходит из-за особенностей проецирования. Для запекания нормалей используется проецирующий кейдж, который оборачивает собой HP объект и испускает проецирующие лучи для переноса информации об освещенности HP объекта на карту нормалей. Существует два типа кейджей, используемых для запекания:

Кейдж с усреднёнными нормалями игнорирует нормали LP объекта при определении направления проекции, усредняя все вершинные нормали. Основное достоинство состоит в том, что даже с использованием жёстких граней/групп сглаживания на местах фасок не появятся швы. Негативный эффект выражается в появлении искаженных деталей на карте нормалей.

что такое карта нормалей в майнкрафте. Wsoi2pQMX0Y. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-Wsoi2pQMX0Y. картинка что такое карта нормалей в майнкрафте. картинка Wsoi2pQMX0Y. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Explicit Normals непосредственно использует нормали LP объекта для построения кейджа. Следовательно, если на LP объекте расставлены жесткие грани/группы сглаживания, то на финальной модели появятся швы на местах фасок. Но, в отличие от первого способа, все детали запекутся без искажений.

что такое карта нормалей в майнкрафте. bIIAl1MinmY. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-bIIAl1MinmY. картинка что такое карта нормалей в майнкрафте. картинка bIIAl1MinmY. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Рассмотрим на примере, как бороться с искаженными деталями на запечке.

что такое карта нормалей в майнкрафте. 3mfU46vJJhM. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-3mfU46vJJhM. картинка что такое карта нормалей в майнкрафте. картинка 3mfU46vJJhM. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Можно сделать LP модель такой, добавив ей поддерживающие грани:

что такое карта нормалей в майнкрафте. L13Ggws9S 4. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-L13Ggws9S 4. картинка что такое карта нормалей в майнкрафте. картинка L13Ggws9S 4. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Это быстро дает хороший результат, но с расходованием дополнительных полигонов на LP объекте.

Поскольку на добавленных поддерживающих гранях вершинные нормали направлены строго перпендикулярно поверхности, то и результат, взятый от их среднего значения, не изменится по отношению к направлению нормалей вершин.

Модель без поддерживающих граней:

что такое карта нормалей в майнкрафте. kXZkT6VofMY. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-kXZkT6VofMY. картинка что такое карта нормалей в майнкрафте. картинка kXZkT6VofMY. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Модель с поддерживающими гранями:

что такое карта нормалей в майнкрафте. UPJMjrBrM2s. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-UPJMjrBrM2s. картинка что такое карта нормалей в майнкрафте. картинка UPJMjrBrM2s. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Видите, насколько велика разница в полигонаже между двумя объектами после добавления дополнительной геометрии? Поэтому используйте этот подход только на свое усмотрение.

Что если я не хочу тратить лишние полигоны на LP, но и не хочу получить искаженных деталей?

Это очень интересный вопрос, и вот ответ на него!

Фактически, вы добавляете дополнительные грани для поддержки при запекании, после которой их можно удалить. Но, к сожалению, это будет работать не всегда. Сначала необходимо решить, как будут выглядеть градиенты на карте нормалей. Сделайте две запечки: одну без дополнительных граней и другую с ними, а затем взгляните на различия в градиентах между двумя картами нормалей.

что такое карта нормалей в майнкрафте. GSh0r13uBF8. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-GSh0r13uBF8. картинка что такое карта нормалей в майнкрафте. картинка GSh0r13uBF8. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Они практически идентичны. И почему так? Разве я не добавил дополнительной геометрии? Суть в том, что дополнительные грани помогают ослабить градиенты, но в данном случае я уже разделил UV острова на местах с жесткими гранями/группами сглаживания, поэтому дополнительной геометрии не пришлось ничего изменять.

Так почему это важно? Если я удалю добавленные грани и применю карту нормалей внутри движка, то вот что мы получим – идеальный результат. Нет никаких различий в положении нормалей у двух объектов, хотя один из них имеет меньшее количество полигонов. Круто.

что такое карта нормалей в майнкрафте. DfSD66UbnuI. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-DfSD66UbnuI. картинка что такое карта нормалей в майнкрафте. картинка DfSD66UbnuI. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Но теперь проведем другой тест. В этот раз я сошью UV острова и назначу одну группу сглаживания ко всему объекту только для того, чтобы показать сильные градиенты на карте нормалей.

что такое карта нормалей в майнкрафте. b1IbEIOkRWw. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-b1IbEIOkRWw. картинка что такое карта нормалей в майнкрафте. картинка b1IbEIOkRWw. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

что такое карта нормалей в майнкрафте. SNcK04Tsp 0. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-SNcK04Tsp 0. картинка что такое карта нормалей в майнкрафте. картинка SNcK04Tsp 0. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Ух ты, кажется, мы что-то сломали.

Дело в том, что градиенты двух моделей стали слишком разными, и для модели без поддерживающих граней карта нормалей не может их правильно компенсировать.

Так что же делать, если у меня есть градиенты, но я не хочу назначать жесткие грани, разделять UV и прочее? Вот несколько способов:

Способ 1 (SkewMesh)

Один из простейших способов избавиться от искаженных деталей на объектах, где другие методы могут быть трудноисполнимыми, называется Skewmesh, который работает следующим образом:

что такое карта нормалей в майнкрафте. kEfYSH1cesI. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-kEfYSH1cesI. картинка что такое карта нормалей в майнкрафте. картинка kEfYSH1cesI. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

То что мы и ожидали увидеть. Теперь исправим это.

Убедитесь, что значение в поле Tension – 0, и количество итераций установлено на значении 3 или 4.

что такое карта нормалей в майнкрафте. AI04t2mc9eQ. что такое карта нормалей в майнкрафте фото. что такое карта нормалей в майнкрафте-AI04t2mc9eQ. картинка что такое карта нормалей в майнкрафте. картинка AI04t2mc9eQ. ВСЕ СООБЩЕНИЯ ПО ТИПУ "А ЗАЧЕМ ТЕБЕ" ИЛИ "ЭТО СЛОЖНО, ЗАБЕЙ" СРАЗУ ИДУТ В СТОРОНУ И ИГНОРИРУЮТСЯ С ПОМЕТКОЙ "СПАМ"!

Marmoset Toolbag

Импортируете тесселированную модель в Marmoset Toolbag, отрегулируете кейдж и запеките карту Normals Object. Затем также конвертируете карту Object Space в Tangent Space, используя Xnormal.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *