Что такое меш в блендере

Mesh-объекты

Меши являются одним из типов объектов Blender. Их также называют сетками, полисетками. Это трехмерные геометрические примитивы, изменяя которые с помощью базовых трансформаций и других модификаторов, создают другие, обычно более сложные, фигуры.

По-умолчанию Blender содержит десять mesh-объектов, добавить которые можно через меню заголовка редактора 3D Viewport. Это же меню вызывается комбинацией клавиш Shift + A.

Хотя плоскость (Plane), круг (Circle) и сетка (Grid) двумерны, в режиме редактирования их можно сделать трехмерными. Плоскость отличается от сетки тем, что первая состоит из одной грани, а вторая – из множества.

Различие между UV-сферой и Ico-сферой заключается в форме составляющих их граней. В первом случае это четырехугольники, уменьшающиеся от экватора к полюсам, во втором – одинаковые треугольники.

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

Объекты добавляются в позицию 3D-курсора. Бывает удобно, чтобы меш появлялся в центре сцены. Для точной установки туда курсора, следует нажать Shift+S и в появившемся меню привязки (snap) выбрать Cursor to World Origin.

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

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

Чем больше у объекта сегментов, тем более сглаженным он выглядит. Наиболее наглядно это видно на шарах.

Однако в пользу увеличения количества сегментов есть одно большое «но». Их прорисовка приводит к увеличению затрат ресурсов. Как следствие компьютер начинает тормозить. Поэтому в Blender существуют другие способы сглаживания мешей. Например, в контекстном меню, которое появляется при клике правой кнопкой мыши, можно выбрать Shade Smooth.

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

Другой способ объединения мешей воедино – это выделить их вместе в объектном режиме и нажать Ctrl+J. Таким образом, комбинируя и трансформируя различные полисетки, можно получить достаточно сложные фигуры.

Кроме того, можно включить дополнительные mesh-объекты через редактор Preferences (настройки), вкладка Add-ons (дополнения), панели Add Mesh (добавление полисеток). Включенные меши появятся в меню Add, там же где все остальные.

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

Суть его в том, что когда вы изменяете один элемент, вслед за ним меняются рядом стоящие. Как меняются, зависит от настроек. На рисунке ниже вершина левого шара поднята вверх при отключенном режиме пропорционального редактирования, а справа – с включенным.

Включение выполняется специальной кнопкой в заголовке 3D Viewport или нажатием буквы O.

Хотя пропорциональное редактирование доступно также в объектном режиме, чаще его используют в режиме редактирования.

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

На изображении показан результат применения варианта Random.

Практическая работа

Создайте модель молекулы воды.

Угол между связями равен 104.5 градусов. Комбинация клавиш Shift+D выполняет дублирование объектов.

Курс с инструкционными картами к части практических работ:
android-приложение, pdf-версия

Источник

Урок 2. Объекты в программе Blender

Урок из серии: «Создание трехмерной графики в программе Blender»

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендереНа прошлом уроке мы коснулись только трёх объектов (куба, лампы и камеры), расположенных на сцене по умолчанию.

В Blender есть еще множество других инструментов для моделирования. В наших уроках мы будем использовать mesh-объекты.

В этом уроке рассказывается о создании mesh-объектов (примитивов, изменяя которые можно получать более сложные объекты) и использовании модификаторов для изменения их положения, размера, угла поворота.

При работе с mesh-объектами будем использовать объектный режим.

В программе Blender два основных режима:

В объектном режиме действия выполняются над объектами в целом. Режим Редактирования используется для изменения формы объекта.

О работе в режиме редактирования речь пойдет в следующем уроке.

Для переключения режимов используется клавиша Tab. Также вы можете переключить режим из заголовка окна 3D-вида.

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере

Размещение объектов на сцене

При добавлении нового объекта следует иметь ввиду, что он расположится там, где находится 3D-курсор. Чтобы поменять положение 3D-курсора, достаточно щелкнуть ЛКМ в выбранном месте.

Для добавления нового объекта на сцену используют меню Add (Добавить), которое можно открыть с помощью кнопки Add в заголовке окна 3D-вида, или комбинацией клавиш Shift+A

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере

Краткое описание mesh-объектов

