Обзор Blender 4.4. Часть 3. Animation & Rigging, Cycles Renderer, Compositor, Video Sequencer

Приглашаю вас также заглянуть на мои страницы в Telegram и VK, чтобы быть в курсе моих публикаций и изысканий.

PDF-версия всех частей обзора доступна в моем Yandex.Disk

Уважаемый читатель, я рад представить финальную, третью часть обзора новых возможностей и изменений в Blender 4.4. В представленном твоему вниманию обзоре, рассмотрены изменения и нововведения в инструментах анимации, ядре визуализации Cycles, инструментарии для композитинга и видеомонтажа.

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

Содержание:

Хотя Blender и уступает таким пакетам, как Autodesk Maya, Autodesk 3ds Max или Cinema 4D по функционалу и возможностям в анимации, разработчики уделяют внимание этому направлению и с каждым крупным и минорным обновлением, что-то добавляют и исправляют в пакете. В новом релизе 4.4 было внесено несколько изменений и добавлены новые возможности для анимации. Помимо этого разработчики обновили ядро визуализации Cycles, инструменты в композитинге и видеомонтажа.

Blender 4.4: Animation & Rigging

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

Slotted Actions

Структура Actions изменилась, введя концепцию слотов - “Slots”. Короче говоря, слоты позволяют хранить анимацию нескольких «вещей» в одном Action.

blndr440_rev_img_301.jpg

Редактор действий (Action editor), показывающий одно действие с двумя слотами, один для объекта камеры и один для данных камеры. Слоты различаются по значку в правой части списка каналов. Камера одновременно движется и приближается.

Примеры использования

Геометрические объекты: местоположение в сцене (объект) вместе со значениями ключа формы (принадлежит данным объекта) и местоположениями пустых ключей (различные объекты).

Объекты камеры: преобразование (объект) и параметры объектива (данные объекта).

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

Материалы, которые фактически состоят из двух блоков данных (сам материал и его дерево узлов шейдеров материала).

Детали

Все действия теперь «слотовые» - Slotted Actions. Actions в старых файлах формата *.blend обновлены до Slotted Actions.
Создание действия с помощью ввода (через пользовательский интерфейс, операторы или функцию rna_struct.keyframe_insert) попытается совместно использовать действия между связанными блоками данных.

Назначение действия блоку данных попытается автоматически назначить подходящий слот действия, когда это уместно. Есть случаи, когда это не назначает слот автоматически, и, таким образом, действие фактически не будет анимировать блок данных.

Типы блоков данных действий и слотов

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

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

Автоматически назначаемые правила

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

Автоматическое выделение Action Slot при назначении действия работает следующим образом. Побеждает первое правило, которым будет определен слот.
  1. Блок данных запоминает имя слота, которое было назначено последним. Если у вновь назначенного Action есть слот с таким именем, он выбирается.
  2. Если Action имеет слот с таким же именем, как у блока данных, он выбирается.
  3. Если Action имеет только один слот и никогда ничему не назначалось, оно выбирается.
  4. Если Action назначено блоку в NLA или Action constraints, и Action имеет один слот, и этот слот имеет подходящий тип идентификатора, оно выбирается.

Для обычных назначений Action (в отличие от блоков NLA и Action constraints) это последнее правило («если Action имеет один слот, просто используйте его») не применяется. Это означает тонкую обратную несовместимость: с устаревшими Action’s в Blender 4.3 конечное состояние («оно анимировано этим Action») может отличаться от конечного состояния со slotted Actions («если ни один слот не был назначен автоматически, он не анимирован»). Это сделано намеренно для поддержки следующего рабочего процесса:

  • Создайте Действие, анимировав куб.
  • Чтобы анимировать Сюзанну с помощью того же Action, назначьте action Сюзанне.
  • Начните вводить ключ для Сюзанны. Это автоматически создаст и автоматически назначит новый slot для Сюзанны.

Если правило 4 применимо в этом случае, 2-й шаг автоматически выберет слот Куба для Сюзанны, что немедленно перезапишет свойства Сюзанны анимацией Куба.

Работа со Slotted Actions

Объединение анимации

Из Action Editor можно объединить анимацию всех выбранных объектов в один Action (Action => Merge Animation). Данные всегда объединяются в Action активного объекта. Эта функция будет опрашивать связанные блоки данных каждого выбранного объекта и также объединять их. Это означает, что, к примеру, можно объединить анимацию Object и Shapekey даже одного объекта.

