- Zbrush Multi Map Exporter — Correctly exporting UDIMs and Displacement
- Татьяна Чередниченко
- Alejandro Malysheff
- Татьяна Чередниченко
- Alejandro Malysheff
- Steve Cherk
- Татьяна Чередниченко
- Alejandro Malysheff
- Steve Cherk
- Вопрос по картам в Zbrush
- Тонкости Displacement
- КАК РАБОТАЮТ DISPLACEMENT-КАРТЫ ТИПА FLOATING-POINT
- НАИБОЛЕЕ РАСПРОСТРАНЕННЫЕ ГРАБЛИ И СПОСОБЫ ИХ ИЗБЕЖАТЬ
- UV-РАЗВЕРТКА МЕГА ВАЖНА
- ПРОВЕРЯЙТЕ БЕЙЗМЕШ ДВАЖДЫ (А ТО И ТРИЖДЫ)
- КАРТЫ DISPLACEMENT ТИПА FLOATING-POINT ЗАВИСЯТ ОТ МАСШТАБА
- FLOATING-POINT VS INTEGER
- КАРТЫ DISPLACEMENT СПОСОБНЫ НА МНОГОЕ
- СНЯТИЕ КАРТ DISPLACEMENT
- ZBrush (Multimap Exporter):
- Необходимо отметить кое-что, касательно ZBrush и плагина Multimap Exporter:
- ZBrush (Displacement Subpallette):
- Mudbox:
- НАЗНАЧЕНИЕ DISPLACEMENT-КАРТ
- V-Ray для Maya:
- V-Ray для 3ds Max:
- V-Ray для Cinema 4D:
- Arnold для Maya:
Zbrush Multi Map Exporter — Correctly exporting UDIMs and Displacement
Татьяна Чередниченко
Пользователь сайта
Всем привет. Я не могу разобраться с тем что надо для того чтоб воспользоваться плагином Multi Map Exporter. Понятно что для запекания карт необходима UV развертка, для этого необходима low poly. Моя цель это создать модель не для игрового движка, а просто перенести ее в Substaice Painter и затекстурить. Для этого я решила воспользоваться стандартными инструментами Zbrush — для UV и lowpoly. В итоге, lowpoly пойдет в Substaice Painter (SP) как fbx, на ней я собственно и делала развертку (первое что не ясно это — развертка передается в SP с созданными UV-шками. .fbx уже содержит в себе инфу о UV? а карты загружаем дополнительно, выходит, в SP).
Далее, мне надо запечь карты чтоб передать более детальные искажения на мою lowpoly. Значит делать их надо с high poly? для этого мне надо перенести UV-шки с low poly на high poly? С этим возникают проблемы. Или что мне необходимо сделать чтоб воспользоваться Multi Map Exporter? Я смотрела, что для начала, необходимо загрузить Texture, Displacement / Normal Mup, а затем запекать через Multi Map Exporter текстуры. Но где это взять — текстуры, дисплейсмент и пормал?
Возможно у кого-то есть свой, более оптимальный пайплайн? Как лучше поступить с сабтулами? Тоесть держать части модели на одном сабтуле но в разных полигрупах, а потом уже делать разветку? или сначала для каждого развертку, а потом в один сабтул? Возможно, мне надо триангулировать модель через Decimation Master? Но триангулированная модель для разветки не годится, так?
В общем, я новичок, с вашим сообществом еще не контактировала, читала различную литературу, пыталась вникнуть в англоязычные видосики, — много неясных деталей осталось. Помогите мне.
Alejandro Malysheff
Активный участник
Татьяна Чередниченко
Пользователь сайта
Alejandro Malysheff
Активный участник
Steve Cherk
Мастер
FBX, как и другие форматы, может содержать UV, а может и не содержать. Зависит сделали эту развертку или нет
короче, из зебры по большому счету лучше забирать лоупольку с UV, текстуру цвета и хайпольку для снятия рельефа мелких деталей.
Сабстанс сам по себе отлично снимает и дисплэйсы, и нормали и кривизну и прочее, что ему надо для нормального текстурирования.
Вот рисовать в сабстансе не сильно удобно. Потому карту цвета лучше в браше делать. Нормали в браше какие-то кривые снимаются, сталкивался с этим. Лучше оставить это дело сабстансу. Так что кроме карты цвета по идее оттуда и экспортировать нечего.
Есть правда момент, что в зебре по умолчанию переворачиваются координаты UV зачем-то. Но там есть кнопачки для отзеркаливания. А то может текстура выйти вверх ногами.
Так что в принципе пайплайн выглядит примерно так — взяли лоуполи модель уже с UV, или в крайнем случае UV в зебре развернули.
Накидываем сколько надо дивайдов для получения хайполи для рисования деталей мелкой детализации и покраски полипайнтом. Красим как надо на верхнем уровне сабдива, чтобы четкость как можно выше где надо.
Далее просто экспортим с первого уровня сабдива модель в FBX (или Obj, если больше нравится, но лучше FBX)
Далее поднимаемся на верхний уровень сабдива с деталями и экспортим с него FBX. Он всегда сохраняется тем полигонажем, на каком сабдиве находимся.
С этого же высшего уровня снимаем карту цвета мультиэкпортером или просто текстуру отдельно экспортим. Возможно ее придется перевернуть по вертикали.
в сабстансе грузим лоупольку
идем в раздел где карты снимаются все. Это слева Bake maps который
Там в Common надо указать путь на нашу хайпольную модель. Возможно что-то там покрутить с настройками запечки, но лучше сначала по умолчанию оставить.
Ну в итоге получаются все нужные карты от нормальки до кривизны, на которые сабстанс уже потом свое что-то наложит дополнительно.
Остается затащить карту цвета на шельф в текстуры и дальше уже обычный процесс в сабстансе со слоями и прочим.
Так что нормали, дисплэйсы и прочее из зебры не нужно, если есть хайполька в тех же координатах, что и лоуполька. Сабстанс все снимет что надо
Татьяна Чередниченко
Пользователь сайта
FBX, как и другие форматы, может содержать UV, а может и не содержать. Зависит сделали эту развертку или нет
короче, из зебры по большому счету лучше забирать лоупольку с UV, текстуру цвета и хайпольку для снятия рельефа мелких деталей.
Сабстанс сам по себе отлично снимает и дисплэйсы, и нормали и кривизну и прочее, что ему надо для нормального текстурирования.
Вот рисовать в сабстансе не сильно удобно. Потому карту цвета лучше в браше делать. Нормали в браше какие-то кривые снимаются, сталкивался с этим. Лучше оставить это дело сабстансу. Так что кроме карты цвета по идее оттуда и экспортировать нечего.
Есть правда момент, что в зебре по умолчанию переворачиваются координаты UV зачем-то. Но там есть кнопачки для отзеркаливания. А то может текстура выйти вверх ногами.
Так что в принципе пайплайн выглядит примерно так — взяли лоуполи модель уже с UV, или в крайнем случае UV в зебре развернули.
Накидываем сколько надо дивайдов для получения хайполи для рисования деталей мелкой детализации и покраски полипайнтом. Красим как надо на верхнем уровне сабдива, чтобы четкость как можно выше где надо.
Далее просто экспортим с первого уровня сабдива модель в FBX (или Obj, если больше нравится, но лучше FBX)
Далее поднимаемся на верхний уровень сабдива с деталями и экспортим с него FBX. Он всегда сохраняется тем полигонажем, на каком сабдиве находимся.
С этого же высшего уровня снимаем карту цвета мультиэкпортером или просто текстуру отдельно экспортим. Возможно ее придется перевернуть по вертикали.
в сабстансе грузим лоупольку
идем в раздел где карты снимаются все. Это слева Bake maps который
Там в Common надо указать путь на нашу хайпольную модель. Возможно что-то там покрутить с настройками запечки, но лучше сначала по умолчанию оставить.
Ну в итоге получаются все нужные карты от нормальки до кривизны, на которые сабстанс уже потом свое что-то наложит дополнительно.
Остается затащить карту цвета на шельф в текстуры и дальше уже обычный процесс в сабстансе со слоями и прочим.
Так что нормали, дисплэйсы и прочее из зебры не нужно, если есть хайполька в тех же координатах, что и лоуполька. Сабстанс все снимет что надо
Alejandro Malysheff
Активный участник
Steve Cherk
Мастер
ну я обычно в майке делаю. Все типа блендера или макса мне кажется примерно одинаково делают и разворачивают. В майке я обычно снимаю UV операцией проекции с фронта объекта. Дальше там просто через редактор ювишек делаются швы где-то на невидимых или некритичных местах. Замкнутую ювишку понятно развернуть нормально не выйдет. Даже если там дырки случайно окажутся, будет фигня.
Жмется Unfold. Что-то ровняется руками если надо, но можно и без этого зачастую.
Ну для разных объектов можно ювишки двигать по квадратам. Сабстанс потом эти квадраты автоматом прочитает как раздые юдимы и раскидает модель по нескольким частям, которые можно уже отдельно материалами набивать. Ну можно там еще при запечке карту цветов делать для каждой части с отдельным юдимом. По идее там либо по разным материалам меши разбивает, либо чисто по геометрии они определяются. Там есть список выпадающих где карта ID Colors. Тоже полезно чтобы разные места модели разными материалами красить по маске. Я пробовал разные материалы присваивать в майке. Но по мешам разбивать удобнее оказалось. Хотя карту эту по идее можно хоть руками нарисовать в любом редакторе
Как там юдимы в браш передаются честно говоря не отслеживал. Но по идее должны наверное без потери координат и обратно выгружаться ювишки. Майке то в общем по барабану в каком квадрате ювишка лежит.
Для хайполи ювишка не нужна вообще.
SP нужна хайполька только ради формы и там для запечки используется совсем другой алгоритм, где UV хайполи, если есть, никак не принимает участие. Там просто идет проекция поверхности хайпольки на лоупольку и соответственно записывается в карту результат. Так что там важнее как заданы параметры в каких пределах этот зазор определяется, чтобы хайпольная поверхность находилась в нужной близости от лоупольной.
Так что в принципе можно сделать из лоупольной модели хайпольку, в отдельный сабтул ее, как угодно ремешить, пусть там ювишка отпадет нафиг. Главное чтобы форма хайпольки не слишком далеко ушла от лоупольки. Но если речь идет о мелких деталях, то нормально должно быть.
Но для покраски и экспорта текстуры понятно ювишка нужна, так что красить надо модель с той самой UV, что на лоупольке, чтобы экспортнуть текстуру.
Источник
Вопрос по картам в Zbrush
Активный участник
Помогите разобраться с набором текста и как это сделать в Zbrush:
Color map — The «_color» texture can be 24 or 32 bit
Нужна Normal map — с этим разобрался
Mask1 -«_mask1» is a 32-bit texture and every channel is used.
Red is the detail map mask.
Green is the diffuse and fresnel warp mask.
Blue is the metalness mask which controls where the Color and Fresnel are suppressed. Works best in combination with mask 2 blue channel «tint specular by base color» which brings the color back through specular.
Alpha is the self-illumination mask, where the color is drawn from Color texture. Even if you are not using this, fill it with black and pixel of non-black in the corner of the material. This is done in order for texture compiler to keep this channel. If it is entirely black or white, it will be thrown out and the shader will think it’s pure white
Mask2″_mask2″ is 32-bit and again every channel is used.
Red is specular intensity.
Green is rimlight intensity.
Blue is «tint specular by base color», white color in this channel will color specular highlights by diffuse color from _color texture, black will keep specular highlights of whatever color light affecting the surface is.
Alpha is the scale factor of specular exponent from hero shader(vmt). For example, if the specular exponent is set to 16, then values for this channel of 0. 255 will control exponent values from 0 to 16. Even if you are not using this, fill it with white and pixel of non-black in the corner of the texture. This is done in order for texture compiler to keep this channel. If it is entirely black or white, it will be thrown out resulting in a different texture format when compiled.
Alpha channel of 32 bit «_color»
The «_normal» texture should be 24-bit and use the 3dsmax format(red channel is left; green is up; blue is top). If you aren’t creating a custom normal map, use a flat normal color (128,128,255).
Источник
Тонкости Displacement
В этом уроке Akin Bilgic рассматривает процесс создания displacement-карт в ZBrush и Mudbox, а также последующую работу с ними в V-Ray для Maya, V-Ray для 3ds Max, V-Ray для Cinema 4D и Arnold для Maya.
Карты displacement всегда были загадочны и плохо поддавались изучению, вызывая определенное, хоть и совершенно необоснованное неудобство в работе. В блогах 3D-художников частенько встречаются статьи, в которых они достаточно подробно показывают процесс создания лоупольной и хайпольной моделей, с последней они затем снимают карты, назначают их на лоупольный меш и с помощью бубна получают околонужный результат. Однако при правильном подходе лоупольный меш будет выглядеть в точности, как хайпольный.
Для начала давайте постараемся понять, как работают displacement-карты типа floating-point, и как определить корректность полученного результата. Затем мы рассмотрим виды грабель, на которые обычно наступает подавляющее большинство художников, а так же способы этого избежать. В конце будет приведена пошаговая инструкция, следуя которой вы получите доставляющий результат с использованием displacement-карт.
КАК РАБОТАЮТ DISPLACEMENT-КАРТЫ ТИПА FLOATING-POINT
Вообще карты displacement – это дикие научные дебри. Простыми словами – это метод, с помощью которого информация с высоко детализированной геометрии запекается на карту, которую затем можно применить для низко детализированной геометрии. Корректно созданная карта displacement типа floating-point полностью спроецирует всю детализацию с хайпольного меша на лоупольный. Всю детализацию. От начала и до конца.
А происходит это, потому что работает карта displacement типа floating-point очень логично: значения пикселей карты displacement точно соответствуют значениям юнитов в 3D-редакторе. Таким образом, значение пикселя 1.0 соответствует 1 юниту в сцене. Пиксель со значением 0,5 выдавливает меш в сцене на 0,5 юнита. Пиксель со значением 0.0 вообще не будет что-то делать. Все очень логично. Благодаря тому, что значения пикселей displacement-карты хранят в виде числовых данных с плавающей запятой, они сохраняют значения пикселя выше значения 1.0, а отрицательные значения ниже 0.0. Это очень мощный способ хранения точной информации.
Проиллюстрируем это на примере простой плоскости:
3 плоскости, по-разному расположенные вдоль оси Y, состоящие из одного полигона, для каждой плоскости сделана планарная UV-развертка.
Положение первой плоскости – +35 юнитов по оси Y.
Положение второй плоскости – 0 юнитов по оси Y.
Положение третьей плоскости – -20 юнитов по оси Y.
Три одинаковые плоскости расположены по-разному вдоль оси Y
Импортируем сцену в ZBrush или Mudbox, дивайднем вторую плоскость несколько раз и поскалптим. Вытянем ее центр так, чтобы он касался первой плоскости, затем выдавим пару участков по краям, так, чтобы они касались нижней плоскости. Проявим фантазию и напишем что-нибудь на плоскости, чтобы добавить еще деталей.
Процесс скалптинга плоскости
Не остановимся на достигнутом и создадим displacement-карту для несчастной плоскости, с помощью описанной ниже процедуры. Теперь мы можем открыть полученную карту практически в любой программе типа Nuke, которая легко работает с данными с плавающей запятой.
С помощью встроенного вьювера Nuke может потестить карту displacement. Если подвести курсор к центральной точке изображения, которая соответствует верхней точке вытянутой части меша, Nuke покажет цифру 35.0, которая, если вспомнить, идеально соответствует местоположению первой плоскости. Если опустить курсор до нижней точки выдавленной части меша, можно увидеть цифру -20.0, что соответствует местоположению третьей плоскости.
Вьювер Nuke, при наведении курсора на соответствующие точки, показывает значения пикселей. Изображение окрашено в красный, поскольку карте displacement для хранения информации нужен только один канал. Таким образом, все данные хранятся в канале красного цвета. Отрицательные значения не видны, поскольку они расположены ниже значения 0.0, отображение таких значений находится за пределами возможностей наших мониторов.
Так, мы можем предположить, что эта карта displacement создана корректно, поскольку мы точно знаем, как именно мы расположили плоскости вдоль оси Y. И мы, однозначно, можем назначить эту displacement-карту на вторую плоскость в 3D-редакторе, следуя инструкциям, описанным ниже. Нажав на Render, мы увидим, что результат на рендере идеально соответствует результату в программе для скалптинга, середина второй плоскости идеально вытянута на +35.0 юнитов, а участки по бокам выдавлены точно на -20.0 юнитов. Таким образом, меш претерпел совершенно корректные изменения.
Карта displacement, назначенная на вторую плоскость, которая затем была отрендерена, создает поверхность, идеально соответствующую той, которую мы получили в программе скалптинга
На другом примере показана карта displacement, назначенная на более сложный объект со швами на UV-развертках, а полученный результат все равно идеален. Кубы по краям сферы составляют 5 юнитов ширину и являются визуальным подтверждением корректности наложенных displacement-карт.
Карта displacement, без проблем назначенная на более сложный объект
И, наконец, пример карты displacement, назначенной на органический объект. Детализация, которую можно увидеть на изображении, является делом рук displacement-карты, никаких посторонних bump- или normal-карт. Результат идеально совпадает с хайпольной геометрией.
Слева: бейз меш без карты displacement, справа: бейз меш с картой displacement
НАИБОЛЕЕ РАСПРОСТРАНЕННЫЕ ГРАБЛИ И СПОСОБЫ ИХ ИЗБЕЖАТЬ
UV-РАЗВЕРТКА МЕГА ВАЖНА
Для displacement очень важна хорошая UV-развертка. Перекрывающиеся UV могут вызвать ошибки при генерировании карт. Кроме того, проверьте, чтобы развертка располагалась внутри UV-пространства от 0 до 1.
ПРОВЕРЯЙТЕ БЕЙЗМЕШ ДВАЖДЫ (А ТО И ТРИЖДЫ)
При скалптинге на высоких уровнях дивайдов часто изменяется положение вертексов на нижних уровнях дивайдов. Таким образом, лоупольный меш, который вы импортировали в программу для скалптинга будет отличаться от лоупольного меша, который вы используете для создания карт displacement. Всегда проверяйте, чтобы лоупольный меш, который вы использовали для создания карт displacement, не отличался от того, на который вы назначаете displacement-карту.
КАРТЫ DISPLACEMENT ТИПА FLOATING-POINT ЗАВИСЯТ ОТ МАСШТАБА
Из-за того, что значения пикселей displacement-карты типа floating-point соответствуют юнитам в сцене, масштаб объекта становится важным фактором, игнорирование которого может привести к плачевным результатам. Если вы отскейлили лоупольный меш после создания карты displacement, она перестанет быть корректной. Карту придется или создать заново, или компенсировать с помощью настройки «Displacement Amount» в V-Ray. Параметр «Height» отвечает за это же в Arnold. Например, если вы увеличили объект в два раза, следует умножить значение карты displacement на два, чтобы скомпенсировать ее влияние.
FLOATING-POINT VS INTEGER
Процедура, описанная ниже, предполагает создание 32-битных карт displacement, однако также можно использовать и 16-битную карту displacement типа floating-point, что позволит получить практически идентичный результат.
Убедитесь, что вы сохраняете карту displacement в 16-битном формате типа floating-point, а не в 16-битном формате типа integer. Чтобы формат integer сработал корректно, придется немало поплясать с бубном. И все потому что этот формат не поддерживает данные с отрицательными значениями, с которыми легко работают карты displacement. Если вы уже задумались, как получить ту или иную карту, просто следуйте инструкции, описанной ниже, чтобы создать 32-битную карту displacement.
КАРТЫ DISPLACEMENT СПОСОБНЫ НА МНОГОЕ
В идеальном мире карты displacement типа floating-point проецируются идеально, при этом лоупольный меш невозможно отличить от хайпольного. К сожалению, 3D-редакторы, как и наша реальность, несовершенны, при этом каждый из редакторов по-разному решает различные задачи. За корректное проецирование информации с карты displacement на лоупольный меш в любом 3D-редакторе отвечает алгоритм сглаживания. Некоторые редакторы для сглаживания мешей используют алгоритм Catmull-Clark, другие же придерживаются совершенно иного метода. Конечно, со временем разработчики 3D-редакторов пришли к компромиссу и наконец-то решили использовать одинаковый алгоритм (последуйте примеру Pixar в случае с OpenSubdiv и напишите письмо разработчикам софта, в котором вы работаете, сподвигнув их на такое), хотя, конечно, иногда случаются незначительные различия между хайпольным и лоупольным мешами. Хорошая новость заключается в том, что эти отличия действительно незначительны, но только если ваш лоупольный меш не такой уж и лоупольный. Не расценивайте карты displacement как ту самую вожделенную кнопку «Сделать красиво». И не ждите, что кубик с помощью карт displacement превратится в наливное яблочко. Ваша основная задача – смоделировать корректный бейз меш с хорошей топологией и достаточным разрешением, о деталях же позаботятся карты displacement.
СНЯТИЕ КАРТ DISPLACEMENT
Теперь мы знаем, как работают displacement-карты, и что от них ожидать. Далее приходит черед упорядоченного нажимания на нужные кнопочки в различном ПО, чтобы сначала снять карты displacement с хайпольного меша, а затем назначить их на лоупольный в любимом 3D-редакторе. При этом каждая из приводимых настроек является результатом тщательного тестирования.
ZBrush (Multimap Exporter):
Откройте или импортируйте хайпольный меш с многочисленными дивайдами.
Если вы импортировали хайпольный меш из другого редактора, восстановите уровни подразделений, зайдя во вкладку Tool – Geometry и нажав на кнопку «Reconstruct Subdiv».
Во вкладке ZPlugin разверните вкладку Multi Map Exporter, проверьте, чтобы кнопка Displacement была подсвечена.
С помощью ползунка установите необходимый размер будущего изображения (от 2k и выше).
Включите опцию «Flip V».
Нажмите на кнопку «Export Options», чтобы открыть дополнительные опции карт.
Ползунок «SubDiv Level» установите на желаемый уровень подразделений.
Выключите опцию «Adaptive».
Установите значение «DPSubPix» 4.
Выключите опцию «SmoothUV».
Установите значение «Mid» 0.
Выключите опцию «3 Channels».
Установите значение битности будущего изображения «32 Bit», а расширение EXR.
Установите «Scale» 1.
Проверьте правильность установленных вами настроек
Нажмите на кнопку «Create All Maps», придумайте название файла и выберите папку для его сохранения. Не переживайте, если ZBrush пишет, что тип файла TIF, на самом деле карта сохранится в формате EXR, поскольку мы включили соответствующую опцию.
Нажмите на кнопку «Save», чтобы запустить процесс генерации карты displacement.
И displacement-карта готова!
Необходимо отметить кое-что, касательно ZBrush и плагина Multimap Exporter:
В более ранних версиях ZBrush (а мы помним, что последняя существующая версия – ZBrush 4R6) плагин Multimap Exporter сохранял карту displacement только в 32-битном формате с расширением TIFF, который ни Maya, ни 3ds Max не понимали. Таким образом, если вы работаете в более ранних версиях ZBrush, вам придется пересохранить 32-битную карту displacement в Nuke или Photoshop в расширении EXR, чтобы можно было работать с ней в Maya и 3ds Max. При конвертировании карты в Photoshop проверьте, что вы работает в режиме RGB, а не в Grayscale (меню Image – Mode).
ZBrush (Displacement Subpallette):
Откройте или импортируйте хайпольный меш с многочисленными дивайдами.
Если вы импортировали хайпольный меш из другого редактора, восстановите уровни подразделений, зайдя во вкладку Tool – Geometry и нажав на кнопку «Reconstruct Subdiv».
Во вкладке Tool – Geometry установите значение SDiv на желаемый уровень подразделений.
Во вкладке Tool – UV Map установите необходимый размер UV-развертки (от 2k и выше).
Во вкладке Tool – Displacement нажмите на пустой квадратик в правом верхнем углу и выберите альфу из выпадающего меню.
После того, как изображение загружено, установите значение Mid 0.
Снова нажмите на квадратик с загруженной альфой и выберите опцию «Alpha Off» в верхнем левом углу.
Выключите опцию «Adaptive».
Установите значение «DPSubPix» 4.
Выключите опцию «SmoothUV».
Включите опцию «Flip V».
Установите «Scale» 1.
Выключите опцию «3 Channels».
Включите опцию «32 Bit».
Проверьте правильность установленных вами настроек
Нажмите на кнопку «Create And Export Map», придумайте название файла и выберите папку для его сохранения, тип файла выберите «OpenEXR 32bit».
Нажмите на кнопку «Save», чтобы запустить процесс генерации карты displacement.
И displacement-карта готова!
Mudbox:
Откройте или импортируйте хайпольный меш с многочисленными дивайдами.
Если вы импортировали хайпольный меш из другого редактора, восстановите уровни подразделений, выполнив команду «Mesh – Rebuild Subdivision Levels».
Перейдите в «UVs & Maps – Extract Texture Maps – New Operation» в панели Menu.
Поставьте галочку «Displacement Map», выбрав из списка «Maps To Generate».
В Target Models выберите меш на нижнем уровне дивайдов, обычно это нулевой уровень.
Включите опцию «Target Models».
Отключите опцию «Smooth Target UVs».
Включите опцию «Use Creases & Hard Edges».
В Source Models выберите меш на самом высоком уровне дивайдов.
Включите опцию «Smooth Source Models».
Установите Method как «Ray Casting».
Установите значение Choose Samples «Closest To LowRes Mesh».
Включите опцию «Test Both Sides.
Нажмите на кнопку «Best Guess», чтобы вычислить значение Search Distance.
Выберите «Generate one map for all targets» из выпадающего списка.
Размер изображения: Выберите желаемый размер изображения (от 2k и выше).
Отключите опцию «Antialiasing».
Отключите опцию «Normalize To Search Distance».
Установите «Map Type» «Texture».
Нажмите на параметрах «Base Filename» (…), придумайте название файла и выберите папку для его сохранения, тип файла выберите «OpenEXR 32bit Floating-Point».
Отключите опцию «Preview As Bump Map».
Проверьте правильность установленных вами настроек
Нажмите на кнопку «Extract», чтобы запустить процесс генерации displacement-карт.
И displacement-карта готова!
НАЗНАЧЕНИЕ DISPLACEMENT-КАРТ
V-Ray для Maya:
Импортируйте лоупольный меш (дважды проверьте, что вы работаете с тем же мешем, с которого вы запекали карты).
Выберите меш, откройте Attribute Editor и выберите там шейп ноду объекта. Затем в меню Attribute Editor нажмите «Attributes – V-Ray» и включите опции «Subdivision», «Subdivision and Displacement Quality», а также «Displacement Control», чтобы в шейп ноде меша появились дополнительные атрибуты.
Прокрутите настройки Attribute Editor вниз и раскройте вкладку «Extra V-Ray Attributes».
Включите опцию «Render As A Subdivision Surface»
Отключите опцию «Subdivide UVs».
Для начала установите значение «Edge Length» 4.0 и постепенно понижайте его, чтобы улучшить качество displacement, что, несомненно, увеличит время рендера.
Установите тип «Normal Displacement» в выпадающем меню «Displacement Type».
Включите опцию «Keep Continuity».
Остальные настройки оставьте по умолчанию.
Проверьте правильность установленных вами настроек
Откройте редактор Hypershade, cоздайте материал VRayMtl и назначьте его на меш.
Во вкладке Shading Groups в Hypershade выберите только что созданный VRayMtlSG, нажмите RMB, чтобы выбрать «Graph Network», чтобы видеть объект и ноду VRayMtl в рабочем пространстве Hypergraph.
Добавьте ноду «Displacement» в рабочее пространство нод слева, а затем перетяните ее с помощью MMB на ноду VRayMtlSG, выбрав «Default».
Добавьте в рабочее пространство нод слева ноду «File», а затем перетяните ее с помощью MMB на ноду Displacement, выбрав «Other».
В левой части connection editor нажмите на плюс рядом с «OutColor», чтобы развернуть ее, затем выберите последовательно «OutColorR», подсоединив ее к «Displacement» справа.
В окне Hypergraph выберите ноду «File» и загрузите ранее созданную карту displacement в «Image Name».
В меню Attribute Editor нажмите «Attributes – V-Ray» и включите опцию «Texture Input Gamma» и «Allow Negative Colors» , чтобы добавить дополнительные атрибуты в ноду File.
Прокрутите вниз Attribute Editor и откройте опции «V-Ray Extra Attributes», чтобы изменить тип пространства на «Linear», и включите опцию «Allow Negative Colors».
Измените тип рендерера в окне настроек рендера на «V-Ray» и перейдите во вкладку «Global Options» в его настройках. Проверьте, чтобы опция «Displacement» была включена.
Вот и все. Можно отрендерить сцену, чтобы посмотреть на результат.
V-Ray для 3ds Max:
Импортируйте лоупольный меш (дважды проверьте, что вы работаете с тем же мешем, с которого вы запекали карты).
Выберите меш, во вкладке Modify назначьте объекту модификатор «Unwrap UVW».
Нажмите на кнопку «Open UV Editor…», расположенную иже выпадающего списка.
В окне Edit UVs включите режим выделения вертексов и выберите все UV (Ctrl+A). Затем выполните команду «Tools -> Break», чтобы разорвать UV-эджи . Закройте окно Edit UVs.
Назначьте на объект модификатор «Turbosmooth» поверх модификатор «Unwrap UVW».
Установите Iterations 0 (или любое другое число, в зависимости от того, что вы хотите наблюдать во вьюпорте).
Включите опцию «Render Iters» и установите для него значение 3.
Назначьте на объект модификатор «V-RayDisplacementMod».
Включите опцию «3D Mapping».
Нажмите на кнопку «None», выберите «Bitmap» из выпадающего списка Material/Map.
Выберите карту displacement. Включите опцию «Override», расположенную ниже группы Gamma, проверьте, чтобы значение опции было 1.0 и нажмите на «Open».
В диалоговом окне настройки OpenEXR выключите опцию Enable Color Correction слева и нажмите «OK».
Для начала установите значение «Edge Length» 4.0 и постепенно понижайте, чтобы улучшить качество displacement, что, несомненно, увеличит время рендера.
Отключите опции «Smooth UVs» и «Smooth UVs At Borders».
Включите опцию «Check ‘Keep Continuity».
Значения «Texmap Min» и «Texmap Max» должны превышать отрицательные и положительные значения, представленные в карте displacement. Это значение можно автоматически найти в Nuke с помощью ноды «CurvesTool» в режиме «Max Luma Pixel». Если у вас нет Nuke, поэкспериментируйте со этими значениями, начинав с -1.0 и 1.0. Затем увеличивайте эти значения, если заметите что-нибудь ненормальное при проецировании displacement.
Остальные настройки оставьте по умолчанию.
Проверьте правильность установленных вами настроек
Измените тип рендерера в окне настроек рендера на «V-Ray» и перейдите во вкладку «Global Switches» в его настройках. Проверьте, чтобы опция «Displacement» была включена.
Вот и все. Можно отрендерить сцену, чтобы посмотреть на результат.
V-Ray для Cinema 4D:
Импортируйте лоупольный меш (дважды проверьте, что вы работаете с тем же мешем, с которого вы запекали карты).
Создайте «vrayAdvancedMaterial» выбрав его в меню «Create – Shader – VrayBridge» в редакторе материалов. Перетяните его на меш в Object manager.
Затем создайте «vrayDisplaceMaterial» из того же самого меню. Перетяните его на меш в Object manager, так, чтобы оба материала были расположены рядом, а displacement находился справа от advanced материала.
Откройте vrayDisplaceMaterial. В слоте текстуры нажмите на стрелочку и добавьте VrayBridge -> vrayShader.
Нажмите на шейдер и установите в выпадающем меню «vrayBitmap». Установите линейное рабочее пространство и загрузите карту displacement. Включите опцию «Allow Negative Colors».
В общих настройках vrayDisplaceMaterial включите опции «Tight Bounds» и «Use As Subdivision Surface».
При этом Displacement type должен быть «3D Mapping», а опция «Keep Continuity» включена.
Значение «Amount» необходимо установить 3.0 вместо 1.0. Это абсолютно читерский приемчик, который нужен исключительно для Cinema 4D, которая будет искать displacement-данные в зеленом и синем каналах нашего EXR. И, поскольку вся информация сохранена в красном канале, она ничего не найдет в зеленом и синем каналах, уровняв их данные с информацией в красном канале, из-за чего сила displacement будет составлять всего 1/3 от необходимой. Таким образом, «Amount» 3.0 вместо 1.0 компенсирует глюк Cinema 4D, создавая displacement, сравнимый с детализацией хайпольного меша.
Для начала установите в Render Settings – VrayBridge – Displacement значение 4.0 и постепенно понижайте его, чтобы улучшить качество displacement, что, несомненно, увеличит время рендера.
Проверьте, чтобы Displacement был включен в настройках рендера в V-Ray.
Вот и все. Можно отрендерить сцену, чтобы посмотреть на результат.
Arnold для Maya:
Импортируйте лоупольный меш (дважды проверьте, что вы работаете с тем же мешем, с которого вы запекали карты).
Выберите меш, откройте Attribute Editor и вкладки «Arnold», «Subdivision», «Displacement Attributes».
Установите «Type» «catclark».
Для начала установите для «Iterations» в Subdivision rollout значение 5 и постепенно увеличивайте его, чтобы улучшить качество displacement, что, несомненно, увеличит время рендера.
Во вкладке Subdivision установите «UV Smoothing» «Linear».
Значение параметра «Bounds Padding», расположенного во вкладке Displacement Attributes, должно превышать отрицательные и положительные значения, представленные в карте displacement. Это значение можно автоматически найти в Nuke с помощью ноды «CurvesTool» в режиме «Max Luma Pixel». Если у вас нет Nuke, поэкспериментируйте со этими значениями, начав с 1.0. Затем увеличивайте это значение, если заметите что-нибудь ненормальное при проецировании displacement.
Остальные настройки оставьте по умолчанию.
Откройте Hypershade и назначьте объекту aiStandard материал.
Кликните в Hypershade на группе шейдеров и выберите только что созданный материал aiStandardSG, RMB на нем, чтобы выбрать «Graph Network», чтобы ноды шейдера появились в рабочем пространстве Hypergraph
Добавьте ноду «Displacement» в рабочее пространство нод Hypershade слева, затем перетяните ее с помощью MMB на ноду aiStandardSG, выбрав «Default».
Добавьте в рабочее пространство ноду «File» из списка нод Hypershade слева, затем перетяните ее с помощью MMB на ноду Displacement и выберите «Other…».
В левой части Connection Editor нажмите на плюс рядом с «OutColor», чтобы развернуть, последовательно выберите OutColorR, затем значение «Displacement» в правой части, чтобы соединить их.
Выберите в Hypergraph ноду «File», перейдите в Attribute Editor и загрузите ранее созданную карту displacement.
Откройте окно настроек рендера в Maya и перейдите во вкладку «Override» в его настройках. Проверьте, чтобы опция «Ignore Displacement’» была отключена.
Вот и все. Можно отрендерить сцену, чтобы посмотреть на результат.
Источник