Python

Преобразовываем меш в кривую Безье

Для преобразования любого плоского меша в кривые Безье нужно выполнить несколько операций: сначала преобразовать меш в кривую, затем преобразовать ее точки в формат Безье (с “рычагами”) и, дополнительно, можно пересчитать количество управляющих точек, чтобы удалить точки, не влияющие на форму кривой. Все то же самое можно сделать в режиме “одной кнопки”, написав небольшой скрипт.

Собираем быструю статистику по сцене в Blender

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

Включаем режим призрачного окружения в Blender

При работе с мешем, который окружен другими объектами в Blender сцене, часто нужно сделать так, чтобы все остальные объекты не заслоняли его и не мешали точному моделированию. В этом случае проще всего включить режим изоляции объекта (клавиша /), который скроет с экрана все, что его окружает. Однако бывают случаи, когда одновременно нужно и работать в мешем, и контролировать и соотносить его с его окружением. Здесь лучше всего подойдет так называемы “призрачный” режим – когда все окружающие объекты выглядят полупрозрачными и не мешают работе, однако в то же время позволяют ощущать и контролировать масштабы и положение объекта в сцене.

Делаем динамические свойства объектов Blender более управляемыми

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

Удаление Key-биндов

Кей-бинды (кей-коды, щорт-коды) – это комбинации клавиш, назначенные в Blender, на какое-то определенное действие. Так, например, при нажатии комбинации клавиш Shift + a открывается меню добавления новых объектов в сцену. Надо сказать, что важность кей-биндов в Blender огромна, большая часть рабочих процессов построена именно на работе с нажатием кнопок на клавиатуре. И все же, иногда возникает необходимость кей-бинды удалять.

Построение цветового куба в Blender

В цветовой модели RGB любой цвет представляется как комбинация из трех базовых цветов: R – красного, B – синего, и G – зеленого. Базовые цвета задаются числом в диапазоне от 0 до 255. Следовательно, любой цвет в этой модели будет представлен комбинацией из трех таких чисел. Например, светло-оранжевый цвет будет представлен набором чисел (255, 153, 51). Модель RGB можно визуализировать, представив ее в виде куба со стороной равной 255, все внутренние точки которого являются векторами, положение которых определяется тройкой чисел, которая определяет сам цвет.

Выделяем UV-швы при помощи Blender Python API

При необходимости быстро выделить все ребра, на которые назначены швы для UV-развертки можно при помощи Blender Python API. Для этого можно использовать оператор ops, обращения к данным меша или bmesh.

Копируем геометрию из bmesh в отдельный объект при помощи Blender Python API

При работе с объектом bmesh в Blender иногда возникает необходимость взять часть геометрии и перенести ее в отдельный меш. Рассмотрим, как это можно сделать при помощи Blender Python API.

Быстрое приведение UV-разверток разных объектов в Blender к одному имени

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

Ищем левую нижнюю точку на развертке в Blender

В процессе работы с UV разверткой в Blender иногда бывает нужно найти для целой развертки какие-то граничные точки. Рассмотрим, как это можно сделать на примере поиска левой нижней точки развертки.