Разделение анимации

Также из Action Editor можно перемещать Slots, выбранные в Channels Region, в новый Action (Action => Move Slots to new Action). Все Slots, перемещенные таким образом, будут перемещены в один Action. Пользователи этих Slots будут переназначены на новый Action.

Также возможно выделить каждый Slot в его собственный Action (Action => Separate Slots). Как и при перемещении определенных Slots из Action, это переназначит всех пользователей этих Slots новому Action.

Обновление старых проектов до Slotted Actions

Вам не нужно делать ничего особенного для обновления старых проектов. Blender автоматически обновит Actions из старых *.blend-файлов до Slotted Actions, и это будет правильно работать и сохранять назначение анимации даже в многофайловых проектах, которые связывают действия между *.blend-файлами, независимо от порядка, в котором вы открываете и сохраняете файлы.

Все обновленные Actions будут иметь один Slot, называемый «Legacy Slot».

Этот Slot будет иметь тот же тип, что и Action, который был раньше. Поэтому, когда Action анимировал материал, новый Slot также будет привязан к типу Material.

Никакие Actions не объединяются обновлением. Все Actions остаются отдельными Actions.

Forward Compatibility

Blender 4.4 сохранит Slotted Actions способом, совместимым с более старыми версиями Blender. Blender 4.3 и более старые версии загрузят только первый Slot. Если вы затем сохраните файл *.blend, второй и последующие Slots со всеми их данными анимации будут потеряны. Также будут потеряны Slot Names.
Если у вас есть multi-slotted Actions и вы хотите сохранить их способом, совместимым со старыми версиями Blender, используйте оператор Separate Slots, чтобы разделить их на несколько single-slotted Actions.

Python API

Для подробных сведений, смотрите Python API release notes для изучения технических изменений в Python API. В этом разделе описаны лишь некоторые концептуальные изменения в API.

Новый Python API для Slots, Layers, Strips и Channelbags представлен в Blender 4.4.

Существующий Python API для доступа к F-Curves и Action Groups по-прежнему доступен, но теперь маркируется как «обратно совместимый устаревший API».

Он будет работать с F-Curves/Groups только для первого Slot. Создание F-Curve или Group через этот API также создаст Slot с именем «Legacy Slot».

Новая модель данных также добавляет Layers и Strips к поддерживаемой многослойной анимации в будущем. Однако, поскольку это фактически еще не поддерживается, существуют следующие ограничения:

  • Action может иметь ноль или один слой;
  • Этот слой может иметь ноль или один Strip;
  • Этот Strip должен иметь тип «keyframe» и быть бесконечным с нулевым смещением.

Дополнительную информацию о Slotted Actions в контексте многослойной анимации см. в разделе Layered Animation.

Pose Library

Pose Library была обновлена для обеспечения более плавного рабочего процесса при работе с Pose Assets.

  • Созданная поза больше не будет установлена как текущее действие (Action).
  • Pose Assets могут быть созданы в asset library, которая не является текущим файлом.
  • Можно обновить Pose Assets из текущей позы.
  • Pose Assets можно легко удалить.
  • Pose Assets могут хранить данные для более чем одного armature с помощью Slots.

ПРИМЕЧАНИЕ. Pose Assets, созданные во внешней библиотеке, будут сохранены как один файл на ассет. Эти файлы нельзя редактировать, открыв их в Blender. Вместо этого необходимо использовать предоставленные операторы. Это известное ограничение, и оно отслеживается в #133878: WIP: Поддержка редактирования внешних данных blendfile с помощью PartialWriteContext. Из-за этого операторы будут работать только с ресурсами, которые либо являются локальными для *.blend-файла, либо были созданы во внешней библиотеке с помощью оператора в Blender.

Operators

Create Pose Asset

Создание Pose Asset покажет всплывающее окно, в котором можно указать имя ассета, библиотеку и каталог.

Теперь это также можно сделать из 3D-вида в разделе Pose => Create Pose Asset.

Запуск этого оператора, когда не видно ни библиотеки активов, ни полки активов, выведет полку активов на 3D-вид, из которой запускается оператор.

blndr440_rev_img_302.jpg

