Послойное наложение текстур

20 марта 2011, 2:47

Допустим, нужно затекстурировать вот такое здание:


Одной из его особенностей является то, что при одном и том же покрытии швы (руст) имеют разных шаг, рисунок и толщину. На основной стене — кирпичная кладка, на пилястрах —горизонтальный руст с большим шагом. В данной заметке я опишу действия, которыми нанесу текстуру штукатурки и отдельно (поверх нее) нанесу сверху швы. Так будет удобнее и быстрее подобрать оптимальный шаг руста без перерисовки и масштабирования основной текстуры штукатурки.

Краткое содержание действий:

  1. Создание основного материала штукатурки
  2. Создание Bump-текстур: кирпичная кладка и руст на пилястрах
  3. Послойное наложение Bump-карты руста на Bump-карту штукатурки.
  4. Затемнение Diffuse-карты штукатурки в местах швов.
  5. Наложение модификаторов на объект.

Материал штукатурки не представляет собой ничего особенного. VrayMtl, на который назначены текстуры в слоты Diffuse и Bump.

В каждой из текстур необходимо поставить галку Use Real-World Scale и указать реальный размер текстуры (в данном случае 10000х5000 мм). Так же важно назначить канал этой текстуре (Map Channel), например 10.
Точно такие же действия проделываем для Bump-карты, Map Channel тот же — 10.

Изначально я делал его процедурной картой Tiles, но, несмотря на наличие параметра Noise, у меня не получилось создать правдоподобной карты.
Итак, нарисовано 2 карты — кирпичная кладка и широкий руст.

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

Как было сказано выше, я собираюсь наложить Bump только что нарисованного руста на уже наложенный Bump штукатурки, а так же сымитировать швы, затемнив ее Diffuse-карту Bump-картой руста. Причем в результате каждый из них будет управляться отдельно, своим модификатором UVW Mapping.

Этого можно добиться с помощью карты VrayCompTex. Эта карта-плагин работает так же как и режимы смешивания слоев в фотошопе, такие как Multiply, Screen и т. д. То есть умножает (AxB), складывает (A+B), вычитает каналы цветов. Ниже показан пример работы этого плагина.

Пока Bump-карту штукатурки вырезаем: ПКМ → Cut. Вместо нее назначаем VrayCompTex. Возвращаем вырезанную карту в первый слот (это будет основа): ПКМ → Paste (Instance). В нижний слот назначаем нарисованную карту руста. Указываем ей свой канал, отличный от того, что указан штукатурке (я указал 11). Исходя из вышеперечисленных примеров работы карты VrayCompTex понятно, что в данном случае стоит указать режим смешивания текстур Minimum.

Обращу внимание на то, что на рисунке в слоте Source A назначена карта Color Correction. Это сделано для того, чтобы сократить количество используемых текстур, а значит и используемой памяти. Из Diffuse-карты штукатурки, например, можно сделать Bump-карту или просто отредактировать ее яркость, не открывая никаких графических редакторов и не сохраняя дополнительных карт. Управление этой картой-плагином очень простое, поэтому я не буду описывать параметры.

Получилась такая схема материала:

Для читателей, у которых еще не вскипел мозг, имеется бонус. Чтобы сгладить углы пилястр, я применяю метод, описанный в предыдущем уроке — наложение дополнительным слоем процедурной карты VrayEdgesTex. Этого можно добиться, смешав ее с только что созданной «группой слоев». Смешивать будем опять же картой VrayCompTex.

Для этого вырезаем эту созданную группу из слота Bump: ПКМ → Cut.

Назначаем на ее место новый VrayCompTex. Вставляем в слот «Source A» вырезанную группу ПКМ → Paste (Instance). А во второй слот «Source B» назначаем карту VrayEdgesTex. В ней указываю World Units: 10. Режим смешивания — Maximum:

Так выглядит итоговая схема слота Bump:

Такие же шаги (за исключением бонусной части) проделываем для Diffuse-карты, чтобы затемнить швы руста. Каналы (Map Channel) должны соответствовать назначенным ранее, то есть для текстуры штукатурки — 10, для текстуры швов — 11. Так же можно попробовать разные режимы смешивания текстур, например, Multiply.

Материал готов, осталось назначить по модификатору UVW Mapping для корректировки положения каждого из слоев. Первый — с параметром Map Channel 10 и активной галкой Real-World Map Size (так как мы заранее указали ее размер), он будет контролировать положение текстур штукатурки. Второй — модификатор с параметром Map Channel 11 и регулируемым размером в режиме Box. Такой режим выбран потому что я хочу подобрать оптимальный размер текстуры.

Теперь каждый из «слоев» регулируется отдельно, и настроив нужное мне расположение текстуры штукатурки, я могу подбирать расположение и размер швов руста на стене и пилястрах. При этом я сохраняю одинаковый размер штукатурки на всех элементах здания, что немаловажно для результата. Так же я сэкономил ресурсы памяти, так как везде использовал только одну текстуру штукатурки.

Таким же алгоритмом я создал материал пилястр с горизонтальной рассечкой, фризы и др. Вообще, это один из немногих способов применения карты VrayCompTex, так как ситуации, в которых нужна послойная управляемость текстур, встречаются довольно часто.

Примечание.
В ЖЖ мне подсказали, что вместо VrayCompTex карты проще и функциональнее использовать стандартную (с 2009-й версии 3dsmax) карту Composite. Работает так же, как режимы смешивания как в Фотошопе.

Ваш комментарий
адрес не будет опубликован

ХТМЛ не работает

Ctrl + Enter
Популярное