Как сделать нормал мап. В чем разница между bump, normal и displacement? Cleanup: проверяем ошибки геометрии


Карта нормалей спасает в ситуации, когда нам нужна модель с малым количеством полигонов, но с хорошей детализацией. Наложив карту нормалей на 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 в используемом материале.

AwesomeBump — это бесплатный кросплатформенный генератор текстур и различных карт.

Скачать эту программу можно с официального сайта . Данный софт генерирует текстурные карт нормалей, высот, отражений, АО. Всё это можно сделать из простого изображения. Весь процесс рендеринга осуществляется на 99% с помощью GPU процессоров видеокарты, поэтому результаты можно увидеть моментально, а все параметры можно менять практически «на лету». Последняя версия 4.0; она предоставляет множество возможностей для создания карт, вот некоторые из них:

— конвертация карты высот (bump map) в карту нормалей;

— создание bump-карты из любого изображения;

— конвертация карты нормалей в карту высот;

— получения AO (ambient occlusion) и карта отражения из изображения;

— трансформация изображения в перспективе (фотография, сделанная под наклоном, можно без труда выровнять);

— получение бесшовных текстур (простой линейный фильтр, random mode, зеркальный фильтр);

— генерация карты шероховатости и металлических текстур (доступны различные типы анализа поверхности);

— рендеринг в режиме real time;

— форматы экспорта PNG, JPG, BMP, TGA;

— простое редактирование материалов;

— добавление гранжа (грязи) на полученные карты;

— смешивание bump map с normal map;

— набор HDRI для вьюпорта, фонарик для локальной подсветки;

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

Например, работа Essoladen by Tom Meltser:

Основной набор карт следующий:

Программа простая и понятная; сегодня рассмотрим создание normal map. Уверена,что Вы легко сможете создавать свои карты в этой программе.

Вкладка работа с изображениями позволяет играть с яркостью, контрастностью, степенью детализации, а также конвертировать diffuse в другие карты. Работа с 3d-простраством (включается и выключается при желании) контролирует освещение, управляет UV — координатами. В отображении карты мы сразу наблюдаем изменения.

Мы можем подгружать свои модели в формате.obj.

Enviromental map — это освещение от HDRI — карты. Можно выбрать любой из присетов.

Чтобы открыть текстуру, достаточно перетащить её на панель с дискетой. Заметно, что карта цвета поменялась, но bump остался тот же.

Исправляем! Нажимаем Enable preview, а затем convert to N H (таким образом конвертируем карту diffuse в normal). Теперь у нас пропала текстура цвета (это баг), просто переназначаем, отключаем Enable preview её и всё отлично!

Карты в AwesomeBump 4.0.

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

Diffuse map — карта, которая отвечает за цвет.

Image general settings — общие настройки для всего изображения;

Remove shading — вкл./выкл. тени на карте; убирая тени, мы видим карту в чистом виде, без влияния освещения;

Gray scale — шкала оттенков серого; управление яркостной составляющей изображения; управление при помощи каналов RGB;

Invert component — инверсия по одному из каналов или сразу по всем;

Hue — управления оттенками цвета;

Enhance — увеличивает контрастность изображения;

Small Details — подчеркивает мелкую детализацию рисунка (при больших значениях изображение становится слишком шумным);

Medium Details — подчеркивает среднюю детализацию рисунка (очень напоминает фильтр HDR по своей работе);

Depth — работает в связке с Medium Details и/или Small Details; добавляет глубины деталям;

Sharpen/Blur — размытие изображения;

При включении Enable normalization изображение выравнивает баланс;

Min value — от обычного изображения, которое мы загрузили (0) до чёрного цвета (1);

Max value — от серого цвета (0) до обычного изображения, которое мы загрузили (1);

Base map to others — конвертирует Diffuse в остальные карты.

Small, medium, big, huge — это детализация одной и той же карты, но с разной степенью крупности.

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

Show height texture отображает карту высот.

Normal map — это карта высот, которая использует 3 канала текстуры, чтобы дать объекту рельеф. Лучше по свойствам, чем bump, где можно увидеть рельеф только с одной стороны, но хуже чем displasment. Зато такая карта обеспечивает оптимальный результат в соотношении время просчёта — результат.