Mesh-объектОписание
Plane (Плоскость)Простейший двухмерный меш-объект. Его можно подразделить и, используя Режим пропорционального Редактирования, создать хорошую холмистую местность.
Cube (Куб)Основной 3D меш-объект. Хорошо подходит для конструирования прямоугольных моделей
Circle (Окружность)Не отображается как 3D объект пока не заполнен (fill), но его можно выдавливать (extrude) и изменять форму.
UV Sphere (Сфера)Сфера, сгенерированная из окружностей и сегментов. Похожа на глобус, состоящий из параллелей и меридианов.
Ico Sphere (Сфера)Сфера, сформированная из треугольников. Похожа на здание Epcot
Cylinder (Цилиндр)Похож на бочку, закрытую с обеих сторон. Если убрать оба конца —получится труба.
Cone (Конус).Основная закрытая коническая форма
Torus ТорМеш в форме бублика
Monkey (Обезьянка).Забавный меш-объект по имени Сюзанна (Suzanne), который один из разработчиков программы, Виллем-Пол ван Овербрюгер (Willem-Paul van Overbruggen (SLiD3)), решил добавить в список меш-объектов.

Практическое задание

Задание. В программе Blender создать модель молекулы воды по образцу. Для построения модели использовать Mesh-объекты, команды модификации «G»- перемещение, «S»- масштабирование, «R»- вращение.

Ход выполнения работы

1. Запустив Blender. Создайте новую сцену и сохраните ее в файл с названием «Малекула водорода» в своей личной папке (Команда File –Save as…. ). После выбора папки и ввода имени файла нажмите кнопку Save as Blender File.

2. Удалите куб. Выделите его ПКМ, нажмите X, затем Enter (или Delete, затем Enter).

4. Удостоверьтесь, что вы находитесь в объектном режиме.

5. Уменьшить цилиндр по всем осям до 0.3 от прежних размеров. Нажать S для изменения размера объекта, затем, зажав Ctrl, двигать мышью пока значения в левом нижнем углу 3D-окна не станут равны 0.3. Нажмите ЛКМ для завершения операции.

6. Переключитесь в вид спереди (Num 1).

7. Увеличить цилиндр по оси Z в 7.5 раза. Нажать S для изменения размера, затем Z, и, зажав Ctrl, двигать мышью пока значения в левом нижнем углу 3D-окна не станет равно 7.5. Закрепить, щелкнув левой клавишей мыши.

8. Повернуть цилиндр на 90 градусов по оси Y. Нажать R для вращения объекта, затем Y, и, зажав Ctrl, двигать мышью пока значения в левом нижнем углу 3D-окна не станет равно 90. Закрепить, щелкнув левой клавишей мыши.

9. Продублировать цилиндр. Копию переместить по оси X так, чтобы два цилиндра касались друг друга. Для дублирования нажмите Shift + D, затем G, переместите копию с помощью мыши.

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере10. Поскольку в молекуле воды угол связи H-O-H равен 104.5 градусов, то следует развернуть второй цилиндр по оси Y на 75.5 градусов (180-104.5). Нажмите R для вращения, затем Y

11. Совместить концы цилиндров. Перемещать концы с помощью мыши за красную и синюю стрелки-оси.

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере12. Разместить 3D-курсор в точке соединения двух цилиндров щелчком ЛКМ.

14. Два раза продублировать сферу, а дубликаты перенести на концы цилиндров. Дублирование: Shift + D. Перемещение с помощью мыши.

15. Уменьшить крайние шары до значения 0.8 от первоначального. Нажать S для изменения размера. Перемещение мыши производить при зажатом Ctrl.

16. Объединить все элементы модели. Выделение группы элементов: поочередный щелчок ПКМ на объектах при зажатой клавише Shift. Объединение: Ctrl + J.

17. Переключиться на вид из камеры (Num 0).

18. Сохранить файл. Нажать F2. Blender не запрашивает сохранение вашей работы при выходе из программы. Всегда во время работы сохраняйте проект как можно чаще!

Источник

Что такое меш в блендере

Глава 3. Моделирование

Теперь, когда мы освоили основы работы с Blender, следующим нашим шагом будет переход к работе с его рабочими инструментами и техниками в моделировании.

Давайте посмотрим на каждую группу объектов в отдельности:

