Такая вещь как полотенце, состоит из тысяч мелких волокон, уложенных плотно друг к другу. Для того, чтобы воспроизвести такие волокна в компьютерной графике, самым очевидным решением является использование системы создания волос/шерсти. Результат будет выглядеть достаточно хорошо, особенно вблизи, но данная техника, возможно, слишком "убийственна", особенно если объект на растоянии. Волосы могут быть слишком ресурсоёмкими в плане просчёта и затрат времени на настройки. Этот урок объясняет метод создания покрытий таких объектов как полотенец, ковров или травы используя displacement (досл. смещение).
В данном примере, я буду воспроизводить полотенце, но то же самое относится к ковровым и травянистым покрытиям. Хотя я буду пользоваться mentalray для 3dsmax, данная техника применима к любой системе рендеринга, которая позволяет использовать displacement (если displacement-а нет, даже bump-карта, использующая данный способ, даст довольно хорошие результаты в случае, если камера находится достаточно далеко).
Основные составляющие для полотенца:
Фотография реального полотенца из каталога.
Издалека, полотенце выглядит как множество хаотичных выпуклостей. И один способ создать карту 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 материал.
Вот результат:
Если у вас получился другой результат, убедитесь в том, что несколько раз размножили карту изображения (параметр tile) для того, чтобы получить мелкий шум.
Выглядит достаточно хорошо. Но давайте ещё добавим "эффект изношенности" или "чёсанной ткани".
Переводим bitmap-карту в тип Composite Map, которая содержит оригинал изображения и карту бóльшего шума, которая затем перемножается с вашим (созданным ранее) узором, придавая одним участкам меньше displace-эффекта, чем другим, таким образом воспроизводится "эффект изношенности" вещи.
Обратите внимание на то, что в шуме бóльшего размера нет 100% чёрного цвета, только серый. Это для того, чтобы на некоторых участках поверхности избежать эффект "пятнистого" displacement-а и 100%-ной изношенности.
Вот этот бóльший шум:
А вот результат смешивания ваших карт основного шума меньшего размера с бóльшим шумом, выглядит более органично:
Вот файл (для Max 2009), с bitmap-версией, и с вариантом, использующим карту пористого и процедурного шума (cellular & noise procedural map).
оригинал статьи : http://www.neilblevins.com/cg_education/towels_carpet_grass/towels_carpet_grass.htm
перевод и адаптация: Александр Ергашов /© 2009-2012/
<< к оглавлению...