Уроки: 3ds Max

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

Заснеженные деревья в 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

52115 Автор:
Актуальность: 749
Качество: 645
Суммарный балл: 1394
Выбор Публики
Голосов: 118 оценки

Отзывы посетителей:

2 | След.
аватар
 
Walter_S 2 0
Все гениальное просто)))) Как раз пригодился урок)))
аватар
 
Валдис Йодли 1 0
Класс! Мне пригодилось. Благодарю автора за урок.
аватар
 
MIR[ok] 2 0
Спасибо за быстрый и качественный урок очень пригодился =))
аватар
 
SuperK 42 0
Спасибо всем!
AndrewAT, вероятно можно, надо попробовать. Конечно это не только для деревьев: я для лавок, собаки, бордюров использовал.
аватар
 
AndrewAT 47 0
otli4nii urok, lohkii i horowii, aftor horowo ego prepodnios!
vopros k aftoru: takim je sposobom mojno delat gori s zasnejenimi verhushkami da? :)
P.S. prowu prowenie za angliskie bukvi!
5/5! molodez :)
аватар
 
mies rohe 228 0
Очень полезный урок. Спасибо!
аватар
 
RUSTIK_HDR 11 0
А я все мучился снег делать.. всякими путям... А оказалось, все прозаично и просто. Огромное спасибо автору. С удовольствием буду следить за ваш ими уроками.
аватар
 
s_maliankin 18 0
Цитирую SuperK:
Спасибо большое вам за отзывы!

Вам спасибо, ждем новых уроков от Вас!
аватар
 
SuperK 42 0
Спасибо большое вам за отзывы!
аватар
 
Андрей Галынский 26 0
Здорово! Коротко и ясно!
аватар
 
tiHik 2 0
Замечательный урок. Пока не приходилось делать заснеженные обьекты, но урок возьму на заметку.
аватар
 
Блажко Станислав 154 0
Просто кратко в тему !!! Спасибо !!!
аватар
 
ScallyFox 17 0
интересный урок, понравился! 5/5
аватар
 
Stanislav Linus 327 0
Модератор форума
SuperK, спасибо за труд. Интересный пример реализации снега, буду знать :)
аватар
 
Bigglesworth 12 0
Хороший урок, взял на заметку. Ниразу не делал зимних рендеров, надо попробовать.
аватар
 
s_maliankin 18 0
Цитирую Mr.Core:
Потому что есть уроки качественные ( например недавний про плагин к максу или про создание мышц в кси) , а есть из одного очевидного действия, к которому этот и относится, не лучше было бы ещё что-то добавить в этот урок, а потом уже присылать для публикации ?


Это урок не из одного действия, тут показанно решение проблемы, качественно и строго по делу, за что автору спасибо. Урок не обязательно должен быть 10 страничным трудом, в котором нам поведают что то невероятно сложное, разные нужны уроки и просты е и сложные. Я нехочу разгребать гиганский универсальный урок иногда мне нужно просто делать что что (тот же снег), я нахожу такой урок и быстро разбираюсь что к чему, а не ковыряю многостраничный труд. И вообще дело не в уроке и его качестве (хотя я бы еще с удовольствием почтитал уроки этого автора), дело в отношении одних людей к труду других.
аватар
 
khodjaev 18 0
Цитирую Mr.Core:

Слишком по-хамски комменируешь, друг. Человек старался, делится собственным опытом. Кто-то нашел для себя здесь ответы на свои вопросы, кто-то предложил свои варианты. Если нечего сказать - пройди мимо, и найди для себя то, что тебе интересно.
аватар
 
SuperK 42 0
Цитирую Mr.Core:
Потому что есть уроки качественные ( например недавний про плагин к максу или про создание мышц в кси) , а есть из одного очевидного действия, к которому этот и относится, не лучше было бы ещё что-то добавить в этот урок, а потом уже присылать для публикации ?


Судить об очевидности, даже если бы это было одно действие, - Вам пока рановато. К тому же render.ru сами предложили опубликовать урок, а у них компетенции поболее вашей будет. Не расстраивайтесь!
аватар
 
Mr.Core 11 0
T M
Потому что есть уроки качественные ( например недавний про плагин к максу или про создание мышц в кси) , а есть из одного очевидного действия, к которому этот и относится, не лучше было бы ещё что-то добавить в этот урок, а потом уже присылать для публикации ?
аватар
 
Spline 2 0
Спосибо автору, попробую, давно хотел, но кроме частиц ничё в голову не лезло))
2 | След.
Зарегистрируйтесь, чтобы добавить комментарий.
Эту страницу просмотрели: 618 уникальных посетителей