Тут главный параметр Depth in pixels — позволяет задать вручную глубину пикселей. Как же её вычислить? Очень просто. AwesomeBump имеет свой калькулятор, который вычисляет оптимальную глубину в зависимости от размеров объекта. Жмём на три точки возле самого параметра и у нас появится окошко:

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

В создании карт specular, occlusion, roughness также нет ничего сложного. Все изменения можно сразу наблюдать как во вьюпорте, так и на самой карте.

В статье мы подробно рассмотрим отличия карт bump от normal и displacement.

Вы столкнулись с трудностями при назначении карты bump на 3D-объект? Не переживайте! Многие 3D-художники, которые только начали изучать с 3D-текстурирование, испытывают сложности в этой области, не зная, какой тип карт выбрать: bump, normal и displacement.

Все три типа карт создают дополнительную детализацию на поверхности геометрии. Некоторые из этих деталей «настоящие», другие нет. Итак, попытаемся разобраться, в чем же заключается разница между картами bump, normal и displacement.

Что такое карты bump

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

Обычно, карты bump - это черно-белые 8-битные изображения. И это только 256 цветов черного, серого или белого. С помощью этих значений карты bump сообщают 3D-редактору всего 2 вещи: деформировать геометрию вверх или вниз.

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

Карты bump отлично подходят для создания на поверхности модели мелкой детализации, например, пор или морщин на коже. Кроме того, их сравнительно легко создать в таком 2D-редакторе, как Photoshop, помня при этом, что работать нужно только с черно-белыми цветами.

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

Что такое карты normal

Карты нормалей или normal-карты - это улучшенные карты bump. Normal-карты, как и карты bump, создают фейковую детализацию, не добавляя дополнительных деталей геометрии в сцене. В результате, карты нормалей создают на поверхности модели иллюзию детализации, но эта детализация в корне отличается от той, которую создают карты bump.

Как мы уже знаем, карты bump используют черно-белые цвета, чтобы вдавливать или выдавливать поверхность геометрии. Normal-карты работают с RGB-информацией, которая точно отвечает X, Y и Z значениям в 3D-сцене. Эта RGB-информация сообщает 3D-редактору точное направление нормалей каждого полигона поверхности. Ориентация нормалей поверхности, которые часто называются просто нормалями, сообщает 3D- редактору, в какой цвет окрасить тот или иной полигон.

Normal-карты бывают двух типов и выглядят совершенно по-разному в 2D-пространстве.

Наиболее распространенным типом карт нормалей являются normal-карты типа tangent space, которые зачастую сочетают в себе лиловый и синий цвета. Этот тип карт нормалей лучше всего подходит для мешей, которые должны деформироваться при анимации. Normal-карты типа tangent space идеально подходят для персонажей. Для объектов, которые статичны и не испытывают деформаций, больше подходят карты нормалей типа object space. Эти карты окрашены в различные цвета и просчитываются немного быстрее normal-карт типа tangent space.

При использовании карт нормалей нужно понимать несколько моментов. В отличие от bump’а эти карты сложнее создать в 2D-редакторе типа Photoshop. Запекаются normal-карты с хайпольного меша на лоупольный. Однако, есть несколько путей их редактирования. Например, возможность редактирования карт нормалей представлена в MARI.

Кроме того, normal-карты лучше других вписываются в большинство пайплайнов. Но в отличие от карт bump в этом правиле есть исключение. И касается оно мобильного геймдева, поскольку аппаратные средства начали «понимать» карты нормалей сравнительно недавно.

Что такое карты displacement

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

Карты displacement выгодно отличает то, что их можно запечь с хайпольного меша или нарисовать вручную. Карты displacement, как и карты bump, работают с черно-белыми значениями цветов. При этом с легкостью можно использовать и 8-битные карты displacement, но лучший результат можно получить с помощью 16- или 32-битных карт displacement. И, хотя, 8-битные карты displacement лучше выглядят в 2D-пространстве, в на рендере они могут вызвать странные артефакты и пр. из-за недостаточной информации.

А вот что касается времени просчета, то тут все далеко не так круто. Создание дополнительной детализации в режиме реального времени достаточно трудоемкий процесс, с которым 3D-редактор справится не быстро. Кроме того, большинство 3D-редакторов просчитывают displacement уже на рендере. По сравнению с картами bump и normal карты displacement могут серьезно сказаться на времени рендера.

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

Одновременное использование всех карт

В некоторых случаях для одного и того же объекта можно использовать карту bump или normal в сочетании с displacement. При этом карту displacement лучше всего использовать для значительных изменений геометрии, а карты bump и normal для добавления мелких деталей.

Всем привет! В этой статье я хотел бы поговорить о запекании карты нормалей (normal map) в программе Substance Painter . Вернее было бы сказать, что я попытался собрать воедино все тонкости запекания в Substance Painter. В самом процессе запекания карты нормалей нет ничего сложного и сверхъестественного. Вопрос в том, почему у многих начинающих этого не получается. Хотя вроде все делают как надо. Я попытался вывести несколько правил, которые помогут вам сделать это быстро и качественно. Так же мы рассмотрим причины, по которым порой не получается запечь карту нормалей. Разбирать процесс подготовки мы будем на примере части 3d-модели бульдозера .


Я буду делать урок на основе программы Maya . В 3ds Max принципы те же, только инструменты другие.


Большинство наших действий будут направлено на подготовку модели для запекания. Что-то из моих пунктов не так критично и может просто указывать на то, как я подготавливаю модель для Substance Painter и игрового движка UE4 или Unity 5.


Чтобы запечь карту нормалей нам понадобиться две модели. Одна модель высоко полигональная (hi poly), а другая низко полигональная (low poly). Вы можете изготовить вначале высоко полигональную 3д модель , а затем на ее основе сделать низко полигональную модель. Или выражаясь по-другому сделать ретопологию . И сделать это можно с помощью программы topoGun или вручную. Хотя кто-то предпочитает делать вначале low poly модель и затем уже наделять ее деталями. Все зависит от вашего предпочтения и удобства.


Имеет смысл создать два отдельных слоя low и high. Это очень поможет вам в дальнейшем. В один будете кидать все что относится к низко полигональной модели, а в другой высоко полигональной.

1. Suffix: делаем правильные суффиксы

Самое первое правило касается названий ваших деталей. Имена вашим деталям нужно будет давать специфические. Всем высоко полигональным деталям нужно будет давать суффикс _high, а низко полигональным _low. Обратите внимание на нижнее подчеркивание:
Base_low – Base_high
Крыло_low – Крыло_high


Всегда обращайте внимание на название ваших деталей чтобы не закрались ошибки, иначе Substance Painter откажется запекать карту нормалей. Важно, чтобы имена деталей совпадали и отличались только в суффиксе, _low и _high должны быть четкими. То есть без каких-либо приписок типа _low1. А такое бывает потому, что Maya сама приписывает цифры, так как название _low уже есть.


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


Внимательно посмотрите названия деталей в Outliner . Возможны вот такие казусы:


2. Align: выравниваем модели для запекания

Важно выровнять обе модели – вернее, отцентрировать их по отношению друг к другу! Делается это с помощью инструментов выравнивания Align .



Иначе, у вас может получиться вот такая штука:



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

3. Freeze: сброс координат

Помимо того, что вы выровняете все детали можно еще сбросить все координаты в ноль посредством инструмента Freeze . Рекомендую делать эту операцию непосредственно перед экспортом модели в.obj формат.


4. Center Pivot: выставляем опорную точку

Для дальнейшей работы вам необходимо будет выставить реальный центр детали Center Pivot .


5. Cleanup: проверяем ошибки геометрии

Следующим шагом будет проверка нашей модели на наличие ошибок в геометрии: это один из важнейших этапов для последующего запекания карты нормалей (normal map) в Substance Painter. Для этого мы будем использовать инструмент Cleanup .



Раздел Cleanup Effect

Operation.

  • Cleanup matching polygon – это практически автоматический поиск исправление, удаление или разбиение на треугольники неправильных полигонов в вашей модели.
  • Select matching polygons – неправильные полигоны будут подсвечены на нашей модели. Maya же исправлять ничего не будет, только выберет их.
  • Apply to selection objects – применить к выбранным объектам.
  • Apply to all polygonal objects – применить ко всем полигональным объектам.
  • Keep construction history – Оставляет историю в channel box.


Раздел Fix by Tesselation .


