Хоткей для выбора активной камеры

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

Оператор для скрытия объекта во всех сценах

Для того, чтобы скрыть объект в окне 3D Viewport только для текущей сцены мы все пользуемся оператором object.hide_view_set, вызов которого равносилен нажатию на иконку с глазом в аутлайнере. Однако для того, чтобы скрыть объект во вьюпорте сразу для всех сцен проекта – нажатие на иконку с изображением монитора, специального оператора не предусмотрено. Сделаем его сами.

Как вынести динамически заданное свойство объекта на пользовательскую панель

В Blender API рекомендуется задавать дополнительные свойства для объектов через классы, предопределенные в bpy.props. Например для добавления целочисленного свойства используется класс bpy.props.IntProperty. Такие свойства удобны, хорошо работают и легко выносятся на панели пользовательского интерфейса.

В чем разница между “глазом” и “монитором” при скрытии объектов

Для того, чтобы скрыть объекты в окне 3D Viewport можно нажать иконку с “глазом” в аутлайнере напротив нужного объекта (равнозначно нажатию клавиши “H” на клавиатуре), а можно нажать иконку с изображением монитора. И в том и в другом случае объект будет скрыт.

В чем же тогда разница между этими двумя вариантами?

На самом деле все очень просто:

Нажатие на иконку с “глазом” скрывает объекты только в текущей активной сцене blend-файла.

Нажатие на кнопку с “монитором” скрывает объекты сразу во всех сценах blend-файла.

Использование UV координат для работы с геометрией

При помощи UV-координат развертки можно манипулировать не только материалами, но и самой геометрией меша. Связать UV-координаты с геометрией в Blender можно при помощи “Geometry Nodes”.

Наложение материалов по UV

Координаты UV-развертки можно использовать для смешивания материалов на меше напрямую. Это может пригодиться если, например, форма меша цилиндрическая или замкнутая, т.е. границы развертки соответствуют границам меша.

Как применить трансформации к мешу с помощью Blender Python API

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

Шина передачи сообщений

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

 

Рассмотрим, как можно создать функцию-обработчик события для отслеживания изменения какого-либо свойства. Например – местоположения 3D курсора в сцене.

Как изменить размеры гизмо

Для того, чтобы изменить размеры гизмо, отображаемого в окне “3D Viewport” нужно:

  • Открыть окно настроек “Preferences”
  • Перейти во вкладку “Viewport”
  • В подменю “Display” изменить значение слайдера в пункте “Gizmo Size”

Сборка секвенции кадров в видео с помощью кодека FFmpeg

Рендерить из Blender сразу в видео-файл не всегда удобно. Чаще на выходе рендера получают секвенцию (набор) кадров, которые потом, например после дополнительной пост-обработки, нужно собрать в итоговый видео-файл.

Собрать секвенцию кадров в видео можно, как средствами самого Blender, при помощи Visual Screen Editor (VSE), так и с помощью сторонних кодеков, например FFmpeg.