Нода «Расфокусировка» (defocus node)

Нода ":abbr:`Расфокусировка (Defocus)`".

Нода Defocus размывает области изображения на основе карты Z-глубины или входной маски.

Обычно она используется для эмуляции глубины резкости (DOF) с использованием метода постобработки с входными данными Z-буфера. Но также позволяет размывать изображения, которые не основаны на Z-глубине.

Входы (inputs)

Изображение (image)

Стандартный цветовой ввод.

Z

Ввод данных Z-буфера, но также может быть изображением (в оттенках серого), используемым в качестве маски, или входными данными единого значения.

Свойства (properties)

Тип боке (bokeh type)

Количество лепестков диафрагмы виртуальной камеры.

Circular (для имитации идеальной окружности), Triangular (3 лепестка), Square (4 лепестка), Pentagonal (5 лепестков), Hexagonal (6 лепестков), Heptagonal (7 лепестков) или Octagonal (8 лепестков).

Угол (angle)

Этот ползунок деактивирован, если тип боке установлен на Circular. Его можно использовать для добавления смещения вращения к форме боке. Значение – угол в градусах.

Гамма-коррекция (gamma correction)

Применяет гамма-коррекцию к изображению до и после его размытия.

Диафрагма (F) (F-stop)

Эта опция управляет степенью размытия фокуса так же, как и настоящая камера. Она имитирует апертуру f настоящей диафрагмы объектива, не изменяя яркость изображения. Значение «по умолчанию» 128 предполагается бесконечным: всё находится в идеальном фокусе. Половина значения удвоит степень размытия. Этот ползунок деактивирован, если отключено Use Z-buffer.

Максимальное размытие (max blur)

Это значение ограничивает степень размытия, устанавливая максимальный радиус размытия. Может использоваться для оптимизации производительности. Значение по умолчанию 0 – означает отсутствие ограничений.

Порог (threshold) Только CPU компо́зитор

Некоторые артефакты, такие как обрывы краёв, могут возникнуть, если велика разница в размытии между пикселями. Это значение определяет, безопасную величину этой разницы в размытии.

Совет

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

Предпросмотр (preview) Только CPU компо́зитор

Если включено, то для рендеринга предварительного просмотра используется ограниченное количество (квази-)случайных сэмплов. Такой способ сэмплирования вносит дополнительный шум, который не будет виден в финальном рендере.

Сцена (scene)

Для выбора связанной сцены.

Использовать Z-буфер (use Z-buffer.)

Будет деактивировано Use-Z-buffer при вводе Z. Use Z-buffer будет автоматически отключено, если к входу Z подключена нода, не основанная на изображении.

Z-масштаб (Z scale)

Активно только при отключённом Use Z-buffer. При отключённом Use Z-buffer вход используется напрямую для управления радиусом размытия (аналогично F-Stop при использовании Use Z-buffer). Этот параметр можно использовать для масштабирования диапазона входа Z.

Выходы (outputs)

Изображение (image)

Стандартный цветовой вывод.

Примеры

../../../../_images/compositing_types_filter_defocus_example.jpg

В этом примере (blend-файл) – размыто изображение массива шаров, как будто оно было снято камерой с диафрагмой в 2.8, что приводит к довольно узкой глубине резкости, центрированной на 7.5 единицах от камеры. По мере удаления шаров они становятся более размытыми.

Примеры без Z-буфера

Иногда может потребоваться больший контроль для размытием изображения. Например, вы можете пожелать размыть только один объект, оставив остальную часть изображения в покое (или наоборот), или вы хотите размыть равномерно сразу всё изображение. Соответственно, нода позволяет вам использовать что-то иное, чем фактический Z-буфер в качестве входных данных Z. Для примера, вы можете подключить ноду Image и использовать изображение в оттенках серого, где цвет определяет, насколько сильно размывать изображение на том или ином оттенке, где белый цвет – это максимальное размытие, а чёрный – отсутствие размытия. Или, – вы можете использовать ноду Time Curve для равномерного размытия изображения, где значение времени управляет максимальным размытием для этого кадра. Это также можно использовать для получения, возможно, немного лучшего размытия чем DoF, используя вместо Z-буфера фейк изображение с затенением глубины. (Типичный метод создания фейк изображения с затенением глубины – использование линейной текстуры смешивания для всех объектов в сцене или использование метода фейк-затенения глубины «тумана/дыма».) Это также имеет то преимущество, что фейковое изображение глубины может иметь сглаживание, что невозможно с реальным Z-буфером.

