API

Быстрое перемещение модификатора Auto Smooth в конец списка модификаторов

С версии 4.1 оператор сглаживания нормалей в Blender был полностью заменен на модификатор, реализованный на механизме Geometry Nodes. Это удобно для решения ряда проблем, однако если модификатор Auto Smooth располагается в стеке модификаторов не на последнем месте, до других модификаторов, изменяющих геометрию меша, это приводит к появлению артефактов. Чтобы быстро переместить модификатор в конец стека, можно использовать несложный скрипт.

Работа с Mean Bevel Weight ребрами через Blender Python API

Для взаимодействия с модификатором Bevel, создающим фаску на заданных ребрах, каждому из выбранных ребер должен быть задан определенный числовой вес в пределах от 0.0 до 1.0. В ручном режиме вес для фаски задается в N-панели на вкладке Item – Edges Data – Mean Bevel Weight. Так же этот вес можно считывать и задавать через Blender Python API.

Работа с sharp ребрами через Blender Python API

В Blender мы можем пометить ребра меша как sharp – чтобы они оставались острыми и не сглаживались даже при включении smooth-шейдинга. В ручную это можно сделать выделив нужные ребра и выбрав в главном меню Edge – Mark Sharp. Ребра можно пометить как sharp так же и через Blender Python API.

Пометка ребер меша для рендера в Blender с использованием рендер-движка Freestyle

Для того чтобы создавать рендеры на основе линий, такие, например, как чертежи или стилизации 3D под 2D, обычно в дополнение к основному рендер-движку используется дополнительный рендер-движок “Freestyle”. Ребра, которые на финальном рендере должны быть ярко обведены линиями, необходимо пометить как “freestyle”, после чего рендер-движок Freestyle сможет их обработать.

Батч-экспорт в OBJ из Blender

Экспортировать любой меш из Blender в файл в формате OBJ можно выделив его и выбрав в главном меню пункты: FIle – Export – Wavefront (.obj). При необходимости разбить сцену на объекты и каждый из них экспортировать в OBJ, этот процесс можно легко автоматизировать.

Быстрый пересчет нормалей меша через Blender Python API

Для того чтобы быстро “пересчитать нормали” – изменить направление нормалей так, чтобы они все были направлены в сторону внешней поверхности меша, при помощи Blender Python API можно сделать скрипт, состоящий всего из нескольких строчек кода.

Простейший динамический LOD

Одним из популярных методов для ускорения рендера в 3D сценах является использование LOD – Level Of Details. При использовании LOD объекты, располагающиеся близко к камере, имеют самую высокую детализацию, на средних планах – среднюю детализацию, а на задних планах используются очень грубые, недетализированные объекты т.к. они все равно почти не видны. Такая сцена рендериться гораздо быстрее, чем сцена у которой на всех объектах выставлена максимальная детализация.

Быстрое переименование слоя UV у выбранных объектов

При необходимости быстро переименовать имя слоя развертки UV Layer сразу у всех выделенных в Blender объектов, можно использовать несложный скрипт.

Определяем, какой объект является источником для частицы в Particle System при использовании коллекций

Если для системы частиц, испускаемых объектом, в качестве источника используется коллекция с набором различных мешей, при помощи Blender Python API можно определить, какой именно объект является источником каждой частицы.

Как назначить активный вертекс в bmesh

Точно так же как и в стандартной структуре данных меша, в объекте bmesh присутствует понятие текущего “активного” вертекса. Мы можем узнать, какой вертекс считается в bmesh в текущий момент активным, а также назначить активный вертекс в bmesh при помощи Blender Python API.