Карты дисплейсмента для тканей

Такая вещь как полотенце, состоит из тысяч мелких волокон, уложенных плотно друг к другу. Для того, чтобы воспроизвести такие волокна в компьютерной графике, самым очевидным решением является использование системы создания волос/шерсти. Результат будет выглядеть достаточно хорошо, особенно вблизи, но данная техника, возможно, слишком «убийственна», особенно если объект на растоянии. Волосы могут быть слишком ресурсоёмкими в плане просчёта и затрат времени на настройки. Этот урок объясняет метод создания покрытий таких объектов как полотенец, ковров или травы используя displacement ( досл. смещение).
В данном примере, я буду воспроизводить полотенце, но то же самое относится к ковровым и травянистым покрытиям. Хотя я буду пользоваться mentalray для 3dsmax, данная техника применима к любой системе рендеринга, которая позволяет использовать displacement (если displacement-а нет, даже bump-карта, использующая данный способ, даст довольно хорошие результаты в случае, если камера находится достаточно далеко).
Основные составляющие для полотенца:

  • Цвет: Любой цвет, для этого примера я взял светло-синий.
  • Displacement: Очень мелкий шум «в крапинку» (speckly noise). Также, в использованных
    полотенцах, и особенно на коврах, некоторые участки могут быть протёртыми/изношенными,
    или с ворсом (точнее, узорами на нём), нарисованными в определённом направлении.

Фотография реального полотенца из каталога.

Создание карты Displacement

Издалека, полотенце выглядит как множество хаотичных выпуклостей. И один способ создать карту displacement: это сделать много мелких выпуклостей, используя процедурный шум (procedural noise) маленького размера.

Другая идея: использовать разновидность пористого шума (cellular noise) :

Но для этого примера, я собираюсь сделать немного более детализированную текстурную карту в Photoshop-е. Которая, возможно, будет просчитываться быстрее, чем процедурные Noise или Cellular карты.

Запускаем Photoshop, создаём новый документ 1024х1024 пикселей, цвет задника (background) чёрный. Выберем кисть с чёткими границами по краям (hard brush).

Изменим кисть и придаём её размеру немного неровной структуры (Size jitter).

Включим распыление (Scatter) и увеличим его количество (Count).

Во вкладке Color Dynamics изменим значение Brightness Jitter. Это создаст имитацию эффекта разных значений высоты у каждой ворсинки полотенца.

Теперь выберем чёрный цвет и закрасим рисунок кистью. Вот часть рисунка.

Для создания карты с повторяющимся рисунком (tilable map) можно воспользоваться этим уроком.
Сохраняем файл. Теперь идём в max.

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

В max-е выбираем mentalray renderer. В редакторе материалов – Arch & Design материал.

  • Меняем значение Roughness (шероховатость) на 1, поскольку это шероховатый материал.
  • Убедитесь, что нет отражения (в mentalray соответствует параметру specular reflectivity).
  • Устанавливаем голубой цвет.
  • В Special Purpose Maps, в Displacement добавляем bitmap-карту, и устанавливаем значение displacement равное 3.
    Выбираем, карту displacement полотенца, созданную в Photoshop-е.

Настройка рендера

  • Создайте пробный объект, в данном случае, я просто создал объект Plane и используя
    простую технику редактирования сетки объекта сделал нечто похожее на полотенце.
  • В панели Render установите значения Min и Max Samples Per Pixel на более высокие, например,
    1 и 16 соответственно. Это необходимо, чтобы получить все те мелкие детали, которые
    создаст ваш displacement.
  • Для вкладки Shadows & Displacement настройки приведены ниже.
  • Жмём Render.

Вот результат:

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

Читайте также: Ткань хлопкополиэфирная арт 1215 камуфлированной расцветки цифра

Выглядит достаточно хорошо. Но давайте ещё добавим «эффект изношенности» или «чёсанной ткани».

Переводим bitmap-карту в тип Composite Map, которая содержит оригинал изображения и карту бóльшего шума, которая затем перемножается с вашим (созданным ранее) узором, придавая одним участкам меньше displace-эффекта, чем другим, таким образом воспроизводится «эффект изношенности» вещи.

