<< к оглавлению...

Фактура (махрового) полотенца, ковровых и травянистых поверхностей
с помощью Displacement (3ds max mental ray)

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

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

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

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

pic1

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

pic2

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

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

pic3

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

pic4

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

pic5

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

pic6

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

pic7

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

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

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

pic8

pic9


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

pic10

pic11

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

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

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

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

pic13

pic14

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

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

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

pic15

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


оригинал статьи : http://www.neilblevins.com/cg_education/towels_carpet_grass/towels_carpet_grass.htm
перевод и адаптация: Александр Ергашов /© 2009-2012/
<< к оглавлению...