Tutorials
Изучаем петли (loops)
В общем понимании “петля” или в терминологии 3D – “луп” (с английского loop – петля) обычно представляет собой последовательное выделение нескольких точек, ребер или полигонов меша.
Однако во внутренней структуре меша присутствует отдельный элемент, который тоже называется “луп” (будем придерживаться терминологии) и представляет собой условную комбинацию одного вертекса с одним ребром меша. Попробуем разобраться, для чего нужны эти “лупы”.
Как передать дополнительные параметры в скрипт или аддон при запуске Blender из командной строки
Blender обрабатывает все параметры, передаваемые при запуске через командную строку. Однако некоторое скрипты и аддоны при запуске Blender из консоли для правильной работы могут требовать указания своих уникальных аргументов. Если указать такие нестандартные параметры в командной строке, Blender попытается обработать и их, что скорее всего приведет к ошибке. Однако в Blender предусмотрен специальный способ отсечения подобных аргументов от обработки программой.
Рендер объекта с отражением на белом фоне
Чаще всего предметная визуализация выполняется на однородном белом фоне. Достичь этого стандартными средствами настройки сцены достаточно сложно – при увеличении освещенности объект “засвечивается”, при уменьшении – фон вместо белого становится серым. И если сам объект можно просто отрендерить на прозрачном фоне и затем наложить на белый, то как быть с его отражением?
Рассмотрим способ, как можно отрендерить объект и его отражение на белом фоне.
Отладка многофайлового аддона в Blender быстрой переустановкой
Для отладочного запуска разрабатываемого многофайлового аддона в Blender удобно использовать следующую систему. Однако описанный поход обладает одним недостатком: импортируемые в файле __init__.py модули становятся доступны только после выполнения самого файла (после того, как отработает функция register() ). Это означает, что любые обращения к импортируемым модулям до их регистрации вызовут ошибку. В большинстве случаев это не критично, однако вызовет проблемы, если в аддоне например используется наследование от класса, описанного в импортируемом модуле т.к. описание классов в модуле обрабатывается раньше инициализации аддона.
Чтобы получить больше свободы при работе с импортируемыми модулями, для отладки аддона можно использовать другой принцип – не запускать аддон непосредственно из директории разработки, а инсталлировать его в Blender и проверять работу сразу “на чистовую”. Однако ручная переустановка аддона требует выполнения определенного набора действий, что излишне затрудняет подобную отладку. Решить данную проблему можно проводя переустановку аддона для тестов в автоматическом режиме.
Отладка многофайлового аддона в Blender быстрой переустановкойRead More »
Работа с UV через API Blender
Доступ к активной развертке:
1 |
bpy.context.active_object.data.uv_layers.active |
Доступ к развертке по имени:
1 |
bpy.context.active_object.data.uv_layers['UVMap'] |
Вращение текстуры нодами
Для того, чтобы добиться нужного расположения текстуры на поверхности объекта необходимо иметь удобный инструмент для манипуляций с текстурными координатами. Особенно, если текстура процедурная и наложена на объект без использования развертки.
Нод Mapping, совмещающий в себе инструменты перемещения, вращения и изменения масштаба текстуры, покрывает большинство задач текстурирования. Однако часто его возможностей недостаточно. Его основной недостаток в том, что он позволяет задавать значения для регулировки только в определенных полях внутри самого нода. Эти поля не имеют выходов наружу и к ним нельзя подсоединить связи от других нодов дерева.
При помощи связки других нодов можно реализовать нужный функционал, лишенный недостатка нода Mapping. Рассмотрим, как построить связку нодов для вращения текстуры вокруг оси Z объекта на случайную величину.
Еще один способ сделать резьбу в Blender
Одной из отличительных особенностей Blender является то, что многие вещи в нем можно выполнять различными способами, подбирая на свой вкус наиболее быстрый и удобный. Например создать резьбу можно не только при помощи построения профиля зубьев. Попробуем альтернативный способ:
Создание плавающей панели в аддонах Blender
Для размещения элементов пользовательского интерфейса при разработке аддонов Blender кроме обычных панелей (N/T/Properties) и их подпанелей можно использовать и так называемые плавающие панели – появляющиеся на экране в произвольном месте при нажатии пользователем определенного сочетания клавиш или при совершении им какого-либо действия. Простейшим примером таких панелей является панель, появляющаяся при нажатии клавиши f6 сразу после добавления в сцену какого-либо объекта (shift+a).
API Blender предоставляет разработчикам возможность создавать подобные панели для своих аддонов. Рассмотрим процесс создания плавающей панели на примере всплывающего окна с сообщением типа “Messagebox”.
Создание труб и проводов в Blender с помощью кривых
Моделировать тонкие протяженные объекты вроде труб и проводов при создании сцен приходится достаточно часто – в интерьерных сценах, научных, технических или фантастических. Одним из самых простых и удобных способов создания подобных объектов – использовать кривые (curves).
Основным достоинством кривых является простота управления и редактирования: в любой момент можно менять форму кривой, передвигать ее точки, добавлять новые и удалять лишние. Плюс, работать приходится не с большим количеством точек меша, а, что гораздо удобнее, всего с одной-двумя точками кривой. Расчет сцены для рендера с кривыми так же производится быстрее, чем с мешами.
Создание труб и проводов в Blender с помощью кривыхRead More »