Python

Преобразование цвета в Blender из цветового пространства Linear в sRGB и обратно

При работе с цветом Blender оперирует значениями из линейного (Linear) цветового пространства. Это позволяет демонстрировать цвета и градиенты в более привычном для человеческого глаза виде, однако этот момент нужно всегда учитывать при работе напрямую с цветом в Blender.

Получаем список вертексов, в порядке их следования друг за другом

Для работы с геометрией 3D объектов в Blender иногда бывает необходимо получить не просто список вертексов, а список вертексов в порядке их следования друг за другом. Сделать это можно через Blender Python API.

Порядок выполнения событий рендера

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

Расчет AABB для меша

Для быстрого и грубого определения пересечений геометрии двух объектов обычно используются ограничивающие объекты – сферы или параллелограммы в которые вписаны все точки объекта. Хотя просчет пересечений по ограничивающим объектам часто бывает неточен, он очень эффективен по скорости работы. Одним из видов ограничивающих объектов является AABB (Axis Aligned Bounding Box) – параллелограмм, выровненный по глобальным осям координат.

Выделение всех объектов, у которых нет материала

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

Выпуклая оболочка

Функция convex_hull() позволяет создать для меша выпуклую оболочку – форму, которая полностью охватывает меш по его крайним точкам. С ее помощью можно быстро строить упрощенные модели из сложных мешей.

Получение всех классов для меню в Blender

Для того чтобы вносить изменения в меню UI Blender, например, добавлять новые пункты или переопределять меню полностью, в первую очередь требуется узнать класс изменяемого меню.

Кастомные иконки в Blender

Чаще всего разработчики аддонов для придания кнопкам пользовательского UI индивидуальности используют иконки из встроенной в Blender библиотеки. Однако в качестве иконок в UI можно загружать и устанавливать абсолютно любые внешние изображения.

Выделение объектов по имени их UV-карты

При необходимости найти и выделить все объекты в сцене, у которых имя карты развертки UV-Map соответствует заданному, можно это сделать при помощи Blender Python API.