Сегодня я хочу поделиться своим опытом в изготовлении анимаций для персонажей и внедрения их в игру. Естественно, с позиции художника. Каждый заказ, который попадает ко мне на почту разительно отличается от предыдущего, во множестве аспектов, и работать над чем-то новым для меня не впервые.  Но, именно данный заказ натолкнул меня на мысль, что подобным опытом стоит поделиться. Дабы, не знакомые со сферой, знали, как работает внутренняя кухня, а коллеги, как делать не стоит и почему. К тому же, перспектива Top-Down специфическая и материалов по ней практически не существует. Когда я начинал работу, никакого опыта с top-down перспективой, кроме игровой, у меня не было, что подогревало интерес.  Надеюсь, данное чтиво окажется, если и не интересным, то, по крайней мере, познавательным. Проект выполнен в жанре: Top Down Stealth - Action (уникальная смесь из серий Splinter Cell и Hotline Miami).Движок: Love2DАрт/Дизайн/Анимации выполнены в: Adobe Photoshop ( :) )Художественное направление: Pixel art Проект находится в Steam, и ознакомится с ним можно по данной ссылке: Intravenous Когда со мной связался заказчик (программист - Роман Гребенков), он уже имел на руках прототип с работающими механиками вроде взаимодействия с дверьми, телами врагов, подбора предметов и прочего. Выглядело крайне многообещающе. Я изготовил для проекта UI (редизайн/арт), эффекты, персонажей, анимации, тайлсеты, объекты, портреты, promo-art. В общем, практически всё, что вы увидите в игре. Но в данной статье, речь пойдёт именно про анимации, т.к. они стали "камнем преткновения" всей разработки.  Существует распространённое заблуждение, что "top-down" - это любой угол поворота камеры, в том числе несколько видов изометрии и, так называемая, перспектива 3/4.  Связано это с тем, что у ряда перспектив, не существует какого-то объединяющего понятия/термина отличного от "вида сверху" т.е. "Top-Down". Отсюда и возникающие недопонимания при обсуждении того или иного проекта. "Top-Down" (топ-даун) - это перспектива, камера в которой привязана исключительно над головой персонажа.Примеры: GTA 1/2, Darkwood, Hotline Miami Техническое задание (оно же: Т/З) включало в себя создание довольно внушительного числа анимаций для нескольких персонажей (с рядом исключений). В следствие чего, мне было необходимо придумать способ, как упростить этот процесс на большинстве этапов разработки. Список анимаций для всех персонажей включал в себя:     5 видов основного оружия (Дробовик, Обрез, MP5, UZI, AK103, M4); 5 видов второстепенного (Glock19, HS2000, P89, SW457, VP9); 5 видов уникальных приспособлений (Тазер, Переносной ЭМИ глушитель, Светошумовая граната, Осколочная граната, Пустые магазины); Ближний бой на всех видах оружия, в том числе и рукопашный; Выбивание двери; Idle анимации; Анимации смерти; Подбор и взаимодействие с предметами; Уникальные для персонажа игрока: Перенос тел;   Оглушение или добивание персонажей; Использование отмычки; Лаз через 2 вида препятствий; Движение ползком; Бег; Помимо этого, существует 3 степени умения обращения с оружием (что увеличило список анимаций втрое!), которые мы условно назвали:- Умелый; (персонаж игрока, профессиональные военные)- Не умелый; (киллеры, наёмники)- Абсолютно не умелый; (гангстеры, шпана) Все 3 степени отличаются геймплейно:- точностью при стрельбе;- скоростью перезарядки;- скоростью реакции на события;Что отражается визуально, через:- наличие лишних телодвижений при перезарядке;- положение персонажа (стойку); Список анимаций на каждого персонажа достигал значения 200+. Т.к. каждая анимация, даже в которой было изменён исключительно спрайт пистолета был уникальным.Для команды из 2 человек (программист и художник), объём работы был колоссальный. Это означало, что нам необходим шаблон персонажа, дабы упростить производство.В дальнейшем, несмотря на то, что мы понимали, что существует более изощрённый способ для решения проблемы, нами был выбран крайне монотонный и исключающий большинство проблем при переносе.  В результате, это привело к тошнотворно рутинному производству и ряду медицинских проблем, в том числе: выгорание, нервный тик, нарушение сна и т.д. Поэтому, если вы осознанно пойдёте на подобный риск, будьте готовы к последствиям. Шаблон персонажа включал в себя: - Голову;- Тело;- Руки;- Оружие;- Дополнительные слои (ладони/детали);- Ноги/нижняя половина тела (отдельно);Из которых покадрово собирался цикл анимации. Существует 2 пути экспорта шаблонных анимаций. Способ 1: Все части шаблона - отделены (слоями); Оружие легко заменяется (если позволяет анимация); Одежда кладётся поверх слоёв в игре; + Упор делается на сборку составляющих внутри движка игры;+ Гибкость, возможность осуществлять исправления, буквально, на лету;- Требователен к инструментарию движка;Не совсем корректный, но отличный пример: Garage: Bad Trip. (На самом деле, она известна своей скелетной анимацией скрещенной с Pixel-art графикой, и даже существует статья на эту тему, но я её не нашёл) ("Пес-песа" - тебя помнят!)Нашли их презентацию на эту тему! Способ 2: Все части шаблона склеены (монолитный слой); Оружие заменяется исключительно в исходнике (PSD/GIF файле); Одежда склеивается вместе с частями шаблона; + Упор делается на финализацию работ перед отправкой;+ Лёгкий импорт в движок игры;- Многократно возрастающий объём работы;- РУТИНА;- Не подходит проектам, в которых используется большой размер спрайтов;Отличный пример: Hotline Miami Как вы уже понимаете, нами был выбран 2 вариант. Почему?На это повлиял целый ряд причин: Отсутствие инструментария для анимации (игра разрабатывалась на Love2D); Необходимость разгрузки программиста от лишней работы (переизбыток задач); Тримминг текстур (упаковка кадров анимации в spritesheets); Малый размер спрайтов; А теперь поподробнее.  Заказчику было необходимо добиться максимальной производительности, чтобы проект смог быть запущен на устройстве любой мощности; Разработка инструментария для анимаций не рассматривалась вовсе, т.к. эти силы разумно было бросить на встроенный level-editor (редактор уровней) и проработку ИИ (искусственного интеллекта) врагов; Продолжение в части 2.