Создание шаблона типа “Cтикер” с использованием правил предобработки и функции динамической позиции

Описание шаблона

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

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

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

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

Исходная фотография Результат обработки

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

Шаг #1 Начало работы

Создадим проект в Конструкторе шаблонов: выберите Тип шаблона > Стикер, в поле PSD документ выберем Новый PSD документ, затем выберем ориентацию шаблона Универсальная ориентация. Далее нажимаем кнопку Выбрать место сохранения и создать проект и указываем путь сохранения будущего проекта и его название.

Конструктор шаблонов создаст в Photoshop документ со стандартной структурой стикера.

Шаг #2 Подложка

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

В Конструкторе шаблонов добавим область вписывания через меню Вставка > Область вписывания типа Рамка:

Переместим слой SQ Подложка вниз списка слоев. Слой Фон можно удалить.

Шаг #3 Тыква

Для наложения стикера-тыквы на исходное изображение нам понадобятся два элемента: область вписывания и сам стикер. Переименовываем имеющуюся область вписывания в SQ Тыква и группу стикера в Стикер тыква.

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

Переходим к работе со стикером.

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

Добавляем внутрь группы Стикер тыква изображение тыквы. Не забудьте удалить слой со стикером-заглушкой после добавления необходимого стикера, т.к он больше не нужен. Сохраняем изменения в PSD-документе, затем переходим в Конструктор Шаблонов. Нажимаем Перечитать PSD.

Настроим размещение тыквы вместо лица на исходном фото.

Нажмите правой кнопкой мыши на Стикер тыква в списке слоев. В контекстном меню выберите пункт Добавить растеризацию, а затем область вписывания SQ Тыква. После добавления растеризации откроется окно Редактор позиции стикеров.

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

Нажимаем ОК. И затем ОК в меню настройки фильтров.

Запускаем обработку тестовой фотографии и получаем стикер-тыкву поверх головы на исходном изображении:

Шаг #4 Заготовки для глаз в Photoshop

В нашем шаблоне глаза вырезаются с исходного фото и размещаются поверх стикера (тыква), который также размещен на исходном изображении.

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

Добавим стикер и области вписывания через меню Вставка > Стикер… и Вставка > Область вписывания типа Рамка:

Переходим в Photoshop.

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

Внутри группы Стикер глаза создаем новый слой, на котором рисуем прямоугольную фигуру. (Рекомендуется использовать квадрат - данная форма была подобрана экспериментальным путем и лучше всего себя показала при вписывании в нее необходимого элемента (глаза). С другими формами части глаз могут обрезаться на финальном шаблоне, или усложняется их позиционирование). Положение на холсте, цвет и размер фигуры для нас не имеют никакого значения. Данная фигура служит стикером-ориентиром для наложения глаз на финальном изображении. Как и для всех стикеров, положение и размер данного стикера-ориентира на финальном изображении будет зависеть лишь от настроек фильтра Растеризация в Конструкторе шаблонов. Не забудьте удалить слой со стикером-заглушкой после добавления необходимого стикера, т.к он больше не нужен.

Для слоя SQ Ориентир для глаз зададим Непрозрачность = 0%. Это позволит скрыть фигуру из стикера-ориентира, после его привязки к области вписывания.

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

  • Слой-подложка с исходным фото: SQ Подложка.
  • Слой-ориентир для вспомогательных элементов (глаза): SQ Ориентир для глаз.
  • Слой с основным стикером: SQ Тыква.
  • Слой отвечающий за элементы, находящиеся поверх основного стикера: SQ Глаза.

Финальная схема всех слоев шаблона представлена в Шаге 13.

Сохраняем все изменения в PSD-документе. Переходим в Конструктор Шаблонов. Нажимаем Перечитать PSD. Конструктор шаблонов выгрузит все необходимые слои из PSD-документа. Далее работаем в Конструкторе шаблонов.

Шаг #5 Заготовки для глаз в Конструкторе шаблонов

Теперь настроим размещение глаз с исходной фотографии поверх стикера-тыквы.

Нажмите правой кнопкой мыши на Стикер глаза в списке слоев. В контекстном меню выберите пункт Добавить растеризацию, а затем область вписывания SQ Ориентир для глаз. После добавления растеризации откроется окно Редактор позиции стикеров.

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

Нажимаем ОК. И затем ОК в меню настройки фильтров.

Далее при помощи динамической маски реализуем выделение элементов (глаз) из исходного фото:

Затем при помощи функции динамической позиции разместим выделенные элементы (глаза), используя в качестве ориентира соответствующий стикер-фигуру:

При выбранном слое SQ Глаза в верхнем меню выбираем Слой > Динамическая позиция….

Ставим галочку напротив слоя SQ Ориентир для глаз. Выбираем Тип маски - По стикерам, Режим наложения - Умножение, ставим галочку Обязательная маска. Нажимаем ОК.

Запускаем обработку тестовой фотографии и получаем глаза с исходного изображения, расположенные поверх стикера-тыквы:

Шаг #6 Заготовки для рта в Photoshop

Процесс добавления рта идентичен процессу добавления глаз.

Приступим к созданию заготовок для рта. В Конструкторе шаблонов добавим стикер и области вписывания через меню Вставка > Стикер… и Вставка > Область вписывания типа Рамка:

Переходим в Photoshop.

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

Внутри группы Стикер рот создаем новый слой, на котором рисуем прямоугольную фигуру. (Рекомендуется прямоугольник, у которого высота > ширины. Данная рекомендованная фигура также была выбрана экспериментальным методом с учетом содержимого, которое планируется вписывать. В данном случае - рот). Положение на холсте, цвет и размер фигуры для нас не имеют никакого значения. Данная фигура служит стикером-ориентиром для наложения рта на финальном изображении. Как и для всех стикеров, положение и размер данного стикера-ориентира на финальном изображении будет зависеть лишь от настроек фильтра Растеризация в Конструкторе шаблонов. Не забудьте удалить слой со стикером-заглушкой после добавления необходимого стикера, т.к он больше не нужен.

Для слоя SQ Ориентир для рта зададим Непрозрачность = 0%. Это позволит скрыть фигуру из стикера-ориентира, после его привязки к области вписывания.

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

  • Слой-подложка с исходным фото: SQ Подложка.
  • Слои-ориентиры для вспомогательных элементов (рот, глаза): SQ Ориентир для рта, SQ Ориентир для глаз.
  • Слой с основным стикером: SQ Тыква.
  • Слои отвечающие за элементы, находящиеся поверх основного стикера: SQ Глаза, SQ Рот.

Финальная схема всех слоев шаблона представлена в Шаге 13.

Сохраняем все изменения в PSD-документе. Переходим в Конструктор Шаблонов. Нажимаем Перечитать PSD. Конструктор шаблонов выгрузит все необходимые слои из PSD-документа. Далее работаем в Конструкторе шаблонов.

Шаг #7 Заготовки для рта в Конструкторе шаблонов

Теперь настроим размещение рта с исходной фотографии поверх стикера-тыквы.

Нажмите правой кнопкой мыши на Стикер рот в списке слоев. В контекстном меню выберите пункт Добавить растеризацию, а затем область вписывания SQ Ориентир для рта. После добавления растеризации откроется окно Редактор позиции стикеров.

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

Нажимаем ОК. И затем ОК в меню настройки фильтров.

Далее при помощи динамической маски реализуем выделение элементов (рот) из исходного фото:

Затем при помощи функции динамической позиции разместим выделенные элементы (рот), используя в качестве ориентира соответствующий стикер-фигуру:

При выбранном слое SQ Рот в верхнем меню выбираем Слой > Динамическая позиция….

Ставим галочку напротив слоя SQ Ориентир для рта. Выбираем Тип маски - По стикерам, Режим наложения - Умножение, ставим галочку Обязательная маска. Нажимаем ОК.

Запускаем обработку тестовой фотографии и получаем рот с исходного изображения, расположенный поверх стикера-тыквы:

Шаг #8 Правила предобработки для глаз и рта

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

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

Давайте пошагово рассмотрим как происходит добавление элемента (напр. глаз) на тыкву:

Тестовое фото
Размещение стикера-ориентира для глаз относительно области вписывания
Вписывание фото с обрезкой с симметричным кадрированием
Результат вырезания глаз при помощи маски и их положение
Результат размещения на тыкве

Как вы видите, сейчас выполняется вписывание в стикер-ориентир всей исходной фотографии. Соответственно, когда лицо человека на исходной фотографии смещено в сторону, вписываемый элемент также смещается.

Это можно исправить это при помощи Правил предобработки, а именно при помощи добавления правила, которое будет использовать только лицо из исходного фото.

Переходим в меню Файл > Изменить проект, вкладка Дополнительно, нажимаем кнопку Редактировать правила предобработки.

Необходимо создать правило предобработки с Индексом 1, в котором будет использоваться в качестве источника фото исходное входное фото, но его размеры будут кадрированы по лицу. Выберите режим Кадрировать по маске и в выпадающем списке значение По лицу. Для всех размеров полей установите значение 10%.

Нажмите ОК. Затем Сохранить в окне редактирования проекта.

Теперь для областей вписывания SQ Рот и SQ Глаза необходимо установить Индекс фотографии равный 1. Для этого выделяем область вписывания и в нижнем блоке свойств в поле Индекс фотографии меняем значение 0 на 1.

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

Тестовое фото
Предобработанное изображение (индекс фото = 1)
Размещение стикера-ориентира для глаз относительно области вписывания
Вписывание фото с обрезкой с симметричным кадрированием
Результат вырезания глаз при помощи маски и их положение
Результат размещения на тыкве

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

Запустим обработку тестовых фотографий и сравним результат.

Размещение глаз и рта без использования Правил предобработки Размещение глаз и рта с использованием Правил предобработки

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

Способ вписывания Результат обработки с кадрированием сверху для слоя SQ Рот

Шаг #9 Заготовки для теней в Photoshop

В нашем шаблоне тени размещаются в двух местах:

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

Приступим к реализации этой задачи. Добавим стикеры и области вписывания через меню Вставка > Стикер… и Вставка > Область вписывания типа Рамка:

Переходим к работе со стикерами.

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

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

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

Нам необходимо связать стикеры Стикер тыква, Стикер тень под тыквой и Стикер тень на тыкве друг с другом. Зажав клавишу Ctrl, выделите эти стикеры, а затем кликнув правой кнопкой мыши, выберите в контекстном меню пункт Связать слои. После этого можно увидеть, что справа от названий слоев появились соответствующие иконки.

Для областей вписывания SQ Тень на тыкве и SQ Тень под тыквой, которые служат ориентирами для размещения теней, необходимо настроить блендинг Умножение. Это позволит добавить тень на финальное изображение, а не заместить тенью другие объекты.

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

  • Слой-подложка с исходным фото: SQ Подложка.
  • Слои-ориентиры для вспомогательных элементов (рот, глаза): SQ Ориентир для рта, SQ Ориентир для глаз.
  • Слой-ориентир для объекта вне основного стикера: SQ Тень под тыквой.
  • Слой с основным стикером: SQ Тыква.
  • Слои отвечающие за элементы, находящиеся поверх основного стикера: SQ Глаза, SQ Рот, SQ Тень на тыкве.

Финальная схема всех слоев шаблона представлена в Шаге 13.

Сохраняем все изменения в PSD-документе. Переходим в Конструктор Шаблонов. Нажимаем Перечитать PSD. Конструктор шаблонов выгрузит все необходимые слои из PSD-документа. Далее работаем в Конструкторе шаблонов.

Шаг #10 Заготовки для теней в Конструкторе шаблонов

Привязка стикеров к областям вписывания

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

Поэтому для размещения стикеров теней лучше всего воспользоваться функцией копирования фильтров. Для этого необходимо дважды кликнуть на слой SQ Тыква, в открывшемся меню настройки фильтров выберите настроенный ранее фильтр Растеризация и нажмите Ctrl+C для копирования фильтра. Нажимаем ОК.

Далее дважды кликаем по слою SQ Тень под тыквой, в открывшемся окне настройки фильтров нажимаем Ctrl+V для вставки скопированного фильтра Растеризация и всех его настроек положения. Затем следует заменить сам стикер на подходящий Стикер тень под тыквой.

Снова повторим операцию копирования фильтра Растеризация из слоя SQ Тыква на слой SQ Тень на тыкве. Также заменим стикер на подходящий - Стикер тень на тыкве.

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

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

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

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

SQ Тень на тыкве:

SQ Тень под тыквой:

Запускаем обработку тестовой фотографии и получаем наслоение всех элементов друг на друга:

Это происходит из-за того, что блендинг Умножение применяется ко всем цветным пикселям слоя. При помощи фильтра Карта градиентов мы закроем белым цветом все части изображения, кроме самих стикеров теней.

В каждом из слоев SQ Тень под тыквой и SQ Тень на тыкве помимо фильтра Растеризация необходимо добавить фильтр Карта градиентов и поместить его перед фильтром Растеризация в списке фильтров.

Нажмите на в поле Параметры градиента. Задаем белый цвет (#FFFFFF) для позиции 0% и такой же цвет для позиции 100%. Таким образом мы окрашиваем изображение в белый цвет, который является “невидимым” для блендинга Умножение. В результате блендинг Умножение срабатывает только для нашего стикера с тенью.

Нажимаем ОК в меню редактирования фильтров. Запускаем обработку тестовых фотографий снова. Получаем желаемое изображение:

Шаг #11 Примеры типичных ошибок

Ниже представлены примеры ошибочной работы шаблона. Они помогут понять на каком шаге были допущены те или иные ошибки.

Исчезновение всех частей изображения кроме теней: Для слоя SQ Тень на тыкве не установлен блендинг Умножение (см. Шаг 9) Исчезновение тела человека, его заменила тень под тыквой: Для слоя SQ Тень под тыквой не установлен блендинг Умножение (см. Шаг 9)
Смещение положения стикеров теней: Настройка размещения группы стикеров вручную для каждого из стикеров, вместо копирования (см. Шаг 10) Вылет элементов (глаза, рот) за пределы стикера-тыквы: шаблон не универсален (см. Шаг 12)

Шаг #12 Очистка изображения по границам объектов

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

Мы не можем полностью унифицировать шаблон, но можем сделать его более визуально приятным, за счет убирания частей элементов, вышедших за границы тыквы. Для этого мы используем слой-маску SQ Обрезка по границам. Добавим его через меню Конструктора шаблонов Вставка > Область вписывания типа Рамка.

Напоминаем, что область вписывания слоя SQ Обрезка по границам должна совпадать с областью вписывания слоя SQ Тыква.

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

  • Слой-подложка с исходным фото: SQ Подложка.
  • Слои-ориентиры для вспомогательных элементов (рот, глаза): SQ Ориентир для рта, SQ Ориентир для глаз.
  • Слой-ориентир для объекта вне основного стикера: SQ Тень под тыквой.
  • Слой с основным стикером: SQ Тыква.
  • Слои отвечающие за элементы, находящиеся поверх основного стикера: SQ Глаза, SQ Рот, SQ Тень на тыкве.
  • Слой-маска, отвечающий за удаление лишних артефактов с предыдущих слоев: SQ Обрезка по границам.

Финальная схема всех слоев шаблона представлена в Шаге 13.

Данный слой будет отвечать за размещение поверх нашего изображения маски = исходному изображению, в определенных местах: вне фигуры человека с исходного изображения и вне стикера-тыквы. На изображении ниже отмечена область (розового цвета), которая будет закрыта маской с исходным изображением, что позволит убрать все лишние артефакты с этой области.

Для реализации этого нам необходимо настроить динамические маски для слоя SQ Обрезка по границам:

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

Изображение без слоя-маски SQ Обрезка по границам Изображение со слоем-маской SQ Обрезка по границам

Шаг #13 Структура итогового шаблона

Для понимания общей схемы шаблона мы составили описание необходимых элементов и их предназначение в виде таблицы:

Тип объекта Название объекта Назначение объекта
Тыква
Стикер Стикер тыква Используется в качестве стикера (тыква).
Область вписывания Рамка SQ Тыква Размещение стикера (тыква).
Глаза
Стикер Стикер глаза Форма-стикер для вписывания необходимого объекта (глаза).
Область вписывания Рамка SQ Ориентир для глаз Размещение формы-стикера с его содержимым (глаза).
Область вписывания Рамка SQ Глаза Вырезание необходимого объекта (глаза) с исходного фото и притягивание в форму-стикер.
Рот
Стикер Стикер рот Форма-стикер для вписывания необходимого объекта (рот).
Область вписывания Рамка SQ Ориентир для рта Размещение формы-стикера с его содержимым (рот).
Область вписывания Рамка SQ Рот Вырезание необходимого объекта (рот) с исходного фото и притягивание в форму-стикер.
Тени
Стикер Стикер тень под тыквой Используется в качестве стикера (тень под тыквой).
Область вписывания Рамка SQ Тень под тыквой Размещение стикера (тень под тыквой).
Стикер Стикер тень на тыкве Используется в качестве стикера (тень на тыкве).
Область вписывания Рамка SQ Тень на тыкве Размещение стикера (тень под тыквой) поверх другого стикера (тыква).
Технические слои
Область вписывания Рамка SQ Подложка Используется в качестве подложки в виде исходного изображения.
Область вписывания Рамка SQ Обрезка по границам Используется в качестве маски, которая закрывает все случайные артефакты. Ориентируется по границе фигуры человека и стикеру (тыква).

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

Еще один инструмент, который поможет в отслеживании структуры шаблона, - отображение зависимостей слоев (Шаблон > Зависимости слоев…). Итоговая структура шаблона будет выглядеть следующим образом:

Шаг #14 Результат работы шаблона

Нажимаем Ctrl+S для сохранения проекта. Обрабатываем различные тестовые фотографии для проверки работы шаблона. Итак, нам удалось достичь желаемого результата.

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