3D Engineering

...Лучшее из общего.

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Скомпоновать материалы через маски

Юрий Стоцкий

Временами я испытываю сожаление, что прогресс не может постоять некоторое время на месте: едва достойно отшлифовав свой предыдущий урок по текстурированию ландшафтов, я получил в руки третью версию пакета 3D Studio MAX, где среди знакомого набора стандартных карт присутствует Gradient Ramp. Эта карта и заставила меня пересмотреть технологию текстурирования ландшафтов, потому что с ее помощью можно значительно облегчить процесс и полностью отказаться от ручного изготовления карт для Blend материалов. Загрузите сцену, которую я уже использовал ранее.



Для начала следует подготовить саму гору и наложить на нее модификатор UWV Map. Перейдите в режим sub-object, чтобы отрегулировать положение рамки. Зеленая линия обозначает правый край mapping'а и значит левая часть накладываемой маски будет внизу, правая наверху, а сама она будет раположен вертикально. Назначьте этому mapping'у первый канал:



Наложите второй модификатор UVW Map'а для текстур и присвойте ему второй канал:



Теперь осталось только немного поработать в Material Editor'е. Нижний ряд слотов содержит в себе Standart материалы, отображающие траву, камень и снег. Материал посередине - это финальный Blend материал, который вы наложите на гору. В верхнем ряде расположены три карты, которые сразу выдают себя квадратной формой (правда, только если в установках Material Editor'а отмечена опция Display Maps as 2D). Карта в правом верхнем углу является исходной Gradient Ramp картой:



Gradient Ramp состоит из плавного перехода красного цвета в зеленый, а затем в синий. Красный будет отвечать за траву, зеленый за камень, а синий за снег. Цвета выбраны далеко не случайно и не следует использовать другие цвета или оттенки, поскольку в дальнейшем могут возникнуть сложности:



Скопируйте готовую Gradient Ramp карту в верхний средний и верхний левый слоты, при копировании используя опцию Instance, чтобы изменения в одной из карт сразу же отображались в другой. Gradient Ramp карта будет служить маской для смешения материалов в Blend материале, поэтому следующим шагом будет разделение цветов. Для этой цели хорошо подходит карта RGB Tint. Измените тип карты с Gradient Ramp'а на RGB Tint в среднем слоте верхнего ряда, отметьте опцию Keep old material as sub-material. Теперь карта RGB Tint контролирует Gradient Ramp карту:



В параметрах RGB Tint карты значение красного (R) и синего (B) окошек следует загнать в черный цвет, таким образом красный и синий цвета RGB Tint карта заблокируют и пропустит только зелуный цвет. Дальше следует загнать в белое значение окошка (G), которое отвечает за зеленый цвет. В итоге получится черная карта с белой полосой посередине. Точно такую же операцию следует проделать с левым слотом в верхнем ряду, только в этом случае нужно загнать в белое слот (R), который отвечает за красный цвет, оставив два других слота черными. В этой карте после обработки белая полоса будет проходить слева. Попробуете изменить положение ползунков в исходной Gradient Ramp карте и вы заметите как меняются обе маски:



Обе маски готовы, материалы для травы, камня и снега тоже готовы. Осталось сделать последний шаг, скомпоновать материалы через маски в единый Blend материал. Зайдите в свободный слот и измените тип материала со Standart'а на Blend, в слот Mask положите маску с белой полосой по левому краю, используя опцию Instance, чтобы и в дальнейшем иметь возможность регулировать параметры. В слот Material 2 поместите материал травы. Зайдите в слот Material 1 и смените тип материала со Standart'а на Blend, в слот Mask положите вторую маску с белой полосой посередине через Instance, а в Material 1 и Material 2 положите материалы камня и снега соответственно. Что же получилось? Поскольку при копировании карт вы использовали опцию Instance, то теперь все маски полностью контролируются из правого слота верхнего ряда, где расположена исходная Gradient Ramp карта. Маски накладываются по первому каналу проецирования сбоку и делят гору на три зоны, где действует тот или иной материал. Материалы накладываются по второму каналу сверху. Чтобы границы соприкосновения материалов не выглядели слишком четкими, следует включить шум в параметрах карты Gradient Ramp:




 

Архив статей

 июн   Июль 2019   авг

ВПВСЧПС
   1  2  3  4  5  6
  7  8  910111213
14151617181920
21222324252627
28293031 
Julianna Walker Willis Technology

Случайная новость

SuperK

Заснеженные деревья в 3D

Снег для 3D графики часто является непростой задачей. Не существует универсального способа его создания.

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

Этот снег подойдет для широкого спектра погодных условий и объектов.

Вот пример того, для чего способ подойдет отлично:

А вот пример того, для чего этот способ не подойдет: 

Также способ не годится для хвойных деревьев.

Выделим особенности снега, лежащего на деревьях, которые мы будем имитировать:

  1. Снег на ветках и стволах лежит с той стороны, с которой, собственно, снег и падает. В безветреную погоду снег налипает на ветки сверху, а на ствол — местами — там, где выступает кора. Наличие ветра меняет направление падения снега и, соответственно, картину налипания. Появляется много снега на стволах с подветреной стороны.
  2. Граница между заснеженным и незаснеженным участком обычно нерезкая — по градиенту, и, при этом, неровная. Но эта граница может быть и довольно резкой — например, когда немного пригреет Солнце.

Первым делом создаем дерево. Хорошее дерево — залог успеха. Для большинства задач подойдут деревья, сгенерированные, в Onyx. Деревья можно делать и в других программах, в том числе и в самом 3DS Max. К модели дерева есть следующие требования:

  1. Модель обязательно должна содержать лофтовый мэппинг.
  2. Количество сегментов окружности ствола и крупных веток — желательно не меньше 8. В ониксе этот параметр называется Transversal.
  3. Неверные нормали объекта могут сильно исказить внешний вид снега. Модель из Оникса имеет много открытых ребер вдоль веток и стволов — соответственно, нормали там неверные. Их быть не должно — сшейте точки обязательно.

Допустим, дерево у нас готово. В моей модели 230К треугольников.

Теперь самое важное — создание маски для снега. Хотя эта маска довольно проста, получить ее мне удалось далеко не сразу.

Бросьте на дерево стандартный материал и поставьте Self-illumination на 100 — так мы сможем лучше видеть создаваемую маску.

Создайте саму маску, состоящую их двух процедурных карт: вначале Gradient Ramp с типом градиента Mapped, и в слот Map поместим Falloff с отмеченными параметрами.

Карта Falloff при этих настройках возвращает цвет в зависимости от направленности нормали относительно направления вверх. Обратите внимание, что я немного порулил кривую этой зависимости. Кривая в нашем случае влияет на ширину границы снега, а также на его общее количество. Карта Gradient Map используется для получения шума на этой границе (параметром Noise). Настройки этого шума позволяют имитировать снег в диапазоне от свежевыпавшего в холодную погоду до начинающего таять. Мэппинг сказывается на том, как выглядит этот шум. На данном этапе его (мэппинг) можно отредактировать (Вам может понадобиться другой текстурный слой), но мы опустим это.

Не тратьте много времени на получение идеальной маски. Позже я поясню, почему.

Создадим новый материал для дерева и будем использовать полученную маску снега (в примере она называется Map #48) для смешивания в различных каналах.

В диффузном канале я использовал карту Mix, в канале Bump — композитную текстуру. Я также использовал маску снега в канале Self-Illumination — фейковое подповерхстное рассеивание.

В качестве текстуры снега я использовал фрактальный шум.


(в сцене только дефолтный источник света)

Небольшое пояснение: изначально я использовал одну и ту же карту (композитную) для диффуза и бампа, но композитная карта в диффузе вызвала овербрайты при рендере Виреем в большой сцене с множеством деревьев. В итоге я заменил ее на карту Mix. Вы можете создавать материал по своему вкусу, используя такую маску для снега.

Включение/выключение бампа радикально меняет вид снега. Карта Bump при рендере искусственно меняет нормали, а на это в свою очередь реагирует карта Falloff — вот почему я просил вас не тратить много времени на отдельную маску снега. Настраивать детально эту маску нужно, когда материал уже собран.

Если в карте Falloff запихнуть в верхний слот процедурный Noise (вместо белого цвета), в качестве текстурных координат выбрать World XYZ, то все деревья будут иметь уникальный рисунок покрытия снегом:

А если в Falloff в качестве направления использовать объект, то можно сымитировать деревья облепленные снегом в ветренную погоду:

Именно так я и поступил при создании этой работы. Здесь на всём, включая собаку, лежит снег, полученный описанным способом.

Надеюсь, урок вам понравился!

Блог автора: http://superka-01.livejournal.com

далее