Всплывающее окно, которое появляется при создании актива позы. Оно позволяет указать имя актива, библиотеку и каталог.

Теперь также можно создать Pose Asset, содержащий позу для более чем одного armature. Просто перейдите в Pose Mode с двумя или более armature’s и создайте Pose Asset с костями из обеих выбранных armature’s. Это использует слоты под капотом для определения того, какие данные следует использовать при применении действия.

PYTHON: для обратной совместимости оператор называется точно так же, как и раньше (poselib.create_pose_asset). Однако свойство activate_new_action устарело, больше не работает и будет удалено в Blender 5.0.

Modify Pose Asset

Ассет может быть изменен 4 способами

  • Adjust: обновляет существующие каналы в ассете, но не добавляет и не удаляет каналы.
  • Replace: полностью заменяет все каналы в ассете позы каналами текущего выбора.
  • Add: добавляет каналы выбранных костей в Pose Asset. Существующие каналы будут обновлены.
  • Remove: удаляет каналы текущего выбора из Pose Asset.

Это можно найти в контекстном меню Pose Asset.

Delete Pose Asset

Из контекстного меню можно удалить Pose Asset. Это происходит по-разному между ассетами, которые являются локальными для текущего *.blend-файла и во внешних библиотеках. Локальные ассеты будут просто не отмечены как assets, в то время как assets во внешних библиотеках будут удалены из своих файлов.

Rigging

Членство в коллекции костей теперь зеркально отражается при симметризации скелета (armature). Оператор Symmetrize зеркально отображает выбранные кости вдоль оси X, используя правила именования костей для симметричных ригов принятые в Blender. Кости могут быть зеркально отображены слева направо или справа налево, в зависимости от выбора.

Если совпадающие кости выбраны с обеих сторон, зеркальное отображение происходит справа налево.

Кости с противоположными именами, которые не существуют, создаются, а существующие перезаписываются.

Кости, которые нельзя определить как левые или правые, игнорируются.

Свойства костей и ограничений после симметрии настраиваются для зеркального отображения их поведения. Для костей с Action Constraints ключевые кадры добавляются к целевому действию, обеспечивая симметричное движение при активации действия.

Примечание.
Драйверы костей или ограничений не создаются и не затрагиваются во время симметрии.
Для Bone Collections. Назначения коллекций костей также подвергаются симметрии.
Коллекции, которые следуют соглашению об именовании, зеркально отражаются.
Если коллекция не существует, она создается и привязывается к той же коллекции, что и оригинал.
Примечание.
Blender не препятствует назначению левых костей правым коллекциям.
Во время симметрии результирующая правая кость будет назначена левой коллекции.
Нормализация в N-panel теперь поддерживает блокировку любого количества групп вершин.
При удалении модификатора, ограничения или ключ формы любого драйвера на нем также будет удален.

Graph Editor

Алгоритм генерации значений модификатора F-Curve Noise был обновлен. Это было сделано в ответ на сообщение об ошибке. Теперь значения больше не превышают диапазон -0,5/0,5. Это добавило два новых свойства, которые управляют внешним видом шума: Lacunarity и Roughness. Значения по умолчанию выбраны так, чтобы максимально напоминать предыдущее поведение. Есть флажок для использования старого поведения модификатора F-Curve Noise, который будет автоматически включен в старых файлах, чтобы не менять внешний вид сцены.

blndr440_rev_img_303.jpg

Обновленный модификатора Noise в Graph Editor. Применен к Camera Focus Distance.

Constraints

Relationship Lines для ограничителей (между ограниченным объектом/костью и целью ограничения) больше не рисуются, когда нет цели. Ранее, когда не было цели, эти линии рисовались к началу координат мира.

Blender 4.4: Cycles Renderer

В ядре визуализации Cycles в Blender 4.4 уделили внимание поддержке новых архитектур GPU NVIDIA и AMD, а также обновили поддержку GPU Intel. По сути это минорное обновление, и больше обеспечивающее поддержку новых архитектур GPU и новые версии драйверов GPU. Рассмотрим основные изменения в поддержке GPU в Cycles 4.4.

Изменения в поддержке GPU и драйверов

NVIDIA

Поддержка GPU на базе архитектуры NVIDIA Blackwell

