среда, 29 апреля 2009 г.

Дисплейсмент в ZBrush

Дисплейсмент - зачем это нужно?
Такие карты выводят bump mapping на новый уровень. Проблема bump mapping заключается в том, что он создает неровности только по отношению к камере. В результате, профиль объекта не изменится (т.е. будет плоским). Применение карты Displacement позволяет изменять геометрию модели и получить более реалистичный эффект. К тому же, при анимации модели в других графических пакетах сложно работать с большим количеством полигонов которое является нормой для ZBrush. Карты Displacement - это ключ к решению данной проблемы. Вы анимируете низкополигональную версию модели. Во время рендера применяется карта displacement map и финальная сцена выглядит также как и при анимации высокополигональной модели. Вобщем, карты displacement позволяют работать с довольно сложными сценами и значительно увеличить эффект реалистичности с минимальной загрузкой системных ресурсов.
Как создать и применить дисплейсмент?
Разберем порядок действий на примере взаимодействия с 3DS Max+Vray. Итак, ты сделал высокодетализированную модель. При переносе ее в другой пакет (например 3DS MAX) появятся большие тормоза. Это можно решить с помощью создания карты Displacement'a. Вот порядок действий: 1. Переходим на более низкий уровень subdivision (находится в Tool-Geometry), например 3й. В меню Tool-Displacement включаем параметр adaptive & smooth UV (необязательно), но разрешение можно и увеличить (2048 или 4096). Жмем кнопку Create DispMap. 2. Сгенерированная карта переместилась в меню Alpha. Находим ее там, делаем активной (жмем на нее мышкой чтобы появился оранжевый уголок), там же жмем Export и сохраняем нашу карту. Формат для сохранения выбираем TIFF. 3. Теперь импортируем модель в 3DS Max - ставим галку single и все другие (normal я не ативизировал) и vertex scale можно 10. Конвертируем получившийся Editable mesh в Editable Poly, там в Subdivision Surface включаем Use NURMS..., количество интераций - 2 или 3 (можно на render, а не на display). 4. Применяем модификатор VrayDisplacementMod, ложим в него нашу карту, настраиваем значения Amount и Shift. Начнем с числа Alpha Depth - оно показывается в браше при выборе соотв. альфа-карты (которая и есть наша дисплейс-карта, помнишь?). Всегда надо помнить, что значение Shift в -2 раза меньше чем значение Amount (пример - Amount=5, Shift= -2.5) Рендерим, все должно получиться. Если не получается - увеличиваем значение Amount и соответственно меняем значение Shift. ИНОГДА сбрасывается МИНУС 1 в tiling по V оси ---> нужно проверить - из окна модифера тащим карту в мат едитор инстансом, если нет минуса - вбиваем его, тогда всё будет ок.
* Маленький совет: В ZB дисплейсмент делается с нулем (там где нет изменений) в сером цвете спектра, черный цвет - это вдавленная поверхность, белый - выдавленная. В Максе же за ноль берется черный цвет, а остальное - выдавливаеться, поэтому все "разбухает". Для того что бы дисплейсмент работал как следует, нужно Alpha Offset(RGB Offset) текстуры сделать отрицательным на половину Alpha Gain(RGB Level), то есть сместить ноль с черного на серый. В Максе в закладке output надо поставить, например, RGB Offset -0,5, amount 0,15.. (LeXuSMalus)
Генерация карты происходит быстрее при отключенном режиме "adaptive mode" и зависит только от степени детализации конечной модели. Более подробно здесь - http://www.pixolator.com/zbc-bin/ultimatebb.cgi?ubb=get_topic&f=4&t=001732

В чем разница ADAPTIVE и DPSUBPIX?
Режим adaptive используется при применении непропорциональных изменений геометрии модели (например при использовании кисти Pinch). Но обычно можно быстрее достичь результата с отключенным режимом adaptive. К тому же, появится возможность использовать опцию DPSubPix для виртуального увеличения количества полигонов (даже если в обычной ситуации ваша система уже не справляется с ними). Каждый уровень DPSubPix увеличивает виртуальное разрешение в 4 раза. 
Например - у нас есть модель на 1 миллион полигонов с установленным на 1 режимом DPSubPix - результат будет тот же если бы наша модель состояла из 4 миллионов полигонов, при введении значения 2 количество полигонов увеличится до 16 миллионов, при 3х - до 64 миллионов.

В другом пакете все рендерится "ступеньками".
ZBrush использует 16-битные карты, которые экспортируются из Alpha-палитры в формат TIFF. Другие форматы являются 8-битными и не имеют достаточного цветового объема для создания displacement'a высокого качества. Убедись, что твой софт поддерживает 16-битные форматы.
Как происходит процесс текстурирования в ZBrush?
Модель раскрашивается при включенном режиме RGB или более тщательно с помощью Projeсtion Master'a - кнопка "G"

Комментариев нет: