Создание деревьев в Blender

Создание деревьев в Blender
Создание деревьев в Blender

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

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

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

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

Энрико, Энди и я провели много тестов, и, наконец, мы пришли к окончательной последовательности создания деревьев!

  1. Ствол дерева должен иметь интересную, характерную форму. Мы просмотрели много разных вариантов, при этом стволы простой цилиндрической формы сразу отбрасывались. Энди вручную смоделировал все стволы.
    Создание деревьев в Blender
  2. К этим моделям я добавил ограничивающие сетки, по форме соответствующие кроне дерева.
    Создание деревьев в Blender
  3. Повторяем предыдущий шаг, в данном случае, для большего разнообразия, нужно добавить второй набор сеток для мелких веточек.
    Создание деревьев в Blender
  4. Теперь нужно добавить ветви, сделанные из 3D кривых (3d curves). Радиус для каждой точки кривой используется для придания толщины ветви. Я также настроил кривую blender, чтобы было проще ее редактировать — (выберите Smooth Radius в меню Specials (клавиша W), и скройте управляющие рычаги (Ctrl → Alt → H), чтобы они не мешали при редактировании).

    Мы могли бы сделать таким образом всё дерево, но при этом ствол получился бы слишком простым, а создание веток заняло бы слишком много времени.

    Создание деревьев в Blender
  5. Ветви! Теперь пришло время ограничивающей сетки. Опция Fill Twigs добавляет ветки в пространстве между ограничивающей сеткой (зеленого цвета) и созданными из кривых ветвями.

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

    Сгенерированные ветки не имеют заметных границ и точек перехода с созданными вручную ветками из кривых.

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

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

    Для листьев имеются параметры, аналогичные ветвям: угол размещения, случайный размер / шаг / наклон и т.д.

    В настоящее время используется образец листьев с duplifaces, однако мы надеемся на то, что в конечном итоге, они будут использоваться как частицы.

    Создание деревьев в Blender

Примеры визуализации на сегодняшний день ...

Создание деревьев в Blender
Создание деревьев в Blender
Создание деревьев в Blender

Скрипт на языке Python — Tree From Curves (Дерево из кривых), добавлен в SVN репозитория Blender. Он входит во все последние сборки Blender (Script Window → Wizards → Tree from Curves), однако удобство его применения всё ещё не на высоте! Когда появится время, я постараюсь добавить документацию и пресеты.

Создание деревьев в Blender

Основные возможности скрипта:

  • Создание UV разверток
  • Узловое смешение текстуры, альфа смешение
  • «Выращивание» веток из ранее созданных основ (ветви из кривых)
  • Заполнение ветками областей, ограниченных сеткой
  • «Выращивание» листьев
  • Variation — Преобразует ранее созданные кривые в разные варианты для разных деревьев
  • Animation — Автоматически создает арматуру, веса и перемещает ветви, используя для этого любую текстуру в качестве основы движения
  • Сохраняются настройки по каждой кривой, благодаря чему вы легко сможете востановить сетку, при необходимости
Поделиться в: Опубликовать в twitter Опубликовать в своем блоге livejournal.com