Реализована поддержка GeForce RTX 5000 серии (Архитектура Blackwell). Изменения позволяют собирать Cubin для GPU на основе архитектуры Blackwell, если установлен CUDA Toolkit версии 12.8 или выше.

В набор по умолчанию добавлен только sm_120, поскольку он актуален для потребительских графических процессоров (RTX 5090 и т. д.), которые обычно используются с Blender.

Общее повышение производительности в рендеринге с Cycles GPU

В ходе написания статьи, я задался вопросом о изменениях производительности ядра Cycles GPU и увеличении или снижении производительности в визуализации комплексных сцен. Я взял модель здания из своего персонального проекта и выполнил её визуализацию в четырех разных версиях Blender.

blndr440_rev_img_304.jpg

Модель из проекта “Реконструкция здания Женской Гимназии в городе Чердынь” использованная в тесте.

В ходе разработки линейки Blender 4.X, разработчикам удалось выполнить оптимизацию производительности ядра Cycles GPU и повысить его производительность. Так, представленная на рисунке выше иллюстрация была визуализирована с помощью Blender релизов 3.6, 4.2, 4.4 и 4.5 (alpha).

blndr440_rev_img_305.jpg

Так, новая версия Blender 4.4 показывает прирост производительности примерно на 34.5% выше, в сравнении с релизом ветки Blender 3.6 LTS. За счет оптимизации ядра и внедрения поддержки новых библиотек NVIDIA CUDA и NVIDIA OptiX, удалось повысить производительность визуализации в Cycles GPU.

Для интереса я также протестировал еще альфа версию Blender 4.5, что интересно, за счет перехода на новые мажорные версии NVIDIA CUDA и NVIDIA OptiX, удалось еще немного увеличить производительность визуализации. Но более подробно мы исследуем новую версию с релизом Blender 4.5.

AMD

Поддержка GPU на базе архитектуры RDNA4

Реализована поддержка AMD RX 9000 серии (Архитектура RDNA4).

Обновление HIP RT (Heterogeneous-compute Interface for Portability Ray-Tracing)

HIP RT больше не является экспериментальным, и может стать активным по умолчанию в следующем релизе. Библиотека HIP RT обновлена до версии 2.5 и исправлено множество багов.

HIP RT больше не поддерживает GPU на основе архитектуры RDNA1. Эти графические ускорители не дают выигрыша в аппаратной трассировке луча и обладают рядом проблем со стабильностью.

Поддержка драйверов AMD

Минимальная рекомендуется версия ROCm на Linux увеличена до версии 6.0.

Минимальная версия драйвера для Windows увеличена до Adrenalin version 24.6.1 или Radeon Pro driver 24.Q2.

Intel

Поддержка драйверов Intel GPU’s

Для Intel GPU’s минимальная версия драйвера увеличена до 101.6557 на Windows и 31740.8 на Linux.

Улучшена производительность выборки растровых текстурных карт.

Текущее использование программных операций с текстурами в реализации oneAPI создает дополнительную нагрузку на регистры компилятора GPU во время выделения регистров. И это также создает код, требующий обслуживания. Это изменение предназначено для решения этой ситуации путем использования недавно выпущенного API текстур без привязки SYCL для включения операций с текстурами на основе HW с использованием аппаратного сэмплера графических процессоров Intel.

В настоящее время это означает ускорение рендеринга на 1-11% (в зависимости от сцены) на GPU моделей Arc A770 и Arc B580 использованных разработчиками. На данный момент наблюдаются небольшие регрессии производительности с операциями с текстурами NanoVDB на Arc B580 и небольшие регрессии производительности в ядрах MNEE и Raytrace для затеняемой поверхности на Arc A770, но они выглядят исправляемыми и будут устранены в будущем.

Оптимизация компрессии библиотек oneAPI

Уменьшен размер пакета Blender за счет новой конфигурации компрессии для ядра oneAPI.

Иные изменения

Изменения в Bump Mapping

Реализован более точный рендеринг субпиксельного bump mapping. Это изменяет внешний вид некоторых рендеров, но обычно должно обеспечивать более точные результаты и быть более стабильным в анимации. Однако, если есть резкий переход во входном параметре Height, внешний вид может значительно отличаться; чтобы добиться похожего внешнего вида, как и раньше, предлагается масштабировать входной параметр Distance с коэффициентом 0.1 или вместо этого использовать функцию сглаживания.