Обратите внимание на то, что в шуме бóльшего размера нет 100% чёрного цвета, только серый. Это для того, чтобы на некоторых участках поверхности избежать эффект «пятнистого» displacement-а и 100%-ной изношенности.

Вот этот бóльший шум:

А вот результат смешивания ваших карт основного шума меньшего размера с бóльшим шумом, выглядит более органично:

Вот файл (для Max 2009), с bitmap-версией, и с вариантом, использующим карту пористого и процедурного шума (cellular & noise procedural map).

Использование карт Displacement и Bump

Многие поверхности в природе не являются плоскими и гладкими. У них есть неровности, фактура. Для создания этого, мы можем использовать Bump и Displacement. Давайте начнем с Bump mapping. Я выбираю сферу. Это — просто основная сфера NURBS. И применяю к ней материал. Мы увидим, что в свойствах материала у нас есть опция Bump Mapping. Я могу выбрать текстуру в этом узле.

Я щелкну здесь и выберу текстуру Ткани Cloth. Мы использовали ее прежде. И для этой текстуры создается два узла — узел 2D Bump и узел Cloth. Чтобы увидеть в окне проекции, как эта текстура применяется к нашей сфере, мы нажимаем клавишу 6. Это включение Hardware Texturing. И еще мы должны удостовериться, что находимся в режиме Viewport 2.0. Мы видим, что Bump отобразился на нашем объекте.

Если я войду в Bump map, то увижу здесь две опции. Первая — Bump Value — значение неровности, она контролируется текстурой. Также у меня есть Bump Depth, глубина неровности. Я могу изменить ее с положительной на отрицательную. И также масштабировать ее. И если я щелкну сюда, это переведет меня к узлу Cloth. Здесь я могу изменить значения Gap color — цвет пробелов. Я могу изменить свои U и V цвета. Bump map является просто эффектом рендеринга.

Он не изменяет геометрию моего объекта. Мы можем это увидеть, если я увеличу масштаб. Видите, у меня здесь нет никакой деформации. И если я сделаю быстрый рендеринг, то мы увидим, что наша поверхность фактически является довольно гладкой. Это та же сфера, но если мы уменьшим масштаб, она станет выглядеть неровной. Bump mapping — хороший метод для объектов, которые мы видим не очень близко.

Если вы действительно хотите изменить поверхность, необходимо использовать Displacement map. Я выберу второй объект и применю к нему другой материал. В наших атрибутах мы не найдем опции Displacement. Это происходит на более высоком уровне. Нам нужно подняться на один узел и щелкнуть сюда, в Master node/ Shading group. И здесь у нас есть материал поверхности blinn2.

И также у нас есть Displacement material — материал смещения. Я создам для него еще одну текстуру cloth. Теперь у меня есть текстура и шейдер Displacement. У нас получилась та же структура, что и с Bump map. И нашим смещением управляет текстура ткани. И у нас есть важное значение здесь, которое называется масштабом смещения, Scale of the Displacement. Это просто абсолютное число, и если у нас большой объект, нам нужно сделать масштаб больше.

Читайте также: Детские ткани для мальчиков

Или меньше для меньшего объекта. Я оставлю его как есть и сделаю рендеринг в Mental Ray. Вы сразу увидите различие между двумя объектами. Этот слева — с Bump mapping. И в то время как он выглядит хорошо в середине, мы видим, что по краям он не имеет никакой деформации. Объект справа имеет Displacement Map. И вы видите, что это фактически изменяет геометрию поверхности и создает более реалистичный эффект.

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

Repetitor3d.ru

3d графика и дизайн

Displacement в 3ds max: как пользоваться картой и модификатором

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

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

Изучаем основы

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

В 3d max, при использовании визуализатора VRay, существует три способа работы с Displacement:

  • применение карты Displace при создании текстуры объекта;
  • наложение модификатора Displace на модель;
  • или использование модификатора VRay DisplacementMod.

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

Использование карты Displace