Таким образом, мы рассмотрели основные типы объектов в Blender. Естественно, в Blender намного больше типов объектов, например, текст или лампы, но мы выше рассмотрели именно те, которые нам необходимы именно на данном этапе. Для моделирования в дальнейшем мы будем использовать большинство из этих объектов. Единственно, что может потребовать наиболее пристального внимания, так это меш – объекты. Это потому что мы будем работать с геометрическими формами, а Blender изначально был разработан для работы с подразделенными (subdivision) объектами.

Перед тем, как переходить к подразделению примитивов, давайте проверим основные особенности создания таких объектов. Я понимаю, что все это довольно монотонно, но так будет только на начальном этапе, а понимание этого – довольно таки важный шаг. Поскольку мы разобрались с основами, теперь мы готовы приступить к работе над более комплексными аспектами архитектурной визуализации в Blender.

* Subdivide ( subdivision ) – подразделять ( подразделение ). В процессе полигонального моделирования мы очень часто употребляем термин – подразделение и подразделять. Под подразделением понимается метод поступательного наращивания непосредственно полигонов, что позволяет получить более гладкую поверхность. Так слово «подразделять» используется в том случае, когда в моделировании стоит задача добавить новые ребра полигонам путем их подразделения.

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере

Это все виды меш – объектов доступных в Blender. Какие из них наиболее важны в архитектурном моделировании? Мы будем широко использовать для работы такие меши, как куб, плоскость и круг. Это основные формы при помощи, которых мы создадим все остальные недостающие нам детали и объекты. Например, из круга можно изготовить конус, а из плоскости смастерить решетку. Весь вопрос в использовании правильного инструментария.

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

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере

Но и это еще не все доступные инструменты при работе с мешами, некоторая их часть расположена еще в меню Mesh, расположенном в заголовке 3D – окна.

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере

Это меню позволяет производить манипуляции с вершинами, ребрами и гранями меша. Давайте посмотрим, каким образом при помощи этого инструментария можно редактировать меш – объекты и наиболее тщательно рассмотрим те из них, что будут для нас наиболее важны при моделировании архитектурных сооружений и сценария. Поскольку редактирование меша важно при архитектурном моделировании мы будем использовать модель простейшего здания во всех наших примерах. Эта глава не имеет своей цель работу над архитектурными элементами и деталями, но это не значит, что мы не будем их рассматривать. Именно эту модель здания мы будем использовать в наших примерах:

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере

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

Первым инструментом в редактировании мешей являются трансформации. Это очень простые инструменты, с помощью которых, тем не менее, можно создать более сложные объекты путем различных деформаций. Если вы еще не забыли материал предыдущей главы, вспомним, что для трансформаций в Blender имеются следующие быстрые клавиши: G – передвигать; R – вращать; S – масштабировать.

Трансформации могут быть применимы к вершинам, ребрам и граням меша. Мы можем также ограничивать трансформации осями X, Y, Z путем нажатия соответствующих клавиш сразу после основной команды, например G + X – перетащить объект по оси Х.

Петлеобразное подразделение ( loop subdivide).

Перед тем как использовать эту опцию, необходимо выделить объект ( ПКМ ) и перейти в режим редактирования меша ( Tab ). Петлеобразное подразделение может быть использовано только при этих условиях. Если все сделано правильно, то при нажатой комбинации клавиш Ctrl + R, то появится фиолетовая полоса, опоясывающая объект. В следующем примере, куб был отмасштабирован ( S ) и сужен.

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере

Эта линия должна располагаться петлей вокруг объекта, а мы, передвигая курсор ( нажатая ЛКМ ), можем определить необходимое положение разреза. В нужном месте необходимо отпустить ЛКМ, появится желтая линия разреза. Таким образом, делаются петлеобразные подразделения объекта:

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере

Когда мы научились использовать эти инструменты трансформации мешей, то возможности по созданию более сложных объектов увеличились многократно. Рассмотрим пример:

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере

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

Петля бесспорно хороший инструмент при создании простого подразделения меш – объектов, однако, иногда необходимо сделать сложный или неправильной формы разрез. Именно для этого предназначен «Нож», инструмент способный делать разрезы различными способами. Для активации инструмента необходимо выделить объект и перейти в режим его редактирования. Далее необходимо выделить грань, которую нужно разрезать.

