В статье авторы рассмотрели возможности низкополигонального моделирования в компьютерной программе Blender.
Ключевые слова: моделирование, компьютерная графика, трехмерное пространство.
Актуальность исследования. Сегодня весьма актуальной и востребованной в жизни общества является такая сфера деятельности, как 3D-моделирование. Эта сфера широко используется в маркетинге, архитектурном дизайне, медицине, кинематографии, промышленности, производстве игр, инженерном проектировании. Благодаря возможности использовать такие методы и технологии, как 3D-дизайн, рендеринг, визуализацию и анимацию, стало возможным превращать идеи в цифровую графику на экране, создавать прототип будущего сооружения, коммерческого продукта в объемном формате. Большую роль 3D-моделирование играет при проведении презентации и демонстрации какого-либо продукта или услуги [1].
Актуальность 3D-моделирования обуславливается тем, что с его помощью появляется целый ряд новых возможностей, позволяющих быстро и недорого производить прототипы трехмерных объектов. Результатом работы с 3D-моделированием могут стать 3D-модели, напечатанные на 3D-принтере. Технологии 3D-печати с каждым годом все больше входят в нашу жизнь. Зачем покупать определенные инструменты или детали особенно если их надо доставить в труднодоступные места, когда все это можно распечатать прямо на месте. Область, где применяется 3D-графика велика: игры, кино и мультипликация, строительство, медицина и т. д. [2]
Целью статьи было рассмотрение возможностей моделирования 3D-объектов в программе Blender.
На этапе моделирования разработчик пытается сформировать модель, максимально приближённую к чертежу или техническому заданию. Модель составляется путём создания, размещения, изменения и объединения стандартных фигур, называемых примитивами.
Рис. 1. Примитивы по созданию 3D-модели дома
В рамках нашего исследования был смоделирован дом на опушке леса. Все объекты были созданы из примитивов: куб, плоскость, икосаэдр и пр. Вначале создавался фундамент дома из фигуры «куб». Для этого добавили Cube из меню создания примитивов и в режиме сетки «подгоняли» фигуру под размеры фундамента. Перейдя в режим редактирования нижнюю грань уменьшили с помощью клавиши I и достроили нужный фрагмент используя инструмент Extrude (клавиша E) путем вытягивания нижней грани вниз.
Для создания модели дома также использовалась фигура куб, которую «подогнали» под параметры примитивов, в режиме редактирования с выделенными верхними вершинами была произведена вытяжка модели, с помощью комбинации клавиш Ctrl+R и стягивания боковых ребер нам удалось получить нужную фигуру, похожую на основу дома.
Аналогичным способом был создан чердак сбоку дома. Из фигуры куб подогнали по размеру основу, затем стянули необходимые ребра, чтобы получился «треугольный» макет модели (рис. 2).
Рис. 2. Создание фундамента и основы дома
После создания основы трехмерной модели дома мы приступили к созданию «облицовки» дома «бревнами», а крыши — «черепицей».
Для создания «бревен» была использована фигура цилиндр, которую «подгоняли» под нужный размер «бревна», а затем с помощью модификатора Array (добавление процедурной операции/эффекта на выделенный объект) количество бревен было увеличено до 4 (по количеству боковой стенки дома). Для того, чтобы в будущем применить модификатор, позволяющий «состарить» брусья, в режиме редактирования мы разделили брус на 10 равных частей путем нажатия комбинации клавиш Ctrl+R.
После создания бревенчатой стены с одной стороны дома, с помощью модификатора Mirror (зеркало), мы отзеркалили наши бревна на другую стенку дома противоположную изначальной. После чего мы скопировали бревна сочетанием клавиш Shift+D и развернули их на 90 градусов, закрыв модификатор Mirror тем самым убрав ненужную часть бревен. «Подогнав» бревна под нужные размеры фронтальной стенки, мы увеличили их количество до тех пор, пока они не перекрыли всю основу модели дома. Столкнувшись с проблемой, что бревна к верху должны были укорачиваться по размеру, мы решили применить инструмент нож (клавиша K, которая позволяет «резать» объекты насквозь и клавиша Z, дающая возможность разрезать бревна насквозь). Отрезав ненужные части бревен, мы получили бревенчатые стены дома, а воспользовавшись еще раз модификатором отзеркаливания, мы перекрыли заднюю стенку дома
Боковое окно так же закрыли бревнами аналогично тому, как создавали бревенчатую облицовку фронтальной стенке. Скопировали первоначальные 4 бревна боковой стороны, «поставили» бревна в нужное место, модификатором Array добавили нужное количество бревен и ножом отрезали ненужные части (рис.3).
Следующий этап моделирования заключался в создании покрытия крыши. Сначала создавалась подложка для будущей черепицы отделением крыши дома и превращения ее в отдельный объект. В режиме редактирования были выделены две грани будущей крыши и скопированы комбинацией клавиш Shift+D, с помощью клавиши Esc крыша была возвращена на свое место и после нажатия кнопки Р и выбора в контекстном меню пункта Selection превращена в отдельный объект. Для того, чтобы основу крыши сделать толще, на нее был накинут модификатор Solidify.
Для создания черепицы на крыше дома и бокового чердака, мы использовали геометрическую фигуру — плоскость, которую уменьшали (клавиша S) до нужных размеров, переворачивали (клавиша R) до необходимого положения. После создания одной подходящей черепицы нам нужно было размножить их количество в ряд и вниз, поэтому модификатор Array применялся нами два раза изменяя при этом оси направления, по которым должна была расположиться черепица. Для перекрытия бокового чердака мы скопировали готовую крышу и с помощью соответствующего модификатора уменьшили количество плоскостей.
Также мы применяли модификатор Displace для создания эффекта «состаривания» черепицы, используя при этом текстуру Clouds (облако), которую настраивали для своей модели индивидуально (рис. 3).
Рис. 3. Создание бревенчатой облицовки и черепичной крыши дома
Для создания трубы с домом были использованы фигуры куб и икосфера соответственно. Комбинация клавиш Shift+A использовалась для создания необходимых примитивов. Куб был уменьшен до нужного размера и в режиме редактирования выделенные грани были вытянуты до приобретения кубом формы параллелепипеда. Верхняя грань была выдавлена экструдированием и возвращена назад клавишей ESC. При этом создалась новая грань, которую увеличили и выдавили вверх, создавая «бортик» трубы. Икосфера была использована для дыма, были уменьшены клубы дыма до нужного размера и повернуты в нужном направлении (рис. 4).
Рис. 4. Создание трубы и клубов дыма
Двери и окна дома создавались преимущественно в режиме редактирования. Приметив, который использовался для этих целей — плоскость. Изменяя положение вершин созданной плоскости, двери и окна были подогнаны под шаблон. Отличительной особенностью создания двери было применение функции инсерт (клавиша I) для создания дверного косяка и клавиша P для отделения объекта «дверь» от дверного косяка. Для создания объема использовали функцию экструд. Для прорисовки окон отличием было то, что для создания четырех стекол делили плоскость окна на две половины с помощью комбинации клавиш Ctrl+R и двойное нажатие клавиши I позволило отделить стекла от окна. С помощью функции экструд сделали окна объемными (рис 5 а, 5 б)
Рис. 5а. Создание окон и дверей (функция Инсерт)
Рис. 5.б. Создание окон и дверей
Для создания коровы использовалась фигура UV-сфера, которая послужила ее телом, отдельно создавалась голова так же из UV-сферы. В режиме редактирования были вытянуты рога, хвост, ноги. Путем вдавливания появились ноздри. Особенность редактирования ног заключалась в том, что использовали комбинацию клавиш Alt+E, что позволило вытянуть ноги параллельно нормалям. Для вытягивания рогов использовали комбинацию клавиш Alt+E и воспользовались функцией из контекстного меню Extrude Faces Along Normals, что дало возможность экструдировать область целиком, но переместить вдоль отдельных нормалей, а затем Alt+М и At Center, которая помогла объединить четыре выделенные вершины в одну.
Для создания ушек использовали, приметив плоскость, который уменьшили по положению, а затем в режиме редактирования при выделенных двух вершин в режиме сетки «увели» в корову, используя клавиши Ctrl+R добавили еще одно ребро в середине «уха», а с помощью Shift+Ctrl+B (функция бэвел) скруглили край уха. Модификатор Solidifay с Ctrl+А -> Scale сделали ухо толще, а затем отзеркалили относительно тела коровы.
Выделив соответствующие полигоны в режиме редактирования и, уменьшив площадь выделения до точки кнопкой I (инсерт), вытянули хвост коровы несколько раз в несколько промежутков и сделали на конце третьего отрезка расширение для кисточки хвоста.
Заключительным этапом создания коровы послужило сливание всех деталей в единый объект. Применили все модификторы, которые были использованы на разных этапах создания коровы, в режиме сетки выделили всю корову и нажали на комбинацию клавиш Ctrl+J. Расположили нашу корову возле дома и уменьшили ее до нужных размеров. Вторая корова была продублирована и уменьшена еще немного в размере (рис. 6).
Рис.6. Создание коров
Комбинацией клавиш Shift+D в режиме редактирования была создана платформа, на которой в дальнейшем будет располагаться трава и деревья. По оси Z поднимаем ее вверх и отделяем в отдельный объект кнопкой Р, выбрав при этом из контекстного меню вкладку Selection. Новую плоскость в режиме редактирования разбивали на полигоны. Для этого использовали комбинацию клавиш Ctrl+E и в контекстном меню выбирали функцию Subdivide для того, чтобы подразделить выделенные ребра на отдельные грани. Лишние полигоны удалили и приступили к созданию травы и деревьев.
Для травы и деревьев были созданы отдельные коллекции в боковом меню. Трава была создана и приметив плоскость, а деревья из куба.
Плоскость уменьшали до нужных размеров и с помощью клавиши экструд E вытягивали «фаланги» травы и каждый из промежутков сужали. Путем копирования создался набор из трех фигур. Передвинули грани таким образом, чтобы создать эффект «мятой травы» (рис. 7 а).
Деревья создавались в своей коллекции. Куб был вытянут и сужен аналогично тому, как создавалась трава. Затем грани нижнего яруса двух деревьев удалялись, чтобы придать деревьям новый вид (рис. 7 б).
При выбранной Платформе, предназначенной для деревьев в режиме редактирования, была активирована вкладка частицы, в которой создавалась система типа волосы Hair -> Adwance. В Render была выбрана коллекция «Деревья» и изменено количество деревьев, настроено распределение случайного расположения. Аналогичным образом создаем платформу с травой (рис. 7).
а) Рис. 7.а. Создание травыб) Рис. 7.б Создание деревьев
Рис. 7. Создание травы и деревьев
Вывод. Таким образом, программа Blender позволяет выполнить моделирование любых 3D-моделей, используя при этом примитивы, которые входят в стандартный набор его функционала. Возможности программы довольно обширны и разрешают реализовать любые эффекты с помощью модификаторов. Имеющиеся режимы редактирования фигур дают возможность видоизменять примитивы и решать множество задач для прорисовки и моделирования необходимых объектов.
Литература:
- Большаков В. П. «Основы 3D-моделирования»: учебник для вузов / В. П. Большаков, А. А. Сергеев, А. Л. Бочков. — Москва: Юристъ, 2001. — 550 с
- Компьютерная графика: Учебник для вузов. 2-е изд./ Петров М. Н., Молочков В. П. — СПб. Питер, 2009.