Использование карты Displace (англ. — заменять) при создании текстуры объекта — самый простой способ получить объемный рельеф без работы с сеткой. Таким методом можно смоделировать швы на плитке или кирпичную кладку без выдавливания полигонов и вообще без какой-либо работы с ними. Давайте на примере разберем, как это сделать.

Запускаем 3ds max и создаем плоскость (Create – Standard Primitives – Plane).

Теперь подберем для нее текстуру: понадобится изображение для Diffuse и черно-белая карта к ней (чем светлее участок карты Diffuse, тем «выше» будет точка рельефа и наоборот). Вот как они выглядят:

Как видно, при владении базовыми знаниями Photoshop, карту смещения вполне можно сделать самому. Открываем редактор материалов Materialeditor (горячая клавиша M). Выбираем новый слот и назначаем ему материал VrayMtl.

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

Теперь листаем свиток в самый низ до раздела Maps. Жмем на кнопочку None рядом и Displace. Снова выбираем Bitmap и назначаем нашу черно-белую карту.

Читайте также: Что делают из ткани для рукоделия

Выходим к основным настройкам, жмем кнопочку Go to Parent.

Напротив названия карты меняем значение воздействия. Тут нужно поэкспериментировать и подобрать число, которое подойдет под ваши запросы — у меня это 30. Шарик слота на превью значительно измялся.

Применяем нашу объемную текстуру к плоскости, не забываем нажать кнопочку Show Shaded Material in Viewport, чтобы увидеть, как она легла.

Закрываем редактор материалов, накидываем модификатор UVWMap и настраиваем размеры текстуры и ее расположения (мне пришлось еще повернуть ее на 90 градусов).

Вот результат после рендера:

Получились красивые выпуклые кирпичики, на которых есть рельеф. В целом того же можно было бы достичь и при применении этой карты на Bump. Но это только в случае с плоской стеной или полом, где края и тени от объекта не просматриваются. Чтобы понять, чем результат применения карты Displacement отличается от применения Bump, прилагаю наглядный пример:

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

Displacement mapping – самый простой метод получения рельефа, но и самый узкий по функционалу. Все настройки карты, касаются только самой текстуры. Больше возможностей можно получить, используя модификатор Displace.

Модификатор Displace

Возвращаемся к нашей кладке из кирпича. Открываем редактор материалов и отключаем карту, сняв галочку.

Открываем меню модификаторов и выбираем Displace.

Перетягиваем карту из редактора материалов в слот Map с опцией Instance.

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

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

Возвращаемся на уровень Displace и разбираем доступные настройки:

  • Strength (Сила) и Decay (Затухание) — значения, определяющие, насколько сильно будет выдавливаться рельеф, а также разброс значений высот точек;
  • в разделе Image, в Map выставляется черно-белая карта выдавливания;
  • раздел Map позволяет изменить размеры габаритного контейнера. Контейнер цилиндрической формы может быть с основаниями или же без них (флажок Сар);
  • параметры Length (длина), Width (ширина) и Height (высота) позволяют выставить размеры габаритного контейнера;
  • с помощью параметров раздела Alignment (Выравнивание) можно выровнять контейнер вдоль осей X, Y и Z. Остальные параметры раздела Alignment предназначены для смещения контейнера относительно растрового изображения.

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

Модификатор VRay Displacement

VRayDisplacementMod не имеет интерактивного отображения в окне 3dsmax, в отличие от стандартного модификатора Displace. Зато также обладает массой полезных настроек для самой детальной проработки рельефа.

Карта размещается под надписью Texmap, а регулировать смещение можно с помощью параметра Amount.

Чтобы все изменения, созданные с помощью этого модификатора, отображались на рендере, нужно поставить галочку Displacement в меню Render – Render Setup – V-Ray – Global Switches.

  • Свежие записи
    • Балкон в многоквартирном доме: является ли он общедомовым имуществом?
    • Штраф за остекление балкона в 2022: что это и как избежать наказания
    • Штраф за мусор с балкона: сколько заплатить за выбрасывание окурков
    • Оформление балконного окна: выбираем шторы из органзы
    • Как выбрать идеальные шторы для маленькой кухни с балконом
Sunny Lady