Параметр No Z-buffer становится тогда основным элементом управления размытием. Входные данные должны быть масштабированы, поскольку обычно значение текстуры находится только в числовом диапазоне от 0.0 до 1.0.

Настройки камеры

../../../../_images/compositing_types_filter_defocus_depth-of-field-panel.png

Настройка расстояния на панели «глубины резкости» камеры.

Нода Defocus использует фактические данные камеры в вашей сцене, если они предоставлены нодой Render Layer.

Для установки точки фокуса камера теперь имеет параметр Focus Distance, который является сокращением от Depth of Field Distance. Используйте этот параметр для установки плоскости фокуса камеры (объекты, находящиеся на расстоянии глубины резкости от камеры, находятся в фокусе). Установите Focus Distance на главной панели редактирования камеры; кнопка находится во вкладке Depth of Field.

Чтобы сделать точку фокусировки видимой, включите опцию камеры Limits во вкладке Viewport Display, после этого точка фокусировки будет видна в виде жёлтого креста вдоль направления обзора камеры.

Подсказки

Предварительный просмотр (preview)

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

Артефакты краёв

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

«Перевод фокуса»

Имейте в виду, что это не настоящая глубина резкости, а всего лишь симуляция постобработки. Некоторые вещи, которые не являются проблемой для настоящей глубины резкости, сделать невозможно. Типичный пример – сцена с каким-то объектом, расположенным очень близко к камере, и камера фокусируется на какой-то точке далеко позади неё. В реальном мире, используя малую глубину резкости, не невозможно, чтобы близкие объекты стали полностью невидимыми, фактически позволяя камере видеть позади них. Голливудские кинематографисты используют эту визуальную характеристику для достижения популярного эффекта «перевода фокуса», когда фокус смещается с близкого на удалённый объект, так что «другой» объект практически исчезает. Как бы то ни было, это просто невозможно сделать с помощью текущего метода постобработки за один проход. Если вы действительно хотите добиться этого эффекта, вполне удовлетворительного, сделайте следующее:

  • Разделите сцену на «ближние» и «дальние» объекты и сделайте их рендер за два прохода.

  • Теперь объедините два результата, каждый со своими собственными нодами «расфокусировки», управляемыми той же нодой Time Curve, но с одной из них инвертированной (например, с использованием ноды Map Value с размером -1). По мере того, как расфокусировка одного увеличивается, расфокусировка другого уменьшается с той же скоростью, создавая плавный переход.

Сглаживание при низких значениях диафрагмы

При очень низких значениях, менее 5, нода начнёт удалять любое изменение сэмплинга и очень резко фокусировать объекты на расстоянии DoF. Если объект находится на контрастном фоне, это может привести к видимому ступенчатому эффекту (алиасингу), которого OSA призван избегать. Если вы столкнулись с этой проблемой:

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

  • Используйте ноду Blur с настройкой 2 для X и Y.

  • Немного уменьшите расстояние глубины резкости, чтобы объект в фокусе был немного размыт.

  • Используйте более высокое значение диафрагмы, что запустит размытие, а затем используйте сокет Z для ноды Map Value до ноды Blur, чтобы усилить эффект размытия.

  • Перенастройте объекты в сцене, чтобы использовать менее контрастный фон.

Без Z-буфера

Последнее слово предупреждения: поскольку нет способа определить, подключён ли к ноде реальный Z-буфер, будьте очень осторожны с переключателем Use Z-buffer. Если значение Z-масштаба окажется большим, и вы забудете вернуть его к какому-то низкому значению, эти значения могут внезапно интерпретироваться как огромные значения радиуса размытия, что приведёт к невероятному увеличению времени обработки.