Растительность, которая оживляет все…
Вот так выглядит готовый ландшафт с крутым материалом:
Вот так выглядит он же, но уже с детализацией через Grass Types:
А теперь подадим сюда растительность (ракурс тот же):
Пример из моего текущего проекта:
Добавил только деревья и папоротник:
Растительность (в частности деревья) не моделируется привычным образом: сделать ствол, сделать ветки, сделать еще мелкие ветки и потом смоделировать листики и уже на них класть текстуры.
Цепочка действий скорее выглядит так:
Сделать ствол, сделать крупные ветки, сделать средние ветки, потом применить атласы, которые реализуют мелкие ветки, побеги и собственно листья.
Вот яркий пример такого процесса (изображения любезно предоставила мне для данной статьи моя помощница):
Начиная с этой стадии, не все такие мелкие ветки стоит уже генерировать моделями, а все-таки стоит загнать их в атлас вместе с листвой и загенерить выше к макушке дерева, т.е. туда, где не требуется высокой детализации (в целях оптимизации):
Так как же все-таки делаются такие атласы?
Вы можете использовать ассеты из мегаскановской библиотеки:
А затем такая текстура уходит на обработку. Если рассматривать ручные дедовские методы, то в любой 3d-редактор (на примере 3ds max).
К слову я планирую рассматривать со своими студентами и дедовский метод в рамках обзорного мастер-класса (типа смотрите, но повторять на практике не обязательно).
Это нужно для более качественного и глубокого понимания механизмов “под капотом”, чтобы вы делали в будущем такие ассеты осмысленно.
Однако в реальном производственном цикле - изучаются естественно процедурные методы генерации и используются как основные.
Итак, обычная плоскость с нанесенной на нее текстурой карты непрозрачности:
Используем это как шаблон, для выпиливания лобзиком :)) каждого листочка (кстати, в любой программе процедурной генерации растений, которые заточены специально под создание именно растительных ассетов, алгоритмы точно такие же).
Также можно отметить что из данного атласа вы можете вполне обойтись одним - двумя листочками, но чем больше вы возьмете в работу, тем большее разнообразие будет в итоговой кроне дерева.
Бывает также и так, что листва под одно дерево берется из двух, а то и трех разных атласов, но это уже больше творческие детали.
Итак выпилили (важный момент здесь - это якорная точка):
А теперь формируем кустик (на данном изображении очень условный кустик, конечно это делается более сложно и более продумано и больше трех листочков, да еще и веточка там есть), но смысл показан правильно:
А так это выглядит с альбедо текстурой:
Такой кустик, или побег, или ветка затем при необходимости перезапекается на рабочий атлас, который уже служит основой для сборки кроны:
Когда дерево собрано - оно выглядит примерно так (на изображении некоторые мои ольхи и ели):
Собственно рабочий атлас на этом дереве выглядит так:
Стоит ли упоминать о сложности материала:
Тут естественно огромное количество параметров, потому что листва совсем не ограничивается двумя - тремя текстурами, типа Albedo и Картой непрозрачности (Opacity). Тут и всякие SSS и specular и многое-многое другое.
Также особый интерес представляет Pivot Painter, позволяющий реализовать реалистичное колыхание листьев на ветру:
И в частности сложный ветер на основе Pivot Painter:
Думаю на этом стоит закончить краткий обзор создания растительности.
Я бы с радостью расписал все в подробностях, но получится не статья, а полноценный учебник страниц этак на 200-300 (если с картинками :))
Спасибо Дине Абдулиной за предоставленный дуб, в начале статьи