Есть два способа активировать этот инструмент:

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере

Источник

Blender, 1000 мелочей

Базовые приёмы работы с Blender версии 2.79.

Общее

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендереТипы выбора геометрии:

Кнопка в редакторе на панели сверху справа отвечает за используемый рендер. По умолчанию там выставлен Blender Render, но желательно его вовсе не использовать и переключать на Cycles Render. При этом у материалов, света и ещё некоторых настроек понадобится нажать кнопку Use Nodes.

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендереВключение Use Nodes:

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендереРежимы отображения:

Для стандартного режима solid в менюшке справа в графе Shаding можно включить маткапы, для удобства. Это специальный шейдер, применяющийся сразу на всю геометрию в кадре и не влияющий на итоговый рендер. Обычно маткап стоит включать при скульпте, для большей наглядности.

Ещё несколько кнопок на главной панели отвечают за смещение, поворот и размер объектов (можно тащить за ось или за центр). В Blender большинство возможностей продублировано горячими кнопками (и для быстроты стоит преимущественно пользоваться ими). Для вышеупомянутых функций выбраны такие горячие кнопки: G (переместить), если после этого нажать кнопку нужной оси (X, Y или Z), то перемещение пойдёт по ней. R (поворот). S (общий размер).

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендереОсновные действия:

Чтобы смесить объект на фиксированное расстояние можно нажать G, затем (не двигая мышкой), букву нужной оси и в конце набрать число пунктов, на которое нужно передвинуть объект. То есть должна получится запись вида «GX20» или «GZ+100» или «GY-2» или «GX3.25» и так далее. Сдвигая в положительном направлении оси «+» можно не писать.

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

Параметры при добавлении:

Горячие клавиши на цифровой клавиатуре управляют перспективой и видами. Numpad 5 переключает между ортографическим и перспективным режимом камеры. Numpad 7 выставляет вид сверху и так далее.

Объекты на сцене освещены общим фоном (background), а также источниками света. Цвет и сила первого настраивается во вкладке с синим кружком (World). У источников освещения есть специальная вкладка с настройками, появляющаяся когда они выбраны.

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендереДаже если в сцене нет источников света, она освещается фоном (если не убрать его силу на 0)

Изменение размеров всего объекта пропорционально растягивает и геометрию, которую он содержит. В то время как увеличение/уменьшение геометрии в режиме редактирования не меняет размеры самого объекта. Следить за этим не всегда нужно, но при работе с физикой и точными масштабами полезно помнить, что сам по себе объект это просто пустышка, и чаще всего ожидается, что она будет единичного размера (тогда множитель её размера не меняет размер того, что внутри).

Перенос центра объекта к курсору:

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере

Редактирование

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендереМожно не пользоваться опциями в Tools, запомнив нужные сочетания клавиш, но на первых порах эта вкладка (и пара вкладок пониже) пригодятся

Иногда требуется выделить либо удалить подобные разрезы. Для этого можно отметить несколько точек разреза и обратиться к меню Select, выбрав Edge Loop. Теперь разрез можно двигать или удалить, нажав Delete и указав нужный вариант.

Для того, чтобы выбрать какую-то уже существующую петлю на объекте для дальнейших манипуляций, можно в режиме выделения точек или рёбер щёлкнуть по любому ребру этой петли с зажатым Alt. Если требуется выделить несколько петель, то дополнительно удерживаем Shift, когда начинаем добавлять вторую и далее.

Горячая кнопка I (i) создаёт грань/грани внутри выделенной области, после чего можно отрегулировать размер.

Клавиша Delete позволяет выбирать способы удаления геометрии. Что-то можно убрать совсем, что-то растворить/объединить.

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

Для создания заполняющих граней (рёбер) по точкам используется клавиша F. Если выделен замкнутый контур, то по Alt F можно сделать автозаполнение его треугольными гранями.

Чтобы отделить элемент геометрии в отдельный объект, нужно выделить его и нажать P, выбрав вариант Selection.

Источник

Меши с помощью Python и Blender: 2D сетка

Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере

Процедурная генерация великолепна! В этом уроке мы рассмотрим создание меша с использованием блендеровского Python API.

