Воскресенье, 05.05.2024, 11:59
Приветствую Вас Гость

Blender3DD

Создание деревьев произвольной формы в Blender


Создание деревьев произвольной формы в Blender

Введение: 

Эта статья описывает процесс создания деревьев заданной формы в программе 3D моделирования Blender с помощью скрипта Gen3. Автор скрипта – Сергей Прохорчук (stager13). Статья рассчитана на пользователей со знанием основ программы Blender. Так как я не знаком с другими скриптами, то не уверен, что с ними этот метод также можно применять, но думаю, что такое возможно. (в конце концов модель дерева – есть модель дерева...). Также я не уверен, что нет другого, более изящного решения такой задачи (ну может быть с новым Peach Tree Generator?), но это способ, который был придуман мною.


Однако, если вы - настоящий гуру Блендера, или для вас в тут «многа букофф», то для вас я составил «краткий алгоритм», вкратце описывающий основные последовательные шаги. 

Краткий алгоритм: 

Tree Mesh (Mat 1) > Suzanne Mesh (Mat 2) > Boolean (Divide) > Delete Mat 2


Если вы полностью не поняли эту схему, не стесняйтесь прочитать дальше руководство, там будет больше деталей. ;) 

Создание дерева: 

Я не буду пояснять принципов создания деревьев скриптом Gen3. Если вы не знакомы с ним, то я очень рекомендую ознакомиться с уроком по работе с Gen3 на сайте BlenderNewbies.com (автор - Kernon Dillon), где описывается практически всё, что вам необходимо знать о создании деревьев с помощью скрипта. 

При создании дерева, которому вы собираетесь задавать форму, важно знать, что чем более густую крону вы сделаете вашему растению (я имею в виду ветки, прутики, листья), тем лучше будет результат. Чем сложнее ваша будущая форма дерева, тем это более существенно. Я использовал для этой статьи в качестве шаблона форму Сюзанны – меш Monkey из базового набора форм Blender. Я полагаю его достаточно сложным и требующим очень плотной и детальной кроны дерева. 

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




Вернемся к нашему дереву. На 
Рис.1 показаны настройки скрипта, которые я использовал для генерации дерева.




Сгенерированное с такими настройками дерево показано на 
Рис. 2. Я постарался сделать дерево с округлой кроной, которая позволила бы поместить в нее Сюзанну. У нас, как видно, получилась модель с веселым числом фейсов более чем 500000.




Немного обработаем наше дерево перед следующим шагом. В одной части экрана откроем панель 
Outliner и переименуем условные названия деталей дерева в осмысленные: например «Stvol», «Vetki», «Prutya», «Listva» или подобным образом. (см. Рис.3). 

Следующее, что необходимо сделать – в Object Mode поочередно выбрать каждый элемент дерева, смягчить его (
Set Smooth), и, перейдя в режим Edit Mode(Tab) выбрать все вершины и удалить дубликаты (W > Remove doubles). Теперь дерево выглядит лучше и в нём осталось «всего» около 400000 фейсов. Ну и напоследок не забудьте назначить каждой из частей дерева материал (неважно какого типа) я, например назначил всем частям один и тот же белый материал.


Меш шаблона



В режиме объекта добавляем форму, необходимую нам для шаблона, из готовых форм или моделируем ее. Я взял стандартный меш Monkey. 

Мешу шаблона также назначаем материал, причем здесь лучше назначить какой нибудь другой цвет, чтобы меш шаблона хорошо контрастировал с прочими материалами дерева. Я выбрал веселый темно-розовый цвет. (если вы тоже выбираете весёленький розовый цвет, то не забудьте дереву назначить веселенький бирюзовый ;) - 
наверное шутка (прим. перев.)) См. Рис.4.




Также опытным путем я пришел к выводу, что следует сделать потолще тонкие выступающие части Сюзанны (уши и рот), иначе могут случаться ошибки. Просто выберем и сместим несколько вершин, чтобы уши и рот стали толще. (
Рис.5)




Теперь выбираем Сюзанну и помещаем её в крону дерева.(лучше делать это переключившись на каркасный вид, чтобы что-то увидеть). Модель Сюзанны масштабируем и перемещаем так, чтобы она сидела в середине кроны по центру, не приближаясь к краям кроны. Добиваемся этого с фронтального и бокового вида одновременно. (
Рис 6; 7)




Займемся обрезкой лишних элементов дерева. Чтобы сделать это, выбираем элементы, например листву, и переходя в 
Edit Mode способом выбора рамкой (Box select – B) приблизительно выбираем вершины вокруг шаблона Сюзанны и удаляем их. (Рис.8, Рис.9). 

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




В результате мы получим дерево с кубической формой кроны. (
Рис.10) Это техника «подстрижки» деревьев из урока от, Kernon Dillon, на который я ссылался ранее. Если у вас супермощный компьютер, то вы можете такой подрезки и не делать, если нет – то повторить подрезку также для веток, прутиков и т. д.


Придаём дереву форму



Итак, подготовка закончена – начнем придавать форму нашему дереву. Прячем все элементы сцены в скрытый слой, оставляя только Сюзанну и листву. Выберем оба меша в режиме Объекта и применяем булеву операцию пересечения (
W > Boolean > Intersect). 

У нас генерируется новый меш, границей которого будут границы пересечения двух выбранных. Этот процесс занимает много времени и зависит от мощности компьютера (На моём рабочем Мас РРС 1.5GHz, 1Gb RAM на это ушло около получаса). Можете пойти попить кофейку. 

Полученный меш листвы в форме Сюзанны будет иметь название либо «Suzanne 001», либо «Listva 001», в зависимости от того, какой элемент вы выбрали последним (лично я сначала выбирал Сюзанну, а потом листву – всё-таки получаемый меш – часть дерева), а так вообще порядок выбора не имеет значения. Снова скрываем все остальные меши, чтобы оставить только созданный. Он выглядит, как голова Сюзанны с дырками в ней и листвой внутри (
Рис.11)




Так как нам не нужна розовая оболочка для нашего дерева, удалим ее. Для этого мы и назначали 2 разных материала ранее. Выбираем новый меш-объект, переходим в 
Edit Mode и в панели редактирования (F9) смотрим на закладку Link and Materials. (Рис.12)




Тут мы выбираем наш веселенький розовый материальчик (он у нас читается как «2 Mat 2»). Теперь нажимаем кнопку 
Select(Выбрать), расположенную ниже и у нас выбираются все вершины с назначенным розовым материалом (Рис.13), принадлежащие оболочке.




Смело удаляем их (
Х или Del > Erase Vertices). Теперь у нас остались только листья, которые находились внутри Сюзанны.(Рис.14

Перед тем, как проделать те же операции с прутьями и ветками, необходимо доработать получившийся меш. Дело в том, что после комплексного удаления вершин меша, у нас обязательно остались вершины, не соединённые фейсами. Их необходимо удалить. Для этого оставаясь в режиме 
Edit Mode переключаемся в режим выбора фейсов (Face Select Mode – Ctrl tab 3). Теперь рамкой (В) обводим весь меш целиком (НЕ нажимайте Select All (A)!), для выбора всех полноценных фейсов. Переключаемся в режим выбора вершин (Vertex Select Mode – Ctrl Tab 1) и увидим выбранными все вершины принадлежащие фейсам. Теперь в меню Select > Inverse – инвертируем выбор. Мы видим теперь выбранными все ненужные вершины. Удаляем их.




Мы закончили с приданием листьям формы Сюзанны, называем наш меш, например «Suzanne Listva»и прячем в скрытый слой. Теперь делаем видимыми исходные меши прутьев и Сюзанны и повторяем всё то, что только что проделали с листьями: Выбирае прутья и Сюзанну, делаем булеву операцию пересечения (
W), которая теперь должна вычисляться побыстрее, удаляем ненужные вершины (Рис.15).




Затем проделываем всё то же для веток. (
Рис.16)




Теперь все элементы дерева имеют нужную форму. Присвоим им окончательные материалы листьев, веток и прутьев, какие вам угодно и отрендерим, чтобы посмотреть на результат. (
Рис.17)


Улучшение результата



Как мы видим результат есть, но он не совсем хорош. Даже после того, как мы поработали с ушами и мордочкой Сюзанны, утолстив их, всё же в этих частях маловато заполнение кроной дерева. Это означает, что нужно было генерировать более массивное дерево (я не имею в виду его величину, а подразумеваю большее количество веток, листьев и т. д., ну то есть более густую крону.) Как вариант, чтобы не переделывать заново – в режиме редактирования дублировать элементы и заполнить ими разреженные участки. Потом удалить лишнее и результат должен быть неплох. Я, как раз пошёл таким путём и, по-моему, всё выглядит значительно лучше (
Рис.18). 

Я, кстати, использовал то же самое дерево для «обложки» этой статьи. И как вы можете видеть на таком расстоянии от камеры довольно тяжело рассмотреть какие-либо неточности. Также и вы продумывайте, как стоит детализировать деревья, в зависимости от их положения на финальном изображении. В некоторых случаях не стоит вообще возиться с улучшением. 

Это всё, что я хотел сказать. Надеюсь вам понравилась моя статья. Если у вас есть вопросы или рекомендации по поводу данной статьи, не стесняйтесь – обсудим на blenderartists.org. Также дайте мне знать, если знаете другой более лёгкий способ. И не забудьте показать мне ваш результат. 

Выражаю благодарность Сергею Прохорчуку за его великолепный скрипт и Кернону Диллону ( Kernon Dillon) за чудесный урок о нём. 

Удачного Блендинга. 

Автор: MasterDomino 
Перевод: cyberdime


Дополнительные материалы:

Оригинал урока (анлг): скачать здесь 
Урок в pdf версии (рус): скачать здесь 
Скрипт Gen-3: скачать здесь

Форма входа
Polls
Реклама
Меню
Google
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright MyCorp © 2024 |