Python

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

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

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

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

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

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

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

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

Создание управляющих элементов для визуального управления длиной таймлайна в Blender

В общем представлении гизмо – это такие стрелочки и кружочки на 3D объекте, при помощи которых можно перемещать, вращать и масштабировать меш. Однако в Blender объект “гизмо” более универсален, и его можно использовать для своих нужд в разных рабочих областях. Например, можно создать гизмо для регулировки длины таймлайна.

Включение и выключение коллекции по объекту

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

Быстрое включение всех коллекций

Быстро активировать в Blender все коллекции на текущем слое видимости – включить для всех “галочку”, “глаз” и “монитор”, можно при помощи несложного скрипта.

Получение путей к стартовым файлам в Blender

Для различных направлений работы в Blender организованы отдельные стартап-конфигурации – наборы базовых настроек параметров сцены, рендера и пользовательского интерфейса. Каждая такая конфигурация хранится в отдельном файле и загружается вместе с ним, когда пользователь открывает Blender или выполняет команду File – New из главного меню.

Переключение рабочих экранов в Blender через Python API

Рабочие экраны в Blender – это сохраненные наборы рабочих областей (окон нужного типа). Обычно переключение между ними производится кликом мышкой по вкладке с именем рабочего экрана в верхней части UI Blender. Также между рабочими экранами можно переключаться при помощи Blender Python API.

Зеркалим (miror) объект с сохранением кастомных нормалей

Для того чтобы отразить объект относительно какой-либо оси (X, Y или Z) в Blender обычно применяется оператор miror. Например, чтобы отзеркалить объект по глобальной оси X, в меню окна 3D вьюпорта нужно выбрать: Object – Miror – X Global. Или можно поступить проще и просто применить к объекту масштаб -1 по нужной оси: s – x – -1. Однако, если на объекте присутствуют кастомные нормали, они не пересчитываются, что в дальнейшем вызывает появление различных артефактов.