blndr440_rev_img_306.jpg

Пример визуализации сцены с моделью здания в которой активно используется Bump Mapping в Blender 4.210 LTS и Blender 4.4.3.

На рисунке выше приведен пример влияния обновленного алгоритма визуализации субпиксельного bump mapping. Отмечу, что проекты созданные в Blender 3.X могут потребовать серьезной адаптации для визуализации в новых версиях Blender 4.4+. Карты рельефности при переходе на новую версию Blender 4.4 и выше, могут потребовать перенастройку параметров и возможно, даже перестройки графа узлов материалов. Более подробно изменения в субпиксельном buimp mapping описаны в теме к коммиту на портале разработки Blender: Fix #86648: reduce ray differentials size for bump mapping #133991.

Изменения в OSL

В OSL улучшена совместимость связей с MaterialX.

Cycles: совместимость OSL subsurface_bssrdf с MaterialX

Еще одно смыкание для совместимости с MaterialX. Текущий код MaterialX пока не поддерживает его. Разработчиком исправления был проведен базовый тест сценария кода на OSL, чтобы убедиться, что это работает.

Алекс Фуллер поднял вопрос об этом в теме GenOSL:Subsurface BSSRDF questions. Был добавлен метод, ior и roughness в качестве необязательных аргументов функции.

Cycles: совместимость OSL oren_nayar_diffuse_bsdf с MaterialX

Это решает проблему смыкания oren_nayar_diffuse_bsdf при roughness равном 0, чтобы сделать его по Ламберту, а не черным как для шейдеров MaterialX на основе описания в stdosl.h, а также смыкания oren_nayar_diffuse_bsdf, чтобы также умножать на albedo вместо использования значения веса смыкания.

Оба устаревших смыкания diffuse и oren_nayar полагаются на значение веса смыкания для установки цвета, однако oren_nayar_diffuse_bsdf использует значение альбедо, переданное в него при использовании шейдеров MaterialX. Это не было проблемой для PrincipledBsdf или DiffuseBsdf в Blender, поскольку эти шейдеры явно умножают цвет на значение веса смыкания, что также обеспечивает совместимость с диффузным (ламбертовским) резервным вариантом, когда roughness равен 0, найденным в коде OSL и SVM, однако эта роскошь проверки и замены отсутствует в сгенерированных шейдерах OSL для различных шейдеров MaterialX, например. gltf_pbr и standard_surface.

Это также разделяет oren_nayar и oren_nayar_diffuse_bsdf на их собственные соответствующие внутренние замыкания, чтобы можно было использовать правильные функции eval/sample и сохранить совместимость со старым замыканием oren_nayar (хотя оно устарело в OSL 2.0).

Это, вероятно, требует хорошей проверки по базовому PrincipledBsdf/DiffuseBsdf перед слиянием, однако тестирование, показывает ожидаемые результаты.

Добавление замыкания uniform_edf Cycles для лучшей совместимости с MaterialX

В процессе работы с генератором из MaterialX в OSL с Cycles было обнаружено, что шейдеры вроде standard_surface и gltf_pbr не рендерились из-за отсутствующей реализации uniform_edf. Насколько можно судить, это идентично смыканию emission, за исключением того, что оно принимает значение цвета эмиссии, поэтому изменение значения веса с его помощью может работать хорошо.

Cycles: совместимость Sheen BSDF с MaterialX

Довольно простое отображение. Это включает блеск на standard_surface и размытие на openpbr_surface.
medium_vdf требует дополнительной шероховатости, полагается, для дополнительной шероховатости или способа подачи шероховатости из исходного замыкания микрограней. Предполагается, что замыкание преломления не используется напрямую в Cycles с node_refraction_bsdf, использующим microfacet.
openpbr_surface по всей видимости вместо refraction активирует anisotropic_vdf.

Cycles: диффузное замыкание Берли для совместимости с MaterialX

Это добавляет диффузное смыкание Берли в OSL для совместимости с MaterialX. Это только для OSL и не является смыканием, которое будет искаться в SVM.
Были замечены некоторые остатки того, когда PrincipledBSDF использовал его до Орен-Наяр, поэтому повторно использованы некоторые фрагменты, такие как schlick_fresnel.

С помощью рендеров 1:1 в GafferCycles + GafferRenderman с PxrDisney это было подтверждено. Но диффузное затенение по Ламберту не соответствовало roughness 0.0f, но похоже, что эквивалентом является 0.25f, что было подтверждено с помощью реализации Renderman.

Изменения в запекании текстур

Ускорено запекание в Selected to Active baking.

Запекание затенения на поверхности выбранных объектов в активный объект. Лучи отбрасываются от низкополигонального объекта внутрь к высокополигональному объекту. Если высокополигональный объект не полностью вовлечен в низкополигональный объект, вы можете настроить начальную точку лучей с помощью Max Ray Distance или Extrusion (в зависимости от того, используете ли вы cage). Для еще большего контроля вы можете использовать объект Cage.

Для запекания текстур необходим подготовительный этап, связанный с CPU, для установления соответствия между сетками высокого и низкого разрешения, прежде чем движок рендеринга сможет взяться за дело и начать запекание.

Часть этого процесса теперь использует parallel_for, ускоряя этот этап процесса запекания для многих/больших текстур почти линейно по отношению к количеству ядер CPU.

OptiX Denoiser

NVIDIA OptiX denoiser был обновлен для улучшения качества шумоподавления. При использовании последних драйверов GPU улучшенное шумоподавление уже автоматически используется в старых версиях Blender.

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

blndr440_rev_img_307_201.jpg

Пример визуализации сцены с интерьером в различных версиях Blender для демонстрации различий в библиотеках OptiX Denoiser.

Рассмотрим тестовые изображения, представленные на иллюстрации выше. Хочу обратить ваше внимание на область изображений с кроватью и матрасом. В Blender 4.2.10 LTS был получен достаточно шумный и неравномерный результат, где на матрасе проявились RGB-пятна. При визуализации сцены с теми-же настройками, в Blender 4.4.3, результат обработки изображения с помощью OptiX Denoiser был более корректен, но были утрачены некоторые детали в модели матраса - замылены углубления на горизонтальной поверхности. В Blender 5.0 alpha был получен аналогичный результат, и даже более качественный результат работы алгоритма денойзера, но также были утрачены небольшие детали. Остальная область изображения в целом была без искажений и серьезных изменений в деталях, за исключением напольного коврика, созданного с помощью меха.

Sample Subset

Для корректного распределения шаблона выборки blue noise (синего шума) по нескольким компьютерам была изменена функция смещения выборки. Теперь есть переключатель подмножества выборки с как смещением (Offset), так и длиной выборки (Sampling length).

Необходимо обновить скрипты для распределенного рендеринга с использованием этой функции.

Описание Sample Subset в документации

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

bpy.ops.cycles.merge_images(input_filepath1=r"1.exr",
input_filepath2=r"2.exr", output_filepath=r"combined.exr")

Типичный вариант использования — распределение рендеринга одного кадра по нескольким машинам. Допустим, вы хотите рендерить в общей сложности 2048 образцов выборки (samples), но разделить эту работу на две машины, поскольку на одной это займет слишком много времени:

  • На обоих компьютерах установите максимальное количество образцов выборки (Max Samples) равным 2048, отключите функцию Denoise и включите функцию Sample Subset.
  • На первой машине установите Offset равным 0 и Length равным 1024.
  • На второй машине установите Offset равным 1024 и Length равным 1024.
  • Запустите рендеринг из 1024 выборок на каждой машине, затем объедините результаты, как описано выше, чтобы получить эквивалент одного рендеринга из 2048 выборок.

Параметр Offset

Задает индекс первой выборки в подмножестве, отсчитываемый от нуля.

Параметр Length

Количество образцов в подмножестве. Хотя это переопределяет максимальное количество образцов выборки (Max Samples) с точки зрения образцов, которые будут визуализированы, все равно важно установить Max Samples на общее количество образцов, которые будут визуализированы во всех подмножествах – в противном случае подмножества будут иметь несовместимый шум, и их объединение даст худший результат.

Blender 4.4: Compositor

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

Добавлено

Целочисленные сокеты (Integer Sockets) теперь поддерживаются в инструментарии композитинга Blender.

Стал доступен параметр качества (Quality) OpenImageDenoise в узле Denoise.

Это позволяет пользователям находить компромиссы между качеством и производительностью шумоподавления при композитинге, аналогично тому, что уже можно сделать при рендеринге в Cycles.

Узлы Viewer теперь поддерживают сочетания клавиш для быстрого просмотра.

Изменено

CPU compositor был переписан для подготовки к будущей разработке. Переписывание обеспечивает значительные улучшения производительности в определенных конфигурациях некоторых узлов, кэширование статических ресурсов, таких как изображения, и меньшее использование памяти в настройках узлов с большим количеством pixel nodes. Поэтому композитинг должен быть в целом быстрее. Следующий график демонстрирует ускорение некоторых узлов в определенных конфигурациях.

blndr440_rev_img_308.png

Производительность нового CPU Compositor

Режим Fast Gaussian в узле Blur, теперь гораздо точнее.

blndr440_rev_img_309.png

Старый Fast Gaussian (слева) vs новый Fast Gaussian (справа)

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

Опция Wrapping в узле Translate была преобразована в опцию Repeat, которая бесконечно повторяется при смешивании с большим изображением.

blndr440_rev_img_310.png

Пример повторения изображения с помощью узла Translate

Узел Glare был переделан для обеспечения лучшего пользовательского опыта и более гибкого управления:

  • Параметры узла теперь являются входными данными с одним значением, которые можно связывать.
  • Сгенерированные эффекты Glare и Highlights теперь отображаются как выходные данные.
  • Новый ввод (input) Strength теперь управляет силой эффекта glare и может увеличивать его силу.
  • Размер Fog Glow теперь линейный относительно размера изображения и может иметь любой размер.
  • Размер Bloom теперь линейный относительно размера изображения.
  • Bloom теперь лучше производит консервацию энергии и имеет более разумный диапазон выходных данных.
  • Насыщенность и оттенок в Glare теперь можно контролировать с помощью новых входных данных с одним значением Saturation и Tint.
  • Теперь можно фиксировать и сглаживать Highlights с помощью новых входных значений Smoothness и Maximum single value.
  • Теперь входные данные организованы в панелях для компактности и ясности.

blndr440_rev_img_311.png

Новый узел Glare node.

Неявное преобразование из сокетов Color to Float теперь вычисляет OCIO luminance вместо среднего значения каналов RGB. (b8db212d95)

Настройка графа узлов композитинга может быть значительно быстрее и более интерактивной при просмотре узлов в дереве узлов. Это связано с тем, что при композитинге, его алгоритм теперь избегает вычисления выходных данных, которые не просматриваются пользователем посредствам Backdrop или Image Editor. (e53ac805af)

Совместимость

Параметры узла Glare были преобразованы во входные (input), теперь устарели и будут удалены в Blender версии 5.0.

Режимы Fog Glow и Bloom в узле Glare были исправлены из-за большого обновления узла Glare, но размер входящего изображения предполагался как размер рендеринга во время коррекции, поскольку угадать реальный размер входных данных было сложно. Если это было не так, поворот входных данных Size и Strength должен восстановить старый результат.

Загрузка деревьев узлов из предыдущих версий, содержащих ссылку color to float, создаст два дополнительных скрытых узла (Normal и Multiply), которые вычисляют среднее значение каналов RGB, поскольку именно так работало неявное преобразование в предыдущих версиях, тогда как теперь он использует OCIO luminance, как указано выше.

Blender 4.4: Sequencer

Пользовательский интерфейс

Текстовые клипы (text strips) теперь можно редактировать непосредственно в области предварительного просмотра (переход в режим редактирования выполняется с помощью клавиши [TAB]).

blndr440_rev_img_312.png

Текстовые клипы с переносом слов или многострочным текстом теперь будут правильно выравниваться по левому/центру/правому краю в каждой строке.

blndr440_rev_img_313.png

Заполнение фона текстового клипа («Box») получила возможность скруглять углы (rounded corners).

blndr440_rev_img_314.png

Пользовательский интерфейс для настройки стилей текстового клипа использует сворачиваемые панели для outline/shadow/box.

blndr440_rev_img_315.png

Текстовые клипы, использующие пользовательские шрифты, больше не используют другие шрифты, если символы не найдены.

Привязка теперь работает с ключами повторной синхронизации (retiming keys). Клипы также можно привязывать к клавишам повторной синхронизации.

Изображения клипов можно дублировать в области предварительного просмотра.

Меню добавления эффектов было организовано с улучшенным режимом работы. Эффекты теперь можно добавлять к подключенным клипам без ошибок, если в выделенном фрагменте присутствуют звуковые клипы (дорожки).

Производительность

Создание прокси для последовательностей изображений теперь выполняется быстрее.

Повышена производительность предварительного воспроизведения float/HDR-контента.

Для больших областей заливки в текстовых клипах, заливка фона («Box») выполняется в несколько раз быстрее.

Модификаторы Curves, Hue Correct, White Balance теперь работают в 1,5–2 раза быстрее.

Многие эффекты инструментария видеомонтажа теперь работают немного быстрее (многопоточность выполняется эффективнее).

Видео

Стало возможным собирать и кодировать видео с применением кодека H.265/HEVC.

Теперь поддерживаются видео 10 и 12 бит/канал:

  • При чтении 10/12-битных видео они преобразуются во floating-point секвенции.
  • При окончательной сборке есть возможность выбрать глубину цвета 10 или 12 бит для поддерживаемых кодеков (10 бит для H.264, H.265, AV1; 12 бит для H.265, AV1).

Видео, собираемые из Blender, теперь представлены в цветовом пространстве BT.709 (ранее это было неопределенное цветовое пространство, что приводило к различиям в том, как разные проигрыватели их отображают).

Воспроизведение видео преобразование YUV->RGB теперь более точное, исправляя смещение цветов и полосы в темных областях.

Теперь учитываются метаданные поворота отображения видеофайла. Если вы производили преобразование ранее, сейчас вам нужно будет отменить дополнительное преобразование вращения.

Другие изменения

Прокси для секвенций изображений EXR (или другого формата float/HDR) теперь работают корректно, без потери диапазона/точности. Прокси изображений float внутренне сохраняются как файлы EXR со сжатием DWAA и 16-битным типом данных float.

Копирование секвенций или создание метасеквенций (metastrips) теперь автоматически включает цепочки эффектов вместо сообщения об ошибке с просьбой пользователя выбрать все связанные клипы.

PDF-версия всех частей обзора доступна в моем Yandex.Disk

Заключение

Пакет Blender маленькими, но частыми шажками, продолжает совершенствоваться и развиваться. Blender уже давно заслужил любовь и признание независимых CG-художников и дает множество очень функциональных инструментов, позволяющих быстро моделировать, анимировать и рендерить как небольшие, так и средней сложности проекты. А успехи внедрения пакета в рамках студий, заставляют разработчиков внедрять популярные решения, ставшие незаменимыми для обмена данными между участниками и доступными в ведущих коммерческих пакетах компьютерной графики и анимации. Расширение возможностей API, дает возможность разработчикам внедрять Blender в свои производственные конвейеры и добавлять новые функции.

Открытость пакета предоставляет возможности самостоятельно разобраться в “кишочках” приложения и внести изменения и предложить их для обсуждения сообществу.

Новый минорный релиз Blender 4.4 продолжает тенденции по оптимизации ядра программы, улучшениям ядер визуализации Cycles и EEVEE, а также добавил ряд улучшений в инструменты композитинга и видеомонтажа. Хотя, монтировать в Blender, на мой взгляд, это как-то нестандартно и не особо привычно. Над удобством видеомонтажа разработчикам еще предстоит много работать.

Удачи в моделлинге, анимации и красивых рендеров! Ваш dimson3d!

Не забывайте про мой Telegram-канал и группу в VK, там я делаю посты с заметками из будущих публикаций и результаты тестов, а также рассказываю о своих творческих проектах.

627 0 850 3
4
2025-06-23
Спасибо за статью!
2025-06-23
в июле уже блендер 4.5 должен выйти, поздновато как-то -_-
2025-06-23
Александр Демченковв июле уже блендер 4.5 должен выйти, поздновато как-то -_-

Да знаю, быстро не писалось просто. По 5.0 буду заранее писать начинать или видосики делать. А то за их циклами разработки не поспеваешь иногда отследить. Но, можно до июля или пока проекты не закончатся на 4.4 работать спокойно. :-D
2025-06-28
Александр Демченковв июле уже блендер 4.5 должен выйти, поздновато как-то -_-

Все равно полезно; вот кто-то, например, только сейчас узнал об этих фичах и решил, что ему стоит немедленно обновиться до версии 4.4 :)
RENDER.RU