Python

Как назначить на объект констрейнт при помощи Blender Python API

Назначение ограничителей (констрейнтов) на объекты производится через свойство объекта “constraints”.

Для того, чтобы назначить ограничитель на текущий активный объект, нужно создать новый констрейнт в списке “constraints” объекта, указав в параметрах его тип:

Еще один способ добавить автокомплит к коду при разработке аддонов Blender в Visual Studio Code

Для повышения удобства разработки аддонов Blender с помощью Microsoft Visual Studio Code в этой IDE можно подключить автодополнение кода для стандартных типов API Blender.

Метод подключения автодополнения кода предложен Zen3515.

Как получить FOV камеры в градусах из длины фокуса в мм

Значения угла камеры в Blender могут устанавливаться как в миллиметрах – параметр Focal Length, так и в градусах – параметр Field of View.

Для того, чтобы получить Field of View в градусах имея значение Focal Length в миллиметрах, можно впользоваться следующей формулой:

Как создать группу вертексов Vertex Group и добавить в нее точки с помощью Blender Python API

Работа с группами точек для текущего активного объекта осуществляется через его структуру “vertex_groups”.

Как создать развертку для меша через Blender Python API

Для того, чтобы создать новую развертку для меша при помощи Blender Python API и задать точкам развертки определенные координаты, нужно:

Создать собственно развертку с нужным именем:

Далее, для задания координат точек развертке, нужно пройтись по всем “лупам” меша:

Как получить список координат точек UV-развертки

Получить список координат точек развертки меша может понадобиться, например, при экспорте меша из внутреннего формата Blender в какой-нибудь внешний формат.

Список разверток, имеющихся у меша, можно получить, обратившись к элементу uv_layers:

Как вывести все имеющиеся ноды

Получить все доступные шейдерные ноды в виде списка можно по их типу.

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

Как просмотреть список добавленных в заголовок окна операторов

Для добавления оператора в заголовок (header) окна используются функции append и prepend в которых параметром нужно указать функцию отрисовки кнопки вызова оператора.

Например, чтобы добавить в заголовок окна вьюпорта (3D View) кнопку вызова оператора добавления в сцену куба, нужно определить функцию отрисовки оператора:

и добавить ее в заголовок окна:

Кнопка с оператором добавления куба в сцену появится в заголовке окна вьюпорта.

Просмотреть список всех функций, добавляющий операторы в заголовок окна можно с помощью свойства _draw_funcs метода draw.

Обратите внимание, что свойство _draw_funcs определяется в методе draw только если в него добавлены пользовательские операторы. Если пользовательские операторы не в заголовок не добавлялись, будет выдана ошибка

AttributeError: ‘function’ object has no attribute ‘_draw_funcs’