Цветовая маска по материалам
Для того, чтобы быстро создать цветовую маску по материалам, назначенным на объекты сцены, для последующей постобработки,
можно использовать следуюий скрипт:
Для того, чтобы быстро создать цветовую маску по материалам, назначенным на объекты сцены, для последующей постобработки,
можно использовать следуюий скрипт:
При разработке аддонов часто бывает необходимо предоставить пользователю возможность задавать ряд параметров, влияющих на общую работу аддона. Например, пользователь может указать постоянную директорию для загрузки/сохранения файлов или задать тот или иной режим работы аддона. Конечно, интерфейс для задания подобных параметров можно разместить и в рабочей панели аддона, но гораздо удобнее поместить его в отдельную панель свойств аддона, которая размещается под панелью инсталляции аддона в окне Preferences.
Основное преимущество определения таких глобальных свойств аддона в том, что они не сбрасываются при перезапуске Blender. Пользователю не нужно каждый раз производить настройку аддона, достаточно один раз установить нужные параметры, персонализировав аддон для удобной работы.
Создадим простейший аддон и добавим ему глобальный параметр, поместив его в панель свойств аддона:
Для того, чтобы узнать версию интерпретатора языка Python, которая используется в текущей версии Blender, нужно в окне Python Console выполнить следующую команду:
1 2 3 4 |
import sys print(sys.version_info) # sys.version_info(major=3, minor=7, micro=0, releaselevel='final', serial=0) |
Это означает, что в текущей версии Blender используется Python 3.7.0.
Чтобы вывести результат в более привычной форме, можно использовать команду:
1 2 |
print('.'.join(map(str, sys.version_info[:3]))) # 3.7.0 |
или в полной форме:
1 2 |
print(sys.version) # 3.7.0 (default, Aug 26 2018, 16:05:01) [MSC v.1900 64 bit (AMD64)] |
В API последней версии Blender 2.8 разработчики внесли множество изменений, поэтому практически все скрипты и аддоны, написанные для более ранних версий Blender (2.7 и ниже), перестали работать. Для того, чтобы пользоваться полюбившимися аддонами в новой версии Blender, их нужно портировать – исправить их код для корректной работы с новым API Blender.
Изменения, которые необходимо внести в код аддона, чтобы он заработал в Blender 2.80:
Портирование аддона для Blender 2.7 в Blender 2.8Read More »
Несмотря на наличие встроенного текстового редактора, скрипты и аддоны для Blender удобнее разрабатывать во внешних IDE, предоставляющих пользователю гораздо больше возможностей таких, как автокомплит, настройка подсветки синтаксиса, интеграция с системами контроля версий и множество других инструментов, делающих разработку быстрее и проще.
Одной из таких сред разработки является Visual Studio Code от компании Microsoft. Это бесплатная универсальная IDE, поддерживающая разработку на различных языках программирования, в том числе и на языке API Blender – Python.
Использование IDE Microsoft Visual Studio Code для написания скриптов/аддонов в BlenderRead More »
В общем понимании “петля” или в терминологии 3D – “луп” (с английского loop – петля) обычно представляет собой последовательное выделение нескольких точек, ребер или полигонов меша.
Однако во внутренней структуре меша присутствует отдельный элемент, который тоже называется “луп” (будем придерживаться терминологии) и представляет собой условную комбинацию одного вертекса с одним ребром меша. Попробуем разобраться, для чего нужны эти “лупы”.
Blender обрабатывает все параметры, передаваемые при запуске через командную строку. Однако некоторое скрипты и аддоны при запуске Blender из консоли для правильной работы могут требовать указания своих уникальных аргументов. Если указать такие нестандартные параметры в командной строке, Blender попытается обработать и их, что скорее всего приведет к ошибке. Однако в Blender предусмотрен специальный способ отсечения подобных аргументов от обработки программой.
Переключатели состояний или так называемые Radio button – “радиокнопки” используют в случае, если нужно ограничить выбор какого-либо значения одним вариантом из нескольких имеющихся. В интерфейсе Blender есть множество подобных кнопок, например переключение между цветным и черно-белым режимами рендера или назначение режима маппинга текстуры к объекту. Подобные кнопки можно создавать и в интерфейсе разрабатываемых для Blender аддонов.
Рассмотрим, как можно создать свою собственную кнопку-переключатель с выбором одного из нескольких заданных значений.
Создание переключателя Radiobutton в интерфейсе аддона BlenderRead More »
Аддон или скрипт может содержать внутри себя несколько различных операторов, и не все они могут быть зарегистрированны в системе при выполнении функции register(). Чтобы убедиться, что нужный оператор зарегистрирован в API Blender, необходимо выполнить следующую команду:
1 |
hasattr(bpy.types, bpy.ops._operator_bl_idname_.idname()) |
где:
_operator_bl_idname_ – текстовое значение свойства оператора bl_idname.
Например для оператора:
1 2 3 4 5 6 |
class TestOperator(bpy.types.Operator): bl_idname = 'test.operator' bl_label = 'Test operator' def execute(self, context): pass |
команда проверки его регистрации в API будет выглядить так:
1 |
hasattr(bpy.types, bpy.ops.test.operator.idname()) |
Для того, чтобы установленный в Blender аддон начал работу его необходимо зарегистрировать – отметить чекбокс рядом с названием аддона в окне User Preferences – Add-ons.
Чтобы узнать, зарегистрован ли нужный аддон, необходимо выполнить следующую команду:
1 |
'add-on_name' in bpy.context.user_preferences.addons |
где:
add-on_name – имя файла аддона (без расширения .py) или имя пакета аддона, если он установлен пакетом.