В зависимости от выбранных ранее пунктов программа либо исправит проблему, либо укажет на нее.

  • 4-sided faces – покажет все четырехугольные полигоны.
  • Faces with more than 4 sides – покажет полигоны с более чем четырьмя сторонами.
  • Concave faces – отмечает все полигоны, которые не являются выпуклыми фигурами.
  • Faces with hole – полигоны с отверстиями.
  • Non-planar faces – будет отмечать все полигоны, которые не являются плоскостью. Укажет все полигоны, чьи вершины не лежат в одной плоскости.


Раздел Remove Geometry .

  • faces – Удаляет или показывает дубликаты полигонов, созданные по ошибке.
  • Nonmanifold geometry – показывает или удаляет неправильную геометрию (На самом деле Maya отделит проблемные полигоны от основной модели). Ошибки типа выдавленных случайно полигонов или полигонов, которые прикреплены к остальной модели через одну точку (vertex).
  • Normals and geometry – позволит вам исправить вывернутые полигон.
  • Geometry only – только геометрия.
  • Edges with zero length – показывает или удаляет ребро нулевой длины. Ниже мы можем задать этот порог Length tolerance – .
  • Faces with zero geometry area – полигоны с нулевой площадью геометрии. Area tolerance – (см. рисунок ниже).
  • Faces with a zero map area – полигоны с нулевой площадью карты. Покажет полигоны, которые на UV развертке меньше чем указано в окошке Area tolerance – .

Правильная UV развертка для запекания карт нормалей

Ваша UV развертка должна тоже соответствовать определённым правилам.


Основная проблема «запекателя» в Substance Painter состоит в том, что он не любит большие натяжения в модели. То есть, ему проще понимать объект как множество отдельных полигонов. Если же у модели есть острые углы, то программе это не совсем нравится, и она не корректно запекает карту Normal. Поэтому я рекомендую при нарезке UV обращать внимание на эти самые углы под 90° или 45° и разрезать 3д-модель прямо по ним. Это снимет напряжение на развертке и модель запечётся более-менее хорошо. А главное, не будет мерзких швов.


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



В результате, у меня получилась хорошая, сглаженная модель.



Также, программа плохо относится к вытянутым полигонам. Поэтому, при возникновении проблем во время запекания normal map, нужно стараться делать полигоны по форме ближе к квадрату.


7. Soft or Hard Edge: определяем жесткие и мягкие грани

Следующим важным элементом в наших правилах будет определение жестких и мягких граней.
По сути, это правило сводится к тому, что острые углы детали – жесткие (hard ), а внутренности- мягкие (soft ).
Полезно будет изучить окно Polygon Selection Constraint on Edge (Select => Use Constrants...). Оно позволяет задать всевозможные фильтры на выбираемые компоненты: например, выбирать только грани, находящиеся под определенным углом к линии взгляда. Таких фильтров там несколько.



Для начала я сбросил все настройки выбора (Reset ). Выбираем все ребра и выставляем им всем сглаживание Soft .




Затем, настроим фильтр по углам.



Минимальный угол: 45°, а максимальный: 120°.


8. History: работаем с историей

Тут все просто: Удаляем всю историю, что вы делали с деталью. Есть смысл вывести эту команду на полочку Shelf. Как это сделать, я говорил в уроке по созданию полок в Maya ;).



Есть еще один момент, связанный, скорее всего, с багом программы, когда история не хочет удаляться. Перерыв кучу источников по этому вопросу, я пришел к выводу, что самым простым способом будет продублировать модель, а старую удалить. Есть еще подозрение на то, что все плохо с историей после инструмента Freeze. Так что, старайтесь замораживать позицию модели непосредственно перед экспортом в формат obj. Если у вас есть другие способы борьбы с этой ошибкой – напишите мне (или в комментариях к уроку).

9. Запекание мелких деталей

Все мелкие детали, что вы сделали на hi poly модели (ручки, кнопки, дополнительные панельки) можно запечь на low poly модели посредством карты Normal. При создании мелких деталей следует учитывать их геометрию. Стараться избегать крутых углов под 90°. Лучше чуть увеличить угол – тогда программе будет проще запечь геометрию.






Все детали вы соединяете в одну посредством инструмента Combine .



Вот тут возможен еще один казус, который может помешать вам запечь мелкие детали. Хотя все до банального просто. При соединении деталей в одну посредством Combine , программа Maya переименовывает эту получившуюся деталь, а вы этого можете не заметить. Так что внимательно проверяйте все через Outliner . Я просто выделяю все детали из слоя low и смотрю чтобы не было никаких казусов с именами.


