3D-ботаника: визуализация растительности

Автор: Юрий Ильин. Мир 3D

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

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

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

В своё время венгерский ботаник Аристид Линденмайер обнаружил, что поведение клеток растений подчиняется вполне чётким математическим законам самоподобия, и разработал соответствующий математический аппарат — L-cистему. Сейчас L-системы используются и для моделирования поведения любых растений.

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

Взглянем на некоторые из них, и начнём с коммерческих.

Onyx GARDEN

Onyx Computing – компания, вся деятельность которой как раз и посвящена разработке процедурных генераторов растений. Разработками в этой области они занимаются уже более семнадцати лет — первый инструмент для параметрического моделирования растений, имевший красноречивое название TREE, появился на свет ещё в 1992 году.

Сейчас на сайте Onyx можно приобрести шесть отдельных программ для генерации разных видов растений (бамбука, широколиственных, хвойных, а также цветов, травы и пальм), два плагина для импорта полученных моделей в 3ds Max (TREEStorm и Onyx2Max), один плагин для EIAS (ElectricImage Animation System)и два набора, в который входят вышеперечисленные программы. Оптом, как водится, дешевле: самый дорогой бандл (OnyxGARDEN SuperBundle 2) стоит 695 долларов.

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

Xfrog

Компания GreenWorks Organic Software выпускает пакет процедурной генерации растений под общим названием Xfrog — в виде standalone-версии для Windows и плагинов для Max, Maya, Cinema4D и Ligthwave.

Каждое растение рассматривается как комбинация из 10 компонентов — структурных (с помощью которых описывается основное строение), множественных (распределение листьев и отростков, например) и описывающих местные или общие искривления. Сугубая математика — но с очень «органическими» результатами, как видим.

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

Xfrog позволяет, кроме всего прочего, экспортировать модели в формат .OBJ, который читается практически любыми 3D-программами, так что полученную в Xfrog геометрию можно пихать хоть куда.

По техническим деталям: по этой ссылке можно найти обширный урок по практическому использованию Xfrog для создания дерева — даже с листвой. Хотя обычно листву реализуют более, так сказать, примитивным образом: набором плоскостей, на которые наложены текстуры, изображающие листву. Впрочем, всё зависит от задачи.

Стоит отметить, что помимо самих генераторов, Xfrog предлагает две утилиты для оптимизации — xfrogTune и xfrogMLOD, позволяющие существенно снижать количество полигонов в сцене с минимальными потерями в качестве финального изображения.

TreeGenerator (2.0)

Ещё один фрактальный генератор растений; версия 1.2 распространяется бесплатно, за версию 2.0 придётся выложить некоторые деньги (а именно, 49 долларов, пять из которых идут в порядке отчислений в некий экологический фонд).

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

Генератор позволяет регулировать длину, радиус и сужение к концу каждой ветви, радиус и частоту спиральных изгибов, степень обычной изогнутости, количество и размещение отростков и многое другое. Более того, за счёт изменения seed-числа, можно получить из одного и того же набора параметров сразу множество неодинаковых моделей деревьев.

Естественно, текстуры коры и листьев — на выбор пользователя, причём текстуры коры можно делать повторяющимися (tileable).

Генератор поддерживает экспорт в форматах DXF, OBJ и 3DS (соответственно, с «другой стороны» полученные модели рекомендуется ловить 3DS или чем-то ещё, что поддерживает импорт этих форматов).

Поддерживается экспорт UV-развёртки.

Dryad Tree Generator

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

Как видим на скриншоте, пользователю сразу предлагается выбор из огромного количества самых разных ботанически-точных моделей растений (правда, выглядят они не то, чтобы слишком натурально). Естественно, все параметры можно менять, получая самые живописные результаты, затем экспортировать модель в .OBJ. Всю листву и всю хвою, впрочем, Dryad экспортирует в виде объёмных фигур, поэтому конечная модель очень тяжёлая.

Кроме того, сама Dryad – первая её версия, во всяком случае, требовала хорошего процессора и не менее 256 мегабайт видеопамяти для гладкой работы.

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

NgPLant Designer

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

А можно быстро получить нужные результаты. Для текстурирования поддерживается формат TGA, текстуры могут быть многослойными (до четырёх слоёв). Листва выводится изначально так же, как и ветви (в общей архитектуре растения обозначаются тоже как branches) и настройка их параметров не сильно отличается от настройки ветвей. Листва может располагаться в виде отдельных многоугольников, либо в виде «крыльев» (wings) – широких плоскостей, нанизанных на ветви по всей длине, на которые потом предполагается наложить текстуру (с альфа-каналом). На скриншоте это может выглядеть невразумительно, но когда работа завершена, получается что-то вроде этого:



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

Gen3 и Trees from Curves – скрипты в Blender3D

Два плагина/скрипта для открытого пакета трёхмерной графики, один из которых Trees from Curves (Scripts -> Wizards -> Trees from Curves) поставляется с ним по умолчанию. Стоит отметить, что именно этот скрипт использовался для отрисовки растительности в мультфильме Big Buck Bunny:

На первый взгляд оба устрашают изобилием изменяемых параметров, «метод тыка» исключается полностью...

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

По этому адресу располагается огромный (более 140 мегабайт) видеоучебник, описывающий принципы работы с Gen3 со всеми его устрашающими элементами управления. Умные разработчики, впрочем, позаботились о том, чтобы неопытные пользователи сразу же увидели всю мощь плагина и пали ниц: на выбор предлагаются три пресетных модели — дуб, осина и нисса. Ствол, ветви в соответствии с их иерархией и листва генерятся в качестве отдельных объектов, и в принципе от них можно избавляться, если необходимо.

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

3D
Разделы:
Рубрики:
Популярное: