Найти в Дзене

Сделал облако в Blender с помощью алгоритмов, рассказываю как

В прошлой статье я рассказывал, почему начал изучать необъятную сферу 3D графики. Сегодня же речь пойдёт о вполне конкретном направлении, а именно о процедурной генерации.

Процедурная генерация - автоматическое создание контента с помощью алгоритмов.

Лучший, как я считаю, пример для понятия термина "процедурная генерация" - подземелья в игре Diablo, вышедшей в 1996 году.

Diablo (1996)
Diablo (1996)

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

Diablo (1996)
Diablo (1996)

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

Как же сделать облако?

Итоговый результат
Итоговый результат

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

Будем считать, что вы уже установили Blender и имеете опыт нескольких недель использования, если же вам было просто интересно почитать или посмотреть на мой готовый результат, то это тоже отлично.

1. Для создания облака потребуются камера, стандартный куб и освещение в виде солнца.

Всё, что нам потребуется
Всё, что нам потребуется

2. Выставим нужные нам настройки рендера. Движок Eevee, далее во вкладке Volumetrics размер плиток выбираем 4px для превью, 2px для конечного рендера, аналогично 64 семпла для превью, 128 для рендера. Силу яркости освещения солнца ставим 10.

Настройки рендера
Настройки рендера

3. Создаём градиент нашего небосклона с помощью таких инструментов (нодов) во вкладке Shading, изменяя параметры World, а не Object.

Ноды небосклона
Ноды небосклона
Небосклон
Небосклон

4. Не выходя из вкладки Shading меняем World на Object и выбираем наш куб. Теперь создаем такую же цепь нодов. Если ваши облака будут не белыми, а серыми, то поднимите яркость белого в последнем ColorRamp до 10, как на второй картинке. Ура, всё готово!

Ноды облака
Ноды облака
Яркость белого - 10
Яркость белого - 10
Ещё одно готовое облако
Ещё одно готовое облако

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

Верхняя часть - создание изначальной формы облака.

Форма облака
Форма облака

Нижняя часть - добавление деталей и смешивание с начальной формой. Фиолетовым - крупные детали, оранжевым - мелкие.

Добавление деталей
Добавление деталей

Призываю вас поиграться с настройками и создать облако, которое будет вам по душе! Если у вас что-то не получается, не расстраивайтесь, помните, что всегда можете найти подробное видео по созданию процедурных облаков на YouTube и, повторяя каждый шаг, добиться желаемого результата.