[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "create", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-229719-0", "render_to": "inpage_VI-229719-0-952491735", "adfox_url": "//ads.adfox.ru/228129/getCode?p1=bxeub&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid21=&puid22=&puid31=&fmt=1&pr=" } } ] { "gtm": "GTM-NDH47H" }
{ "author_name": "Николай Чумаков", "author_type": "self", "tags": ["\u043e\u043f\u044b\u0442"], "comments": 6, "likes": 8, "favorites": 1, "is_advertisement": false, "section_name": "gamedev" }
423
Gamedev

Каша из топора-7: как создается аналог мобильной ролевой игры Darkest Dungeon

Руководитель студии Ole Pole Виталий Мороз написал цикл материалов о том, как создается игра Vikings Dungeon — любительская мобильная версия ролевой игры Darkest Dungeon.

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

Поделиться

В избранное

В избранном

Содержание

Первая часть

Вторая часть

Третья часть

Четвертая часть

Пятая часть

Шестая часть

Полина Жилевич,
аниматор студии Ole Pole

Привет, я Полина, я аниматор!

По образованию архитектор, по профессии — тоже, увлекаюсь 3D-графикой, закончила курсы 3D-анимации в учебном центре «Полигон». Это увлечение и познакомило меня с Виталием. Первые полгода я работала над проектом удаленно, но недавно мы получили возможность собираться вместе и трудиться вживую, поэтому теперь я нахожусь в состоянии легкой эйфории. Поделюсь с вами своим восторгом и расскажу про создание анимации и о проблемах, возникавших в ходе работы.

Первоначально я планировала прокачать навыки в 3D-анимации, но, как уже говорилось в предыдущих частях, 3D-шники оказались не востребованы, а проект получился очень интересным, поэтому я согласилась анимировать в 2D.

Первое знакомство с 2D-анимацией произошло благодаря программному софту Spine. Признаюсь, что с более понятным и удобным инструментарием мне еще не приходилось сталкиваться, — поэтому принцип работы освоила очень быстро. Следующим этапом стало тесное взаимодействие с художницей Аней и адаптацией её скетчей под возможности скелетной анимации. Вот тут возникла первая проблема: очень сложно было донести информацию, что все части тела персонажа должны быть прорисованы полностью, даже если их не видно в первоначальной позе. После получения перса вновь без куска руки или еще более важной части тела, лучшим решением оказалось рисовать схемы вместо словесной инструкции «расчленёнки».

Далее дело пошло значительно лучше: арт-отдел нашел общий язык, и первый персонаж обрел еще более придурковатый и характерный вид после его «оживления».

Косичкин — он был первый, я его никогда не забуду:

Мы решили делать все базовые движения, в отличии от игры-первоисточника, анимациями. Но вот уже первый персонаж оказался очень не пластичен для удара молотом — способности вращения руки почти на 360° у него не было.

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

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

Вскоре процесс более или менее автоматизировался, но промежуточный этап сборки персонажа по частям вручную был весьма рутинным и скучным делом. Наш программист поведал о существовании скрипта, с помощью которого в Spine импортируется персонаж с правильным расположением слоев, и части тела у него растут сразу из нужных мест. И жизнь заиграла ещё более яркими красками. Если раньше я шарахалась от слова script, то теперь прочувствовала все его величие.

Анимации персонажей в момент подведения первых итогов разработки игры:

После первой публичной презентации, на которой мы получили не очень лестные отзывы, лишились части команды. Но те, кто остался, с новыми силами приступили к переделке игрового арта. Я помню удрученное лицо Ани после вердикта на полную переделку, бодрое настроение геймдизайнера Макса и мое уж очень нестабильное состояние, когда приняли решение делать анимацию персонажей непосредственно в Unity. Причина смены софта заключалась в том, что программист Игорь жаловался на кривой импорт Spine-Unity, а именно:

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

● белая обводка по контуру частей тела;

● не работало изменение drew order при анимации.

(как оказалось позже, с приходом другого, опытного программиста Макса, эти проблемы были ложные)

Большой печалью была невозможность использования всех фишек и няшек Spine, из-за старой крякнутой версии, которую мы использовали: mesh, IK и edit curves. В Unity меня сразу привлекло наличие кривых, которые делают анимацию плавной.

При необходимости мы подумали анимировать ткань с помощью 3Ds Max и модификатора Skin — этот способ нам показал преподаватель «Полигона» Кирилл Грушевич, который разделял с нами свое рабочее пространство — с середины июля мы стали работать в аудиториях на полный рабочий день. Из-за работы «в офисе», сразу поменялся формат общения, взаимодействия команды, скорость и производительность — в сторону улучшения, само собой.

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

Магичка в Unity:

Также в июле к нам присоединился новый опытный программист Макс, который четко объяснил, что нужно возвращаться в Spine — это один из лучших инструментов, предназначенных для игровой 2D-анимации. Потестив старые спайновские анимации, он не выявил никаких проблем с импортом. Противоречивые чувства возникли в моем организме: с одной стороны радость даже от одного упоминания слова Spine, c другой:

Переборов «усеагульную млявасць i абыякавасць да жыцця» (белорусскоязычное выражение, обозначающее «всеобщая вялость и безразличие к жизни» — прим. автора) после этого драматического события, пришлось переделывать. Пути назад уже не было.

Одним из самых неожиданных персонажей оказался Болотник. Сколько дискуссий, споров, и даже «рефов» в доказательство своей правоты было представлено геймдизайнерами на этого персонажа. Часто мы использовали «живые» референсы, когда Макс или Виталик показывали например, как копейщик правильно должен бить копьем — к счастью, в случае с Болотником обошлось без показов на натуре.

Ну а вот как теперь выглядят и двигаются некоторые наши персонажи.

Копейщик — получение урона:

Песта — получение урона:

Магичка — удар:

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

Вот как оно все теперь выглядит в сборе:

Ну и в в завершении поделюсь радостной новостью: мы наконец купили легальный Spine со всеми его прелестями. Это был целый ритуал, когда мы торжественно жали кнопку Pay. После этого я целый день восторгалась и отвлекала Макса от работы, чтобы он посмотрел, как я теперь умею.

А наша Аня не перестает удивлять уникальными персонажами, которые сразу же попадают в свежий Spine:

#опыт

Популярные материалы
Показать еще
{ "is_needs_advanced_access": false }

Комментарии Комм.

Популярные

По порядку

Прямой эфир

Узнавайте первым важные новости

Подписаться