Skills Up School

Нажмите ESC для закрытия

Арт окружения16 апреля 2026 г.

Создание инструмента Houdini, который генерирует стилизованные мосты для Unreal Engine 5

Раймундо Галлино рассказал о создании генератора процедурных мостов, объяснив, как идея возникла как вызов, и подробно описал, как он разработал HDA, работающий на основе одной входной кривой.

−85%

Весенняя распродажа

Цены 2020 года

КурсыВидеоуроки
Ещё →
Создание инструмента Houdini, который генерирует стилизованные мосты для Unreal Engine 5

Введение

Привет! Я Раймундо Галлино, технический художник из Уругвая. Мой путь в техническом искусстве начался с традиционного 3D-искусства, но я быстро понял, что меня больше интересует «как» и «почему» за кулисами, особенно шейдеры, оптимизация, процедурные рабочие процессы и интеграция с движком.

Я в основном самоучка, занимаюсь постоянными исследованиями и разработками и прохожу тренинги, например, в Vertex School, что помогло мне преодолеть разрыв между чистым искусством и техническим инжинирингом. Что касается моего профессионального опыта, у меня есть прочная основа в Unity, которая дала мне глубокое понимание ограничений движка и оптимизации.

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

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

Что касается ресурсов, я обнаружил, что официальная документация SideFX — это библия и радость VEX CGwiki, а такие платформы, как Vertex School, бесценны для понимания того, как Houdini интегрируется в конвейер игрового движка. Мой совет: не бойтесь нодового графа.

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

Процедурный генератор мостов

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

В то время я знал о Houdini и его потенциале для построения уровней, но ещё не развил навыки, чтобы использовать его. Поэтому мне пришлось пройти через процесс, моделируя всё вручную с помощью модификаторов в Blender. Хуже всего было то, что эти модели не были «готовы к использованию в движке». Любые изменения означали повторный экспорт и перенастройку всего.

После того как я почувствовал себя более комфортно в Houdini, я решил пересмотреть эту задачу с гораздо лучшим подходом. Этот инструмент был буквально построен на основе тех «извлечённых уроков». Я спросил себя: «Как художнику было бы проще всего настроить это на уровне?» Такой образ мышления привёл к этому основанному на кривых рабочему процессу.

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

Создание HDA

Я хотел, чтобы элементы управления были интуитивно понятными, поэтому построил всю систему так, чтобы ею управляла одна входная кривая.

Логика шаблона столбцов: Самым большим техническим препятствием было создание специфического ритма столбцов: Большой Столб → Малый Столб → Малый Столб → Большой Столб. Чтобы добиться этого, я сначала использовал Resample SOP для дискретизации кривой в определённое количество сегментов, гарантируя, что общее количество точек всегда кратно трём. Как только кривая была правильно дискретизирована, я использовал Attribute Wrangle для определения цикла на основе модуля.

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

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

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

Финальные рендеры

Для финальной презентации цель состояла в том, чтобы продемонстрировать инструмент в действии с помощью серии снимков окружения и простых анимаций камеры. Что касается освещения, я использовал Lumen в Unreal Engine 5 для обработки глобального освещения в реальном времени, сохраняя настройку простой: направленный свет для солнца, небесный свет для мягких теней и несколько точечных источников света, размещённых для улучшения определённых деталей в сцене.

Выпечка данных вершин: Чтобы поддерживать производительность настройки шейдера, я запекал Ambient Occlusion, Cavity и случайные вариации цвета непосредственно в цвета вершин внутри Houdini. Вместо использования дорогостоящих расчётов в реальном времени шейдер просто считывает данные вершин. Это сокращает время рендеринга и позволяет создавать эти детали без сложных вычислений в шейдере.

Создание инструмента Houdini, который генерирует стилизованные мосты для Unreal Engine 5 - изображение 3
Создание инструмента Houdini, который генерирует стилизованные мосты для Unreal Engine 5 - изображение 4

Заключение

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

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

Создание инструмента Houdini, который генерирует стилизованные мосты для Unreal Engine 5 - изображение 5
Создание инструмента Houdini, который генерирует стилизованные мосты для Unreal Engine 5 - изображение 6

Раймундо Галлино, 3D-артист

Интервью проведено Эммой Коллинз

Автор: Raimundo Gallino