10. Формат экспорта

В Maya есть возможность сохранять в формат .fbx посредством инструмента game exporter . Лично у меня Substance Painter и Substance Designer работают с ошибками с этим форматом. На модели возникают дырки в геометрии. Предполагаю, что это какой-то баг Maya. Возможно, у вас все будет прекрасно – попробуйте!
У меня отлично работает File -> Export Selection и экспорт в .obj формат.

Не буду разбирать все пункты этого окна, так как это тема отдельного разговора. Пробегусь только по тем пунктам, которые нам интересны в данном уроке.
Оставляем галочку только напротив пункта Normal , остальные снимаем. Потому что мы запекаем только карту нормалей (Normal). Разрешение играет роль, от этого будет зависеть качество карты.
В разделе High poly parameters , в окне High Definition Meshes , нажимаем на пиктограмму листика с загнутым краем. Выбираем нашу high poly модель.


Cage File : тут вам позволяют выбрать свою cage модель, если ее у вас нет то пропускаем этот пункт.
Max Frontal Distance и Max Rear Distance : Я выставил значение 0.03 – это позволило мне добиться хорошего качества. Вы можете поиграть этим значение в большую или меньшую сторону и посмотреть на конечный результат запекания карт нормалей (normal map).


Остальные галочки оставьте как есть. Единственное, может включать или выключать Average Normals (усреднение значений).
Match: By Mesh name или Always – важный пункт, если в вашей модельке много деталей. Позволяет запечь каждую деталь как бы отдельно. То есть программа уже не смотрит на находящиеся рядом детали. Если у вас много деталей выбирайте By Mesh name . Вот именно для этой цели мы и давали каждой детали отдельные похожие названия изменив при этом suffix _low и high.
base_low – base_high
Antialiasing: Выбор уровня сглаживания.
High poly mesh suffix и Low poly mesh suffix : вот тут вы можете назначать имена суффиксов сами, какие вам больше удобны.



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


Напомним, что в предыдущих уроках по Maya (моделирование и создание развертки и текстур), мы подробно изучали создание low-poly 3d-модели микроавтобуса.


На этом наш урок по запеканию карты нормалей в Substance Painter закончен. Спасибо за внимание! Если вас интересуют уроки по Substance Painter пишите.
С Уважением, Onza !


Перепечатка и использования данного материала без прямой обратной ссылки категорически запрещена!

В предыдущей части статьи было рассказано про .

Данная часть статьи посвящена мини-обзорам программ и плагинам для генерации карт, включая карты нормалей, карты смещения, самоосвещенной карты нормалей, карты освещения/затенения и карты отражений из текстуры и карты высот. В данной части статьи, помимо уже упомянутого в одной из предыдущих частей Normalmap Online, обозреваются такие программы и плагины, как Normalmap Online, NVIDIA Texture Tools for Adobe Photoshop (NVIDIA Normal Map Filter), SSBump Generator, xNormal, GIMP normalmap plugin и SmartNormal, CrazyBump и Awesome Bump.

Вы можете поддержать автора проекта , пожертвовав ему сумму (сколько посчитаете нужным и возможным) на развитие сайта.

NVIDIA Texture Tools для Adobe Photoshop

Раз разговор зашел о картах нормалей, не могу не сказать еще об одном удивительном инструменте NVIDIA Texture Tools for Adobe Photoshop , который позволяет:

