В чем разница между bump, normal и displacement? Создание Normal Bump и его применение


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

Изначально у нас есть HighPoly модель Box001 большим количеством полигонов). У нас стоит задача сделать LowPoly модель, которая будет повторять основные формы заданной модели.

В данном случае хватит всего 14 полигонов что бы сделать основу (Box002 ) для наложения карты нормалей с Box001 .

Настройка визуализации карты нормалей

Выделив Box002, нажимаем на вкладку Rendering/RenderToTexture (горячая клавиша «0»).

Перед нами открылось окно Render To Texture. В параметрах Projection Mapping ставим галочку напротив Enabled , нажимаем Pick… , выделяем HighPoly модель и кликаем Add .

Вокруг объекта появился контейнер проецирования, который надо подогнать так, чтобы в него поместилась вся HighPoly модель. Для этого переходим на вкладку Modify/ Projection/ Cage , нажимаем Reset , если контейнер был автоматически создан с искаженной формой, и изменяем параметры Amount и Percent , увеличивая контейнер до нужного размера.

В окне Render To Texture , в параметрах Output нажимаем Add… Если вы рендерите с помощью Vray , то выберите Vray Normals Map и нажмите Add Elements . Если используете стандартный рендер, то выберите Normals Map.

Есть возможность изменить имя карты (Name ), путь для сохранения карты нормалей (File Name and Type ), тип слота материала (Target Map Slot ), а также размер карты (Width/Height ).

Нажимаем Render и видим результат.

P.S.: Карта нормалей сохраняется автоматически. Стандартный путь сохранения: C:\Users\Документы\3dsMax\sceneassets\images.

Применение карты нормалей к LowPoly модели

Выделяем ранее созданную LowPoly модель.

На панели Modify выбираем модификатор Automatic Flatten UVs, который был создан автоматически в процессе создания карты нормалей. Нажимаем кнопку Open UV Editor… В открывшемся окне выбираем File/SaveUVs… , и сохраняем развёртку.

Открываем редактор материалов MaterialEditor (горячая клавиша М ), создаём материал VRayMtl . В слот Bump выбираем карту Normal Bump .

Заходим в параметры карты Normal Bump. В слот Normal выбираем карту Bitmap , и открываем ранее созданную карту нормалей. Применяем созданный материал к LowPoly модели.

На панели Modify добавляем модификатор Unwrap UVW . Нажимаем кнопку Open UV Editor… В открывшемся окне выбираем File/LoadUVs… и загружаем сохранённую развёртку.

В окне Edit UVWs, в правом верхнем углу, открываем свиток текстур и выбираем созданную нами карту нормалей.

Запустив Render, мы увидим, что LowPoly модель имеет те же детали, что и HighPoly . Детали можно сделать более или менее выраженными, меняя значения параметра Bump в используемом материале.

Для детализации поверхности ваших моделей LuxRender поддерживает bump, displacement и microdisplacement.

Важно помнить, какие единицы измерения использует LuxRender. 1 unit в LuxRender равен одному метру. Поэтому, если вам нужен небольшой рельеф, начинайте со значений 0.01 или даже 0.001.

В отличие от диффузных и спекулярных каналов, а также каналов прозрачности, bump и displacement maps просто используют яркость любой текстуры, а не значение цвета. Если ваша текстура имеет переключатель color/float, не забудьте установить его на «float».

Bump Maps

Bump mapping — это процесс локального переопределения затенения поверхности, основанного на текстуре без изменения геометрии. Таким способом можно создавать множество мелких деталей без изменения излишне сложных моделей.

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

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

Normal Maps (карты нормалей)

Normal maps — это расширенная версия bump maps, которая может деформировать фиктивную поверхность в любом направлении, а не только вверх или вниз, как это делает bump map. Для использования normal maps в LuxRender создаются специальные текстуры «normal map» в канале «bump mapping». При использовании запечённой карты нормалей (например, из высокополигонального меша) необходимо включить опцию "generate tangents" для этого меша.

В настоящий момент LuxRender поддерживает только карты нормалей касательного пространства.

Displacement (смещение)

Displacement похож на bump mapping, но он изменяет реальную геометрию поверхности объекта, основываясь на текстуре. Дополнительно поверхность объекта может быть подразделена, в результате чего получается более детальная форма.

