big

Этот раздел посвящен работе с ландшафтами — рассмотренные приемы будут полезны при создании природных сцен разной степени детализации.

Студенты изучат пайплайн создания природных ландшафтов в Houdini FX, познакомятся с основными инструментами для настройки общей формы и отдельных элементов, а также научатся созданию реалистичных деталей с помощью симуляций естественных процессов.

В качестве итоговой работы студенты создадут собственную сцену на основе ландшафта.

Референсы

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

В качестве примера создадим сцену с полем и горами.

Corentin Wunsche. Snowy Landscape.

0

Media.Work Studio. Hermes Seasons.

Heightfields

Для создания природных ландшафтов в Houdini FX используется HeightFields. Это инструмент, который позволяет работать с рельефом в виде 2D-карты высот, и хранить информацию в формате volume, вместо классической полигональной сетки. Такой подход удобен по нескольким причинам:

Original size 1754x1240

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

Создание базовой геометрии

post

Чтобы начать работу над ландшафтом, переключимся в режим Terrain; так необходимые инструменты появятся в быстром доступе на верхней панели в качестве shelf-tools.

Создадим основу ландшафта. При выборе ноды HeightField в начале координат появится grid размером 1000×1000 и разрешением 500×500 вокселей. По умолчанию эта нода создает два вольюма (слоя) — height и mask, с которыми мы и будем работать.

  • Height представляет собой набор значений, отражающих высоту рельефа в каждой точке карты. Именно он определяет внешний вид ландшафта.
  • Mask можно рассматривать как значение «выбранности» каждого вокселя, с помощью которого можно контролировать работу большинства HeightField нод.
Original size 1920x1380
post

Прежде всего определим форму ландшафта — в тестовой сцене можно начать с формирования горы, которая станет центром композиции.

Для того, чтобы сформировать гору, нужно задать паттерн, по которому будет изменяться height — для этого можно использовать HeightField Pattern в режиме Concentric.

Original size 1600x1080

Noise & Masking

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

Чтобы задать базовую форму террейна, можно подобрать подходящий шумовой паттерн в Heightfield Noise (Noise Layer: height).

Original size 1600x1080

На природных референсах видно, что поверхность горы варьируется в различных областях — у такого ланшафта есть как скалистые, так и пологие участки, как подверженные эрозии, так и покрытые растительностью части и тд.

post

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

В случае со сценой с горой, с помощью маски, созданной в Heightfield Noise (Noise Layer: mask), HeightField Pattern (Pattern Layer: mask) и HeightField Mask by Feature создаются крупные, средние и мелкие детали на поверхности горы, после чего на основе созданной маски в HeightField Layer изменяется height.

Original size 912x616

Кроме того, маски удобны для скаттеринга мелких элементов и растительности.

Например, добавить деревья и камни на пологие склоны и плато можно, создав маску с помощью HeightField Mask by Feature в режиме Mask by Slope, и подключив ее output в первые два входа ноды Heightfield Scatter.

Original size 1472x995

Симуляции естественных процессов

Когда основная форма готова, рельефу можно добавить реалистичности с помощью имитации природных процессов. Например, можно имитировать термическую и гидравлическую эрозию с помощью ноды HeightField Erode или следы от воды и осадков с HeightField Flow, а также сползание грунта с HeightField Slump.

Для детализации склона горы используется нода HeightField Flow Field, создающая борозды от осадков и HeightField Erode имитирующая эрозию на основе 15 кадров симуляции.

Original size 928x627

В результате своей работы эти ноды не только изменяют основной слой height, но создают новые слои (flow, debris, sediment), которые также могут использоваться для маскирования последующих операций или в шейдинге. При работе с ними доступны те же операции, что и со стандартными слоями — их можно комбинировать (HeightField Combine Layers), копировать (HeightField Copy Layer), и удалять (HeightField Layer Clear).

Визуализация

post

Чтобы сделать работу с ландшафтом еще нагляднее, добавим ноду HeightField Visualize — она позволяет отобразить хранящиеся на геометрии данные прямо в вьюпорте.

Например, мы можем выделить определенные диапазоны высот цветом, сделать более заметными резкие перепады рельефа или визуализировать различные зоны с помощью слоев.

Экспорт

post

Когда работа над созданием ландшафта закончена, heightfield можно конвертировать в полигональную геометрию помощью ноды Convert HeightField, и в 2D-карты с помощью ноды HeightField Output, где их можно запечь послойно.

Так как сцена с горой будут рендериться в Houdini, с помощью HeightField Output запекается несколько карт:

  • height  — ключевая карта, сохраняющая информацию о высоте рельефа, которая может использоваться в шейдере в качестве Displacement map
  • rocks и flow, которые также будут использоваться в шейдинге
Original size 1600x1080

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

Original size 3840x2760

Задание

Описание Создайте сцену на основе природного ландшафта с использованием изученных инструментов.

Результат Набор референсов, .hip файл проекта

Полезные ссылки

Создание ландшафта
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more