— работать с сжатыми текстурами (в частности открывать .dds файлы Direct Draw Surface и сохранять их в формате RGB в сжатом и несжатом видах;

генерировать карт нормалей из карт высот и, как было сказано выше, походящих текстур, посредством NVIDIA Normal Map Filter , входящим в состав данного набора утилит;

— создавать мип-мапы (мип-карты , Mip maps ), т.е. копии текстуры с разной детализацией разного размера, позволяющие при текстурировании выбирать изображение с наиболее подходящим размером;

— создавать кубические карты/кубические текстуры Cubemaps (пришедшие на смену Sphere map s ), в частности, использующиеся для создания окружения/неба, и состоящие из шести квадратных текстур, являющимися гранями куба, окружающего игровой объект.

Более подробно с возможностями данного набора инструментов вы можете ознакомиться на сайте Nvidia, либо в pdf-файлах NVJavaScript. pdf , PhotoshopDDSPlugin. pdf и PhotoshopNormalMapFilter. pdf , которые будут доступны вам в папке “\\ Program Files\ NVIDIA Corporation\ “ или в “\\ Program Files (x86)\ NVIDIA Corporation\ “после установки пакета.

Для того чтобы запустить плагин, выберите слой, на котором хотите применить фильтр, затем вкладку Filter в главном меню, в котором выберите вкладку NVIDIA Tools , а в ней – NormalMapFilter .

Карты нормалей, создаваемые в NVIDIA Texture Tools for Adobe Photoshop в режиме по умолчанию, как и 3ds Max, имеют инвертированный зеленый канал, следовательно, для того чтобы они правильно работали в Unity3D, необходимо инвертировать ось Y (Invert Y ) при создании карты нормалей из текстуры или карты высот.

На рисунке показаны созданные карты нормалей из текстуры.

Как видно из рисунка, NVIDIA Normal Map Filter не просто позволяет создавать карты нормалей из изображений (в центре), используя большое количество настроек (окна настроек показанынад созданными картами нормалей), но и инвертированные карты нормалей (справа), как если бы цвета текстуры предварительно были бы инвертированы.

Также в данном плагине существует возможность предпросмотра карты нормалей на 3D модели (плоскости), что присутствует и в плагине для Фотошопа xNormal , который является частью standalone версии xNormal.

16-битный фильтр для плагина от nVidia доступен по ссылке NormalMapFilter16.zip , который позволяет работать с 16bit изображениями в градациях серого, в которые экспортирует изображения ZBrush .

SSBump Generator

Еще одним представителем семейства генераторов карт нормалей и карт высот является SSbump Generator 5.3 w/ CUDA , который позиционируется, как должно быть понятно из названия, как генератор ssbump карт нормалей (Self- Shadowed Bump Maps ). Карты нормалей ssbump являются частью системы самозатенения (хранения карты затенений вместе с картой нормалей), реализованной в движке Source от Valve Corporation . На данном движке был реализован известный Half- Life 2 , а также переиздана первая часть данной игры, получившая название Half- Life: Source , которая была издана в 2004 году, и включающая ряд графических нововведений и дополненная изменениями в игровом процессе.


На рисунке показан интерфейс программы SSbump Generator 5.3 w/ CUDA, а также пример создания самозатененной карты нормалей (Self-Shadowed Bump Maps) для движка Source, разработанного компанией Valve.

Помимо ssbump текстур (самозатененных и не самозатененных) SSbump Generator способен генерировать простые карты нормалей, карты высот, а также добавлять карту затенения (ambient occlusion) к изображению. Интерфейс не совсем интуитивно понятный.

Кстати карты нормалей ssbump также можно запечь и в xNormal .

xNormal


На рисунке показан затекстурированный чайник Юта/Ньюэлла в окне 3D предпросмотра созданной карты.

Smartnormal

Заканчивая обзор бесплатных утилит, плагинов и приложений для создания карт нормалей (и не только), хотелось бы рассказать еще об одном онлайн приложении. Smartnormal представлен в двух версиях – более поздней Smartnormal 2.0 и Smartnormal 1.0 .

Основным отличием Smart Normal 1.0 от второй версии является возможность выбора фильтра, который будет использован для создания карты нормалей: упомянутый выше Собель и Condensed . Судя по заверениям разработчиков от февраля 2009 года, данный генератор карт нормалей был (или и сейчас) доступен в виде плагина для After Effects и Photoshop , но требует предустановленного Pixel Bender Plugin .


На рисунке показана текстура и карта нормалей, сгенерированная для нее в онлайн генераторе карт нормалей Smart Normal (Smart Normap).

В данной версии приложения карты нормалей по умолчанию создаются с инвертированым Красным (R) каналом (как в Normalmap Online , описанном выше), так что не забудьте его “обратить” в веру Unity3D. Количество настроек – минимально: Сила (Bias ), Размытие (Blur ), возможность инвертирования исходного изображения (Invert source ) и возможность инвертирования Зеленого (G) и/или Красного (R) каналов.

[email protected]

Post Views: 33 540

Понравилось? Лайкни нас на Facebook