Как создать новый слот материала
Для того, чтобы добавить новый слот в набор слотов материалов объекта:
Для того, чтобы добавить новый слот в набор слотов материалов объекта:
Оператор wm.context_toggle предназначен для переключения состояния чекбоксов в интерфейсе Blender. С его помощью можно настроить быстрое переключение любых чекбоксов в любых окнах и панелях.
Для примера настроим включение/выключение отображения сетки (wireframe) во вьюпорте.
Обратиться к текущей активной кисти в режиме Sculpt в Blender Python API можно через следующую команду:
1 2 3 |
bpy.context.tool_settings.sculpt.brush # bpy.data.brushes['SculptDraw'] |
Для того, чтобы создать в сцене новую коллекцию при помощи Blender Python API нужно выполнить следующий код:
Если нужный объект расположен в скрытой коллекции, в больших сценах бывает сложно его найти.
Для того, чтобы узнать, в какой коллекции размещается нужный объект по его типу, нужно выполнить следующий код.
Например для камеры:
1 2 3 |
[(obj.name, obj.users_collection) for obj in bpy.data.objects if obj.type=='CAMERA'] # [('Camera', (bpy.data.collections['camera'],))] |
Этот код вернет список камер и коллекций в которых они размещены.
Некоторые операторы в Blender можно вызывать только в той рабочей области, для которой они предназначены.
Если вызывать, например, оператор, предназначенный только для работы в области 3D вьюпорта в Python-консоли, оператор или просто не выполнится:
1 2 3 |
bpy.ops.wm.toolbar() # {'CANCELLED'} |
или вернет сообщение о неверном контексте:
1 2 3 |
bpy.ops.view3d.background_image_add() # RuntimeError: Operator bpy.ops.view3d.background_image_add.poll() failed, context is incorrect |
Однако выполнить операторы в “не родной” рабочей области все же можно. Для этого в любой оператор можно передать первым неявным параметром указание на контекст рабочей области, в которой должен быть выполнен этот оператор. Этот параметр обычно называют “переопределенный контекст”.
Данный метод подходит для Blender версии 3.1 и более ранних. Для версии Blender 3.2 и более поздних необходимо использовать метод temp_override().
Для того, чтобы переключить активный инструмент из Т-панели в окне 3D вьюпорта нужно вызвать соответствующий оператор в параметре “name” которого нужно передать идентификатор idname требуемого инструмента.
Например для того, чтобы включить выделение окружностью Select Circle нужно вызвать оператор:
1 2 3 |
import bpy bpy.ops.wm.tool_set_by_id(name='builtin.select_circle') |
Как сменить текущий инструмент при помощи Blender Python APIRead More »
Модули, используемые в скриптах и аддонах Blender, располагаются или в той же директории, что и сам скрипт или аддон, или в директории установки Blender по пути “версия_blender\python\lib\”. Однако возможно подключить для работы и модуль, расположенный в другом месте на жестком диске.
Для этого нужно подключить модуль по его абсолютному пути.
Если требуется привязать меш к кости арматуры так, чтобы меш сохранил свое текущее положение, при помощи Blender Python API, нужно выполнить следующие действия:
Как привязать меш к кости с сохранением текущего положенияRead More »
Для того, чтобы точно выровнять кость одной арматуры по кости другой арматуры нужно соотнести глобальные матрицы арматур и локальные матрицы костей в режиме позы.
Для этого нужно выполнить следующий код:
Как переместить кость арматуры на место кости другой арматурыRead More »