Интервью с разработчиками Cryengine: Будущее анимации

Интервью с программистами анимации Клаудио Фредой и Павлом Войтасиком, насчёт новой системы анимации, которая скоро придёт в Cryengine. Перевёл это дело я, редактуру провёл вот этот человек.

Интервью с разработчиками Cryengine: Будущее анимации

Парни, спасибо, что присоединились к нам. Давайте начнём с небольшой предыстории. Как вы попали в индустрию?

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

Клаудио: Я попал в игровую индустрию, когда учился на бакалавра в Милане, как и все, делая полноценные проекты с другими студентами. Мне всегда была интересна анимация и в тот момент я начал размышлять о сложности систем анимации, когда разрабатывал файтинг с моими сокурсниками, который, к сожалению, так и не был закончен. Некоторое время я работал в Милане как разработчик Unreal Engine, но затем перешёл в Utrecht, чтобы работать над игровыми технологиями и смежными с ними. Я подался в Crytek после выпуска, а до этого работал над диссертацией о техниках соединения движений. У меня не было опыта работы с Cryengine до перехода в Crytek. Я использовал Unity, а затем в основном Unreal Engine, но мне было довольно просто переключиться на Cryengine, когда я присоединился к команде в 2018. Мне кажется, что с опытом использования других движков, мне проще видеть и понимать, что работает хорошо, а что плохо в Cryengine, словно беспристрастный наблюдатель.

Какой был ваш самый приятный момент во время работы с Cryengine в Crytek?

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

Клаудио: У меня нет какого-то конкретного момента, но каждый раз, работая с Павлом, я выношу что-то ценное. У нас общие цели и интересы, но разные темпераменты, разный образ мышления и разный способ решать проблемы, и это создаёт конструктивные и значимые рабочие отношения.

Интервью с разработчиками Cryengine: Будущее анимации

В чём главная цель переделки анимации для 2020 и дальше? Какие ограничения вы хотите обойти?

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

Клаудио: Связка из The Mannequin и CryAnimation в целом достаточно мощная, но ими не так легко овладеть. Их главная проблема в том, что они реализованы как целостный модуль, и ты не можешь выбрать, какие части тебе нужны, или настроить что-то под себя, потому что программа была заточена под конкретный подход к анимации. Для нас также тяжело привносить новые возможности. Время идёт, и эта система начинает казаться немного устаревшей по сравнению с современными подходами к анимации, которые невозможны без полной переделки, из-за серьёзных допущений, сделанных CryAnimation насчет природы ассетов анимации, с которыми он работает. Mannequin пытается исправить это, используя Fragments и FragmentIDs, но это эффективно лишь в том случае, когда используется модель для анимации, которая использовалась в Cryengine, когда он был разработан. Когда мы решали, стоит ли нам улучшать имеющееся или начать всё с нуля, второй вариант показался куда проще. Мы хотели чего-то модульного и гибкого, чего-то, что позволяло бы нам и командам Crytek применять разные подходы, в зависимости от игры, которую они разрабатывали. Мы также хотели сделать самые полезные функции Mannequin более доступными, чтобы пользователи, знакомящиеся с системой, могли изучать её особенности по необходимости. Мы хотим сделать более интерактивную систему, чтобы и наши команды, и наши пользователи могли расширить инструментарий своими собственными функциями, которые будут органично вплетены в основные модули, вместо того, чтобы работать параллельно или перегружать результаты системы.

Интервью с разработчиками Cryengine: Будущее анимации

А если начать сравнивать эту систему с другими движками?

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

Клаудио: Разрабатываемые нами функции не обязательно должны быть новаторскими, когда дело касается их по отдельности. Timelines представлены как Montages в UE и Timelines в Unity. State Machines сейчас буквально везде. Но функции нашей системы анимации, которые уникальны для Cryengine (теги, переходы, карты движений), идут из Mannequin и представлены как отдельные модули. Наша главная инновация состоит в том, что эти функции работают вместе и взаимодействуют друг с другом как интерактивные ассеты, которые воспринимаются графами анимации. Но есть большая разница межу нашими графами и графами в других движках: наша система сфокусирована в первую очередь на функциональных вычислениях. Это даёт нам преимущество во время работы с большим количеством задач, что лучше объяснено в более детальном разборе. Мы также ограничиваем пользователей, чтобы держать вычисления и конечные автоматы подальше от графов анимации, что идёт только на пользу — если вы когда-либо видели графы анимации в UE4 с прочной связкой конечных автоматов и вычисляемых графиков, то понимаете, о чём я говорю.

Вы так много рассказали о ваших планах, но что из этого уже реализовано?

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

Клаудио: Большую часть времени мы работаем над внешними версиями этих функций. Прогресс был медленным, но стабильным. Больше всего меня вдохновляло то, что во время разработки конечный результат не сильно отличался от того, каким мы его изначально планировали, что подкрепляет наши идеи и предположения насчет фактических вариантов использования анимации. Главное отличие между текущей ситуацией и той, что была во время первого разбора, в том, что Transitions стала отдельной системой, которая работает параллельно с Scopes, вместо того, чтобы быть частью системы Motion Map/State Machine. Мы будем держать вас в курсе будущих обновлений.

Интервью с разработчиками Cryengine: Будущее анимации

Над релизом каких функций вы больше всего взволнованы?

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

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

Планируете ли вы создать инструменты для фонем или для лип-синка?

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

Планируете ли вы переориентировать анимацию в Sandbox?

Клаудио: Относительно статичной, или офлайн переориентировки, мы подумаем над этим в будущем, но сейчас это не то, над чем мы работаем. Это могло бы стать неплохим дополнением, но не более, учитывая, что переориентировка функций в DCC инструментах очень обширная и полная. Динамичная, или же онлайн переориентировка уже другое дело. У нас есть планы по переделке этой функции в ближайшее время, но новая интерактивная система создана для легкой разработки подобных функций как плагинов. Это есть в нашем списке функций, которые мы хотим разрабатывать в будущем, когда вся эта модульная система будет готова.

Интервью с разработчиками Cryengine: Будущее анимации

У вас есть планы для инструментов захвата движений?

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

Будут ли совместимыми анимации и/или персонажи из предыдущих версий с новой системой?

Клаудио: Базовые инструменты останутся такими же. Новая система будет сосуществовать вместе со старой, пока мы не реализуем все имеющиеся у последней функции. Персонажи смогут использовать новую или старую системы. Мы также можем ввести ограниченный третий, гибридный режим, когда результаты поз старой системы могут быть модифицированы через графы анимации.

Можете ли вы дать какие-то советы по работе с анимацией в Cryengine?

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

Клаудио: Изучай Mannequin, даже когда новая система будет готова. Все концепты, стоящие за Mannequin, всё ещё действительны и ты сможешь использовать свои знания в новой системе.

Ну вот и все.

3838
20 комментариев

Комментарий недоступен

4
Ответить

Не первый раз. Просто обычно меня не упоминают в статьях)

2
Ответить

ну как редактор, просто там было немало всякой более профессиональной терминологии, которую я мог не понять, вот и скорректировал немного 

1
Ответить

офигенная анимация на СКРИНШОТАХ, оценил.

3
Ответить

в оригинальной статье так и было, тем более они еще работают над инструментарием, и дело все не в анимации как таковой, а в инструментарии, который они делают

1
Ответить

А что на фото делает Гарик (Бульдог) Харламов?

2
Ответить

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

1
Ответить