Единицы измерения для смещения идентичны единицам измерения для bump mapping, где 1 единица равна 1 метру. Лучше начинать с небольших значений.

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

Microdisplacement — это метод смещения поверхности на лету.

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

Работа подразделения Microdisplacement отличается от работы обычного подразделения поверхности, используемого для displacement или сглаживания сетки.

Потребуется 5-20 или больше уровней подразделения для достижения приемлемого эффекта.

Рисование вертикальных капель

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

Рисование полукруглых капель

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

Совмещение карт

Выделите все слои и объедините их так, чтобы остался только один.

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

Мы будем использовать CrazyBump , это программа для создания карт нормалей и карт displacement из двумерных изображений, есть похожие бесплатные программы: генератор SSbump , xNormal и внутри фильтров Photoshop, также имеет возможность создавать карту нормалей.
В CrazyBump откройте изображение, которое вы сохранили. Откройте карту высот из файла, и настройте значения, как показано на изображении.

Материал

Для этого урока я создал окно со стеклом, где я поместил текстуру. Для этого я создам материал V-Ray со 100% белой отражательной способностью и рефрактностью. В поле Bump я поставлю VRayNormalMap и в этом изображение, которое мы сохранили в CrazyBump.

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

Normal bump. Zbrush to maya and 3ds max.

1) Проблемы новичка с созданием и наложением карты нормалей.

Основная проблема в том, что не смотря на обилие информации в гугле, разобраться с возникающими проблемами с одного захода совершенно не получилось у меня.

Вторая проблема в том, что Zbrush генерит эти карты нормалей как попало. Во всяком случае, до тех пор пока у меня как у новичка в этом деле руки растут из одного места, четкого понимания до сих пор нет.

Проблему я уже описал несколькими постами ниже.

А теперь просто хочу как-то изложить способы решения более структурно и в одном месте.

И так, есть модель, сделанная в высоком разрешении HD в Zbrush:

На модель назначены текстурные координаты (в примере для простоты понимания это PUV-Tiles)

Переходим в самый нижний уровень subdividion для модели и генерим, и сохраняем детали в карту нормалей с включенными кнопками TANGENT, ADAPTIVE, Smooth UV с помощью кнопочки create normal map

Потом жмем кнопочку CLONE NM и сгенеренная текстурка появляется в окошке текстур, откуда её с помощью кнопочки export можно сохранить на диск.

ATTENTION: при сохранении в PSD у меня лично 3D max вылетает нафик, поэтому я сохраняю только в TIFF

"Проблема" номер 1 (для Maya) - видим, что получилась какая-то плитка вместо карты

Решается просто - либо при экспорте текстуры из Zbrush в настройках жмем кнопку FLIP V либо открываем текстуру в фотошопе и делаем Image > Image rotation > Flip canvas vertical сохраняем и видим, вуаля...

Вуаля, да не совсем. Иногда появлялся второй баг, как в MAYA так и в 3DS MAX. Зависимость пока еще я так и не проследил четко

Вот болванка (3DS MAX 2011):

На неё назначен модификатор TURBOSMOOTH и в настройках материала в слот BUMP положена карта NORMAL BUMP

Включаем рендер и видим (обратите внимание на губы). Снова плитка:

Кстати в MAYA эта же плитка вчера выносила мне мозг. И если в Максе этот баг лечится просто: надо в настройках карты Normal Bump поставит галочку SWAP RED and GREEN

То в Майке (а я в ней сижу только первый день) я так и не нашел, где это сделать. Кстати в той же майе мне выносит мозг одна штука - войти в режим настройки какой-нибудь опции можно, нажав на кнопочку [>], а выйти обратно ну никак не получается. У меня просто вкладки меняются одна на другую.

2) Но есть еще один способ, который позволит не мучиться с настройками в максе и майе. Это способ - поменять каналы в фотошопе (красный и зеленый).

Если нажимать такую же кнопочку в zbrush, то проблема у меня нифига не лечится почему-то.

Идем в 3DS MAX (или кому что ближе) и вот теперь, вроде бы вуаля... уфф...

Кстати в настройках для VRAY в карте VrayNormalBump точно также не предусмотрена галочка

swap RED and GREEN.

Happy modelling, brothers and sisters!

На самом деле у меня еще вопросов гораздо больше, чем ответов, но надеюсь, что эти лекарства

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

Статьи по теме: