Динамические маски

Общая информация

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

Принцип действия динамической маски следующий:

  • Динамическая маска строится по выбранным областям вписывания исходя из содержания пользовательской фотографии. От типа динамической маски зависит, по каким объектам на фотографии она будет строиться. На примере ниже маска строится по фигуре.

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

Динамическая маска по фигуре c пользовательской фотографии Графический слой, к которому применяется маска Результат обработки

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

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

Добавление динамической маски

Для добавления динамической маски к слою:

  • Нажмите на слой правой кнопкой мыши и выберите Параметры применения динамических масок в контекстном меню.

    — или —

    Выделите слой и выберите Слой > Параметры применения динамических масок в строке меню.

    — или —

    Выделите слой и выберите Параметры применения динамических масок в блоке параметров в панели слоев.

  • В открывшемся Редакторе динамических масок выберите те области вписывания, по которым будет строиться маска.

    Окно редактора динамических масок

Редактор динамических масок

Источники динамических масок

В Редакторе динамических масок можно выбирать области вписывания в качестве источников для построения масок. Возможны три сценария использования:

  • Один источник → одна маска:

    При выборе одной области будет построена одна маска.

  • Несколько источников → несколько масок:

    При выборе нескольких областей для каждой из них будет создана отдельная маска. Взаимодействие этих масок между собой определяется выбранными Режимами наложения масок.

    Если используются некоммутативные операции при наложении масок (где важен порядок, например вычитание), то порядок источников можно изменить через дополнительную панель работы с источниками. Для этого щелкните по области слева от галочки выбора источника (Windows), положение которого необходимо изменить в списке, а затем нажмите Стрелку Вверх/Вниз на дополнительной панели.

  • Один источник → несколько масок:

    Если вы хотите использовать один источник для нескольких разных масок, вам необходимо продублировать его в Редакторе динамических масок. В Windows для этого щелкните по области слева от галочки выбора источника [1], а в MacOS — по любому свободному месту в строке источника. Затем используйте кнопки дополнительной панели для работы с источниками масок [2]. Панель расположена в левой части Редактора динамических масок в Windows и в нижней части в MacOS.

    Рассмотрим подробнее дополнительную панель работы с источниками:

    • Стрелки Вверх/Вниз служат для изменения порядка источников масок относительно друг друга.

    • Кнопка Копировать позволяет создавать копии источников.

    • Кнопка Удалить удаляет созданные копии источников масок. Вы можете удалить все копии источников масок, однако один источник, связанный со слоем, всегда остается и не может быть удален.

    Настраиваем маски для добавленных копий источника. Взаимодействие этих масок между собой определяется выбранными Режимами наложения масок.

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

При изменении порядка источников относительно порядка областей вписывания в PSD, при повторном открытии Редактора динамических масок в нижней части окна появится предупреждение: "Внимание! Порядок слоев в списке отличается от порядка в PSD (из-за заданных параметров маски)! Убедитесь, что меняете параметры для того слоя, что вам нужен.". Это сообщение носит информационный характер и указывает на возможное расхождение порядка элементов. Перед изменением параметров убедитесь, что выбран именно тот источник, для которого требуется настройка маски.

Параметры динамических масок

Для каждого источника вы можете настроить следующие параметры построения маски:

  • Тип маски — указывает, по каким объектам, распознанным на пользовательской фотографии в выбранной области вписывания, будет строиться маска. Основными вариантами являются маски: По фигуре, По лицу, По голове и По коже.

    Подробнее про типы масок можно прочитать в разделе Типы динамических масок.

  • Инвертировать маску — инвертирует маску для выбранной области вписывания. Таким образом вы можете, например, убрать фигуру с фотографии:

  • Исходное фото Маска по фигуре Маска по фигуре с инверсией
  • Режим наложения масок — задает то, каким образом будут совмещаться маски, построенные по разным областям вписывания.

    Подробнее про наложение масок можно прочитать в разделе Наложение масок.

  • Обязательная маска — указывает, будет ли динамическая маска по выбранной области вписывания обязательной в создаваемом шаблоне. Если опция включена и на пользовательской фотографии не найден маскируемый объект, обработка завершится ошибкой.

    Больше информации вы найдете в разделе Обязательные маски.

  • Игнорировать маску слоя, заданную в Photoshop — выключает маску, имеющуюся в PSD-документе для слоя, к которому будет применяться динамическая маска. Это может быть удобно для выключения тестовой маски, нарисованной в Photoshop для прикидки конечного результата.

Наложение масок

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

Конструктор шаблонов поддерживает следующие режимы совмещения масок:

  • Умножение — цветовое значение каждого пикселя одной маски умножается на значение того же пикселя другой маски. Цветовое значение высчитывается в градациях серого, исходя из диапазона [0;1].

  • Сложение — цветовые значения масок складываются. Если результат сложения в конкретном пикселе больше 1, в итоговой маске будет ровно 1.

  • Вычитание — цветовые значения масок вычитаются. Если результат вычитания в конкретном пикселе меньше 0, в итоговой маске будет ровно 0.

  • Минимум — в каждом пикселе выбирается наименьшее значение из двух масок.

  • Максимум — в каждом пикселе выбирается наибольшее значение из двух масок.

Давайте рассмотрим примеры совмещения двух масок:

  • В левом столбце рассмотрим теоретический пример совмещения двух одинаковых масок, используя окружности в градациях серого. Каждая окружность представляет собой черное кольцо, внутри которого находится темно-серое кольцо меньшего размера, затем светло-серое кольцо еще меньшего размера, и наконец, центральный круг белого цвета. Для наглядности мы выделим границы между кольцами желтым цветом. Каждому цвету присвоим свое числовое значение в рамках диапазона градаций серого [0;1].

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

Теоретический пример совмещения масок Практический пример (на шаблоне) совмещения масок
Исходная маска
Умножение двух масок
Сложение двух масок
Вычитание двух масок
Минимум двух масок
Максимум двух масок

Пример использования нескольких режимов совмещения масок вы можете посмотреть здесь.

Примеры использования совмещения масок в различных других шаблонах:

Обязательные маски

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

  • Если маска помечена как обязательная, обработка завершится ошибкой.

  • Если маска помечена как необязательная, обработка будет продолжена.

Данная настройка распространяется на весь шаблон, независимо от количества ориентаций в нем.

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

Настройка находится в редакторе динамических масок.

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

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

Когда стоит применять обязательные маски

  • В шаблонах, действие которых основано на масках.

    В случае, если маску не удается построить, пользователь получит ошибку вида "Обработка тестового фото неудачна. Объект не найден на фотографии. Попробуйте другую фотографию".

  • В шаблонах, содержащих маскируемые графические элементы, которые дополняют шаблон, но не являются его ключевым моментом.

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

  • В комбах/цепочках обработок, в которых на одном из этапов участвует шаблон с масками.

При выборе параметров обязательности масок следует соблюдать баланс:

  • Маски, без которых эффект совсем теряется, должны быть обязательными.

  • Всё, что можно сделать необязательным без серьезного ущерба результату, следует сделать необязательным.

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

Карта зависимостей слоёв

В Карте зависимостей слоёв можно проверить, какие динамические маски используются в шаблоне. Для этого в верхнем меню Конструктора шаблонов выберите: Шаблон -> Показать зависимости слоёв.

В открывшемся окне отобразится структура шаблона, включая:

Параметры создания динамической маски

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

Для того, чтобы открыть диалог параметров создания динамической маски:

  • Нажмите на область вписывания правой кнопкой мыши и выберите Параметры создания динамической маски в контекстном меню.

  • – или –

  • Выделите область вписывания и выберите Параметры создания динамической маски в блоке параметров в панели слоев.

  • – или –

  • Выделите область вписывания и выберите Слой > Параметры создания динамической маски в строке меню.

В открывшемся окне с помощью вкладок можно переключаться между разными типами масок и настраивать параметры генерации для каждого типа отдельно:

Параметры

Параметр По умолч. Диапазон Описание
Вытравка фигуры 0 -100—100 Определяет, насколько граница динамической маски сдвигается к границам выделенного объекта:

>0 — сдвигается внутрь выделенного объекта.

0 — размещается по границам выделенного объекта.

<0 — сдвигается от объекта в сторону фона.

Слишком большие значения замедляют работу шаблона.

Метод размытия Box Box/Gauss Метод размытия границы маски после вытравки:

Box — обычное размытие;

Gauss — Гауссово размытие.

Радиус размытия 0 0—100 Определяет насколько сильно размыть границу маски после вытравки изображения. Применяется только в том случае, если для параметра Вытравка фигуры установлено ненулевое значение.

Слишком большие значения замедляют работу шаблона.

Размеры в процентах True True/False

True — значения параметров вытравки и размытия интерпретируются как проценты от исходного изображения.

False — значения параметров вытравки и размытия рассматриваются как абсолютные величины (в пикселях).

Резкая граница False True/False Повышает резкость границы маски путем ее бинаризации:

True — вкл.;

False — выкл.

Сглаживание границы Отключено Отключено/Сглаживать/Сглаживать и заполнять отверстия Делает границу маски более плавной:

Отключено — не сглаживать границу.

Сглаживать — сглаживать все границы маски, в том числе границы отверстий в маске.

Сглаживать и заполнять отверстия — сглаживать внешние границы маски и заполнять внутренние отверстия.

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

Исходное изображение Вытравка фигуры: 0
Вытравка фигуры: 10 Вытравка фигуры: -10

Примечания

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

Для маски по стикерам параметры недоступны. Она строится по стикеру в Photoshop и в соответствии с позицией, заданной фильтром Растеризация.

  • Настройки маски По лицу используются только для операций с лицами (такими, как вырезание лица при его вписывании, построение динамической маски по лицу и использование лицевых фильтров).

  • Настройки масок По фигуре работают аналогично, но в контексте фигур.

  • Настройки для остальных масок работают при создании соответствующих масок.

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

Примеры разработки шаблонов с динамическим масками

Пошаговые пособия

Примеры шаблонов с динамическими масками

Пример шаблона с использованием режимов совмещения нескольких динамических масок

Пример шаблонов-лицевиков с динамическими масками

Видеоуроки

Видеоурок с примером использования динамической маски