Tree Creator Pro

Процедурный генератор деревьев на GPU

Демо деревьев в браузере (WebGL)

Tree Creator Pro — инструмент для процедурной генерации деревьев в Unity 6, все вычисления идут на GPU. Реалистичные деревья делаются целиком в редакторе Unity: превью в реальном времени, полная поддержка HDRP и URP, экспорт в один клик.

Tree Creator Pro с нуля написан на compute-шейдерах, архитектура модульная. Он строит сложные деревья со стволом, ветками в несколько уровней, корнями, пальмовыми листьями (fronds), листвой, цветами и плодами, и всё это с интерактивным FPS даже для высокополигональных мешей.

Что в комплекте: 14 готовых пресетов деревьев, текстуры коры и листвы (diffuse, normal, mask), атласы листьев для мешей листвы, демо-сцена и полная документация.

В версии 1.1 появились низкополигональные деревья и поддержка мобильных платформ.

Есть также мой облегчённый ассет для деревьев под URP.

Возможности

Основные возможности

Генерация на GPU Вся генерация дерева идёт на GPU в compute-шейдерах: интерполяция сплайнами Catmull-Rom, построение меша, сварка веток, UV-развёртка и запекание данных ветра. Превью обновляется сразу, пока меняются параметры.

Модульная иерархия узлов Любой вид дерева собирается из слоёв: ствол → ветки (до 5 уровней вложенности) → корни → листва (листья, цветы, плоды). У каждого модуля свои параметры распределения, формы и физики.

Физика сплайнов Каждая ветка и каждый корень — сплайн Catmull-Rom с гравитацией, жёсткостью и тягой к солнцу. Естественность формы задаётся извилистостью, кривизной и случайными вариациями роста.

Шейдеры для HDRP и URP В комплекте 7 пар собственных шейдеров, для HDRP и для URP: кора с Ambient Occlusion на GPU, листва с просвечиванием и двусторонним освещением, шейдеры для пальмовых листьев и шейдеры билбордов для LOD. Пайплайн определяется автоматически, шейдеры переназначаются через систему MaterialManifest.

Расширение ствола и корни Ствол у основания плавно расширяется и переходит в процедурные корни. Расширение работает само по себе: оно есть, даже если модуль корней выключен.

Полный экспорт Экспорт в один клик создаёт меш FBX, ассет Unity Mesh, префаб с материалами, LODGroup с автоматическим билбордом в качестве LOD и данные ветра, запечённые в UV-каналы. Результат сразу можно ставить в сцену и на Unity Terrain.

Билборды для LOD Атлас билбордов с 8 ракурсов генерируется автоматически, с картами diffuse и нормалей (нормали получаются из карты высот фильтром Собеля). LODGroup настроен с cross-fade, поэтому дальние деревья сменяются плавно.

Распределение листвы Несколько режимов распределения — Random, Alternate, Opposite, Whorled — с настройкой частоты на каждой ветке и зависимостью от длины родительской ветки. Листья, цветы и плоды — отдельные типы листвы.

Пальмовые листья (fronds) Пальмовые листья генерируются вдоль веток, настраиваются количество, ширина, поворот, начало и конец покрытия. Для них есть свои шейдеры с правильной альфой и двусторонним рендером.

Вершинная анимация ветра Данные ветра запекаются на GPU в UV-каналы меша. Веса ветра для каждой вершины считаются по иерархии сплайнов: ствол естественно раскачивается, ветки и листья колышутся.

Адаптивная тесселяция меша Подразбиение зависит от кривизны и укладывается в заданный бюджет полигонов. Бюджет распределяется по уровням: в первую очередь полигоны получают ствол и основные ветки.

Сварка веток на GPU Ветки гладко соединяются с родительскими за счёт пересечения луча с треугольником на GPU и проекции воротника. Видимых швов в местах крепления веток нет.

UV по длине дуги Развёртка по принципу малярного валика даёт постоянную плотность текстуры по всему дереву: на стволе текстура не растягивается, на тонких ветках не сжимается.

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

Недеструктивная работа Все данные дерева хранятся в ассетах ScriptableObject. Перегенерировать, подправить и заново экспортировать дерево можно в любой момент, настройки не теряются.

Требования

  • Unity 6000.3+
  • HDRP или URP
  • Видеокарта с поддержкой compute-шейдеров (DX11/DX12/Vulkan) (минимум RTX 2060)

Tree Creator Pro

Tree Creator Pro

Совместимость

Требования: Генерация работает только на GPU, минимум — NVIDIA RTX 2060 Super или аналог. Обязательна поддержка compute-шейдеров (DX11/DX12).

Видео

Tree Creator Pro

https://www.youtube.com/watch?v=04V53qEQvWA

Tree Creator Pro

https://www.youtube.com/watch?v=PEKHAvmTWzM

Страница в Asset Store: Tree Creator Pro