Стикерфейс и художники
Стикерфейс создаёт персональный набор стикеров на основе селфи. Работает как приложение на айфоне или андроиде и как бот в Телеграме.

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

Собственно, художники Стикерфейса рисуют элементы, из которых собирается персонаж, и сцены, в которые этот персонаж вписывается. Графика создаётся в Иллюстраторе, потом переводится в СВГ и уходит в работающий проект. Всё хранится в Дропбоксе.

Цвета

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

Элементы

Персонаж формируется из отдельных элементов, собирается слой за слоем — туловище, голова, глаза, брови, причёска и т. д. Все элементы универсальны (скажем, если рисуете бороду, убедитесь, что она подойдёт и круглому, и угловатому лицу), а некоторые — опциональны (например, не все ходят в очках).
Элементы хранятся в файле Head {версия}.ai . Номер версии увеличивается на каждой интерации: договорились отрисовать новые глаза и пару причёсок — копируете последний файл, поднимаете версию и рисуете уже в нём.

Файл разбит на секции. Каждая секция отвечает за свой набор элементов, например, за глаза или носы. Актуальные секции с учётом иерархии:

  • Hair
  • Glasses
  • Eyebrows
  • Nose
  • Moustache
  • Mouth
  • Beard
  • Eyes
  • Bristle
  • Head
  • Body
  • Ears
  • Downhair

Внутри секций — конечные элементы (скажем, разные причёски) в виде отдельных слоёв. Слои именуются как {номер}_описание, например, 37_thin-eyes. Описание может быть любым, а вот номер должен быть уникальным для всего файла и после не изменяться. То есть если в 37-м элементе были узкие глаза, нельзя допустить, чтобы там оказалось что-то другое, иначе алгоритмы перестанут работать корректно. Чтобы назвать элемент, нужно найти последний созданный и увеличить его номер на один. Изменения фиксируем ниже:









895 Eyes
881 - 894 Hair
"base 7"
___________________
862 - 880 Hats
853 - 861 TopClothing
852 Clothing
851 Background