Это второй из двух уроков, посвящённых разбору и использованию группы узлов Compositing для Blender 4.3, которая позволяет рендерить только определённый объект или материал в исходных цветах, при этом переводя всё остальное в оттенки серого и при желании дополнительно подчёркивая края или углубления.


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


Текстовая расшифровка видео

Всем привет! Это второй из двух уроков, посвящённых разбору и использованию группы узлов Compositing для Blender 4.3, которая позволяет рендерить только определённый объект или материал в исходных цветах, при этом переводя всё остальное в оттенки серого и при желании дополнительно подчёркивая края или углубления.

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

Как и многие другие мои видеоуроки, PDF-версия этого урока доступна бесплатно по ссылке в описании. Это также отличный момент, чтобы подписаться на канал и включить уведомления, чтобы не пропустить будущие видеоуроки!

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

Как было показано в предыдущем уроке, группа узлов по сути выполняет три операции. Сначала она изолирует объект или Material, сохраняя его цветным и переводя все остальные элементы в оттенки серого.

В качестве второго эффекта группа использует информацию Ambient Occlusion из рендера для усиления углублений и краёв.

В качестве третьего эффекта группа применяет фильтр для дополнительного усиления деталей, особенно тех, которые присутствуют в Textures, а не в геометрии.

Чтобы отделить элементы с ID, совпадающим с входным значением, от остального изображения и сохранить их цветными, исходное изображение умножается на маску, поступающую из входа ID. Затем эта же маска ID используется как Alpha-прозрачность, поэтому на данном этапе у нас есть только часть рендера в цвете на прозрачном фоне.

Чтобы получить весь исходный рендер в оттенках серого, информация из Image вместе с параметрами Grayed Contrast и Grayed Brightness отправляется в подгруппу Grayed Base.

Внутри этой подгруппы изображение обесцвечивается с помощью узла Hue Saturation Value, где параметр Saturation установлен в 0, в результате чего получается изображение в оттенках серого. Затем узел Brightness Contrast используется для настройки яркости и контрастности этого изображения.

После этого к изображению последовательно применяются слои деталей, полученные либо из Ambient Occlusion, либо из фильтра Laplace, которые мы скоро рассмотрим.

Финальное изображение в оттенках серого, полученное после применения этих дополнительных эффектов, имеет регулируемую интенсивность, управляемую входом Grayed в процентах. Этот вход представляет собой числовое значение от 0 до 100, которое делится на 100, чтобы его можно было использовать как Factor в узле Alpha Over.

В этом узле Alpha Over первый вход Image фактически представляет собой полную прозрачность, созданную чёрным цветом с Alpha, установленным в 0. Когда значение Grayed равно 0, используется только эта полная прозрачность. Когда значение равно 100%, то есть Factor в Alpha Over равен 1 после деления, используется только изображение в оттенках серого. Промежуточные значения, естественно, соответствуют плавным переходам между двумя состояниями.

Выход изображения из этого узла Alpha Over затем служит основой в оттенках серого, поверх которой накладывается цветное изображение элементов с правильно совпавшим ID. Это выполняется с помощью второго узла Alpha Over.

Теперь, когда схема обработки стала понятной, нам осталось рассмотреть операции, выполняемые в подгруппах Ambient Occlusion и Laplace From Image, которые помогают выделять края и углубления.

Прежде чем анализировать их подробно, отмечу, что эти подгруппы создают чёрно-белые маски, которые последовательно умножаются на рендер в оттенках серого. Умножение изображения на другое изображение в оттенках серого фактически затемняет исходное изображение в тех областях, где второе изображение становится всё темнее.

Узлы Divide, которые вы видите перед входами Factor у операций умножения, используются только для возврата входных значений в диапазон от 0 до 1, поскольку я задал их в процентах для более удобного использования. С этим разобрались, теперь рассмотрим две оставшиеся подгруппы подробнее.

Чтобы проанализировать этапы работы и результат подгруппы Ambient Occlusion, я подключаю её выход напрямую к выходу основной группы.

Группа Ambient Occlusion принимает на вход данные Ambient Occlusion из Render Layers и числовое значение Gamma Boost, которое позволяет усилить маску Ambient Occlusion.

Данные Ambient Occlusion сразу отправляются в узел Denoise для уменьшения шума. Затем результат передаётся в узел Filter в режиме Laplace, который выделяет края.

Результат Laplace показывает светлые края на тёмном фоне, но нам нужен противоположный вариант, потому что мы будем умножать тёмные края на изображение в оттенках серого, чтобы дополнительно затемнить их. Поэтому результат Laplace отправляется в узел Invert Color, а затем в узел Gamma, который дополнительно усиливает тёмные области на основе пользовательского параметра Gamma Boost.

Далее следует фильтр Dilate Erode, который слегка расширяет тёмные области для сохранения непрерывности в местах, где линии иначе могли бы прерываться.

Теперь я выхожу из подгруппы Ambient Occlusion и подключаю выход подгруппы Laplace From Image напрямую к выходу основной группы, чтобы рассмотреть её этапы и итоговый результат.

Внутреннее устройство подгруппы Laplace From Image очень похоже на Ambient Occlusion. Здесь также используются узлы Filter Laplace, Denoise, Invert Color и Dilate Erode, выполняющие те же операции, которые мы описали в подгруппе Ambient Occlusion.

Однако в этом случае первым этапом является узел Hue Saturation Value с параметром Saturation, установленным в 0, который переводит входное изображение в оттенки серого. Для Ambient Occlusion этот этап был не нужен, поскольку эти данные уже представлены в оттенках серого.

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

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

Маска имеет белые края на чёрном фоне, поэтому используется узел Invert Color, а затем узел Dilate Erode для уменьшения разрывов между линиями, точно так же, как и в подгруппе Ambient Occlusion.

Подведём итог. Изображение переводится в оттенки серого с помощью подгруппы Grayed Base.

Затем полученное изображение последовательно умножается на маски, созданные подгруппами Ambient Occlusion и Laplace.

Финальное изображение получает уровень прозрачности, определяемый входом Grayed в узле Alpha Over.

Затем поверх результата накладывается цветное изображение элементов с правильным числовым ID, будь то объекты или материалы.

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

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


РАСШИРЕННАЯ ИНФОРМАЦИЯ О ПОЛИТИКЕ КОНФИДЕНЦИАЛЬНОСТИ И ИСПОЛЬЗОВАНИИ ФАЙЛОВ COOKIE