Создание капель воды с использованием normal bump

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

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

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

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

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

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

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

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

Материал

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

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

Для детализации поверхности ваших моделей 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 или больше уровней подразделения для достижения приемлемого эффекта.

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

А поскольку специальной такой кнопки в шопе нет, то я её попросту сделал сам, чтобы не тратить попусту время.

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

Вот мой скриптик для фотошопа (проверена работоспособнность в фотошопах CS3 и CS5):
http://narod.ru/disk/20621667000/max-and-maya-tools.rar.html
Он попросту меняет местами красный и зеленый каналы.

Используется просто: распаковываем архив на диск и
сначала подгружаем этот экшн себе в шоп
открываем фотошоп, жмем F9,
в самом правом верхнем уголочке открывшейся панели actions нажимаем иконку (со стрелочкой вниз) и выбираем LOAD ACTIONS,
после чего выбираем распакованный файл max-and-maya-tools.atn
и видим, что в панели ACTIONS появилась папка и скриптик "swap-channel".

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

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

Happy modelling, brothers and sisters!

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

В статье мы подробно рассмотрим отличия карт 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 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!

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

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

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