Создание мешей программными способами открывает множество возможностей. Вы можете создавать параметрические объекты, которые отвечают размерам реального мира, генеративное искусство, формы на основе математических формул или даже процедурный контент для игр. Blender — отличный выбор для такого рода работ, поскольку он сочетает в себе полномасштабный набор инструментов моделирования и анимации с мощным (и достаточно хорошо документированным) Python API.

В этой серии мы рассмотрим создание нескольких примитивов и некоторых базовых преобразований, а также рассмотрим некоторые ухищрения, которые упростят процесс разработки дополнений. Я предполагаю, что вы уже знаете Python на базовом уровне и достаточно знакомы с Blender. Поэтому мы пропустим введение в мир 3D и сосредоточимся на создании простой плоской сетки.

Настройка

В системе данных Blender существует различие между данными меша и объектами в сцене. Мы должны добавить меш и связать его с объектом, а затем связать этот объект со сценой, прежде чем мы сможем увидеть какие-либо результаты.

Начнем с импорта bpy (сюрприз!) и создания некоторых переменных.

import bpy # Settings name = ‘Gridtastic’ rows = 5 columns = 10

В переменной Name будет храниться имя меша и объекта одновременно. В то время как переменные rows и columns будут контролировать количество вершин нашей сетки.

Далее займемся созданием меша и объекта. Первым делом мы должны добавить блоки данных меша, затем объект, который будет их использовать и в завершении связать их с текущей сценой. Я также добавил несколько пустых списков для вершин и граней. Мы будем их заполнять немного позже.

verts = [] faces = [] # Create Mesh Datablock mesh = bpy.data.meshes.new(name) mesh.from_pydata(verts, [], faces) # Create Object and link to scene obj = bpy.data.objects.new(name, mesh) bpy.context.scene.objects.link(obj) # Select the object bpy.context.scene.objects.active = obj obj.select = True

Наиболее интересная часть это from_pydata(). Эта функция создает меш из трех списков: вершины, ребра и грани. Обратите внимание, что если мы указываем грани, то ребра указывать уже не нужно. Проверьте документацию по данной функции.

Попробуйте запустить скрипт сейчас. Вы увидите, что добавлен новый объект, но геометрии не видно (поскольку мы еще не добавили ее). Удалите этот объект и давайте двинемся дальше, чтобы узнать, как же создать 2D сетку.

Сетка вершин

Начнем с добавления одной вершины. Вершины представляются тремя координатами (X, Y и Z). Наша сетки будет двухмерной, поэтому мы будем беспокоиться лишь об X и Y, Z у нас всегда будет равно 0. Мы поместим вершину в центр сцены, которая также является центром глобальных координат. Другими словами, ее координаты равны (0, 0, 0). Каждая вершина является кортежем из 3 чисел с плавающей запятой, поэтому измените список следующим образом:

Запустите скрипт снова и вы увидите одинокую точку. Теперь вы можете перейти в режим редактирования и поиграть с ней. Давайте двинемся дальше и создадим ряд вершин. Для этого нам понадобится цикл, который добавит столько вершин, сколько столбцов мы установили в переменную columns. Это очень легко сделать с помощью выражения:

verts = [(x, 0, 0) for x in range(columns)]

range () возвращает целые числа, поэтому координата вершины по оси X будет их номером столбца. Это означает, что ширина каждого столбца будет 1 Blender единица (или 1 метр). Запустите скрипт снова. Вы увидите 10 вершин, выстроенных по оси X. Чтобы завершить создание сетки, нам нужно больше одной строки. Мы можем легко расширить список для добавления строк:

verts = [(x, y, 0) for x in range(columns) for y in range(rows)]

Теперь мы видим сетку вершин во всей ее красе.
Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере
Мы можем приступать к созданию граней, но сначала нам нужно понять, как это делать.

Разбираемся с гранями

Каждая вершина, которую мы добавили имеет свой индекс. Индексы устанавливаются в том порядке, в котором мы создаем наши вершины, поэтому у первой вершины индекс 0, у второй 1 и т.д.

Чтобы создать грань, нам нужно добавить кортеж индексов вершин в список граней. Этот кортеж может состоять из 3 (треугольник), 4 (четырехугольник) или большего (многоугольник) количества индексов. Кстати, это все целые числа. Поскольку мы будем создавать четырехугольные грани, нам необходимо будет указать 4 индекса для каждой из них. Но как? Вы можете попытаться угадать их, но есть лучший способ. Мы можем включить режим отладки в Blender. Откройте консоль Python в Blender и введите следующее:

Это самая полезная настройка, которую вы можете использовать для создания мешей и даже для разработки аддонов. Чтобы увидеть индексы вершин, выберите сетку двумерных вершин и перейдите в режим редактирования. Откройте панель свойств и активируйте опцию Indices в меню Mesh Display. Если вы не видите опцию, возможно, вы еще не включили режим отладки. Теперь любая выбранная вершина покажет ее индекс, поэтому выберите их все, чтобы увидеть их индексы.
Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере
Давайте сосредоточимся на первой грани. Как видите, она состоит из вершин 0, 1, 5 и 6. Попробуем сделать одну грань с этими индексами:

Попробуйте запустить скрипт еще раз и… подождите, что-то не так! Похоже, мы связали неправильные вершины.
Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере
Ну, мы соединили правильные вершины, но в неправильном порядке. Да, при создании граней необходимо соблюдать порядок: против часовой стрелки, начиная с нижней левой вершины.
Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере
Поэтому порядок для грани будет 0, 5, 6, 1. Исправьте это и снова запустите скрипт.
Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере
Теперь мы в деле. Каждый раз, когда вы видите подобные проблемы, попробуйте поменять первый или два последних набора индексов между собой. Хорошо, это то место, где все становится интересным. Нам нужно выяснить, как вычислить все индексы, чтобы создать целый ряд граней. Если мы внимательно посмотрим на индексы вершин, мы увидим закономерность:

Мы можем вычислить первый индекс в цикле, умножив текущий столбец на строку. Поскольку второй смещен на 1, нам просто нужно добавить 1, чтобы получить его.

Попробуйте вывести данные значения в консоли, предварительно определив переменные columns и rows:

Возможно, вам интересно, почему мы перебираем столбцы — 1. У нас есть 10 столбцов вершин, но они создают только 9 столбцов граней. Последний столбец ни с чем не соединяется.

Третий и четвертый индексы (x + 1) * rows + 1 и (x + 1) * rows соответственно. Мы добавляем 1 к X до умножения, чтобы установить индекс в следующую строку.

Вот цикл для вывода всех индексов:

Создание сетки

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

def face(column, row): «»» Create a single face «»» return (column * rows + row, column * rows + 1 + row, (column + 1) * rows + 1 + row, (column + 1) * rows + row)

Создадим выражение, подобное тому, что мы делали с вершинами:

Мы используем строки — 1 по той же причине, что и столбцы. Запустите скрипт и созерцайте.
Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере
Вот теперь сетка завершена. Вы создали скрипт, который может создавать 2D-сетки! Похлопайте себя по плечу и продолжайте читать, чтобы немного улучшить и расширить наш скрипт.

Масштабирование

Мы можем контролировать количество вершин нашей сетки, но квадраты всегда равны 1 BU (или 1 метр). Давайте изменим это.

Все, что нам нужно сделать, это умножить координаты X и Y на коэффициент масштаба. Начните с добавления переменной размера (size). Мы можем добавить это непосредственно к выражению verts, но опять же, будет лучше и чище, если мы сделаем это в своей собственной функции.

size = 1 def vert(column, row): «»» Create a single vert «»» return (column * size, row * size, 0) verts = [vert(x, y) for x in range(columns) for y in range(rows)]

Попробуйте установить размер во что-то отличное от 1 и проверьте сетку.
Что такое меш в блендере. Смотреть фото Что такое меш в блендере. Смотреть картинку Что такое меш в блендере. Картинка про Что такое меш в блендере. Фото Что такое меш в блендере

Финальный код

Завершение

Надеюсь, вам понравилось это введение в создание мешей на Python. Это только самый простой пример и есть много других интересных вещей. Вот несколько простых вещей, которые вы можете попытаться реализовать самостоятельно:

Оставайтесь с нами и в следующем уроке, в котором мы, наконец, перейдем к 3D с кубиками.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *