API

Установка sampling pattern для рендер-движка Cycles

Начиная с Blender версии 3.5 в панели рендер-движка Cycles был убран переключатель для режимов адаптивной выборки. Однако сам параметр никуда не делся, и его значение оставлено по умолчанию в “Tabulated Sobol”.

bmesh – удаление с указанием режима (контекста)

Для удаления у bmesh-объекта точек, ребер или полигонов удобнее всего использовать метод remove() для соответствующего набора элементов. Кроме того, для объекта bmesh предусмотрен оператор bmesh.ops.delete(), который позволяет удалять элементы меша с использованием разных режимов (контекста).

Создание нодов Repeat Zone при помощи Blender Python API

Начиная с версии 4.0 в Blender Geometry Nodes появилась специальная группа нод, предназначенная для циклического выполнения участка нодового дерева, заданное число раз. Эта группа нод называется Repeat Zone.

Включение и выключение горячих клавиш в Blender при помощи Python API

Использование горячих клавиш – одна из наиболее продвинутых функций в Blender для серьезного увеличения скорости работы. Легко управлять доступностью того или иного сочетания клавиш можно посредством Blender Python API.

Создание входов и выходов для нодовых групп в Blender 4.0 при помощи Python API

В Blender 3.6 и более ранних версиях входы и выходы для нодовых групп можно было создать, вызывая команду new() для списка входов (inputs) и выходов (outputs) нодового дерева. В Blender 4.0 разработчиками были внесены изменения, и создание сокетов входов и выходов для нодовых деревьев было перенесено в объект interface.

Раскладываем выделенные объекты по коллекциям в Blender

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

Получение данных из другого .blend файла через temp_data

Если после открытия одного .blend файла нам нужно просматривать данные из другого .blend фала, можно воспользоваться контекстом временных данных temp_data.

Оптимизация скорости обращения к данным через foreach

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

Определяем угол между двумя ребрами меша в Blender

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