Какая техника анимации используется в Dont Starve? [закрыто]

12

Играя в несколько игр в свободное от разработки время, я наткнулся на игру на выживание 2D / 3D. Игра была, очевидно, сделана в SDL и GLUT (не голодать), но что действительно поразило меня, так это анимация в игре.

Анимации очень плавные и плавные. Во время анимации нет искажений, что обычно происходит в анимациях, созданных вручную, это то, что пиксели удаляются, анимации неровные и просто не такие плавные. Это заставило меня задуматься о том, как им удалось добиться такого качества анимации. Были ли они действительно ручной работы (если они были, значит, это занял очень талантливый художник), это анимация костей или они используют другую технику?

Bugster
источник
2
Я бы предложил вам связаться с самими разработчиками, чтобы получить такую ​​точную информацию об используемых технологиях. Любой, кто не работал над игрой, может просто договориться, не будучи уверенным.
DogDog
2
Хорошо, задавая этот вопрос, я сделал несколько предположений, а именно: 1. Связь с самими разработчиками имеет очень низкий шанс на успех (зачем кому-то делиться своими секретами со случайным человеком, и сколько времени у них есть, чтобы проверить свою электронную почту). ?) 2. Я могу получить гораздо более быстрый ответ на этом сайте, который состоит из людей, которые имеют многолетний опыт работы и чьи ответы я ценю, даже если это всего лишь предположения и последние из них, сами разработчики могут использовать этот сайт и мог бы ответить на этот вопрос, но это очень далеко.
Bugster
1
Большинство программистов действительно открыто делятся своими знаниями, и я не думаю, что то, как они делают свои 2-мерные анимации, является большим секретом, я думаю, что стоит попробовать. Может быть, если вы расскажете им немного о себе и о том, почему вы хотите, чтобы им было интереснее помочь вам или дать вам совет.
DogDog
1
См. Раздел « Часто задаваемые вопросы о том, какую технологию использует определенная игра ». Задать вопрос о том, как добиться подобного эффекта, было бы гораздо лучше. (Хотя, вероятно, дубликат к чему-то уже на сайте.)
MichaelHouse
Этот вопрос кажется не по теме, потому что речь идет о технологии, используемой другой игрой.
MichaelHouse

Ответы:

40

Меня зовут Кевин, я программист / дизайнер в Klei. Я написал несколько анимационных материалов, которые мы использовали в сериале «Хвостовик», «Знак ниндзя» и «Не голодай».

Наши аниматоры работают во Flash. У нас есть концепция символа «сборка», представляющая собой набор символов части тела с несколькими видами. В зависимости от точности данной игры, есть больше или меньше частей тела с более или менее «видением». Я думаю, что у Шэнка было около 30 частей тела с 1-2 дюжинами видов, в то время как у Уилсона из Don't Starve - около дюжины частей тела с примерно одинаковым количеством видов. Пользовательские сценарии JSFL используются для анализа временных шкал символов флэш-памяти, а затем выпекают соответствующие изображения в виде серии файлов PNG с высоким разрешением вместе с набором метаданных, которые мы помещаем в XML.

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

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

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

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

Конечно, технология, которую мы используем, является, вероятно, наименее важным аспектом «Klei Look». Самое главное, что у нас есть куча действительно хороших аниматоров. :)

Во всяком случае, я надеюсь, что это поможет. Если у вас есть еще вопросы о «Не голодать», вы можете зайти на наши форумы, где я, как правило, очень рад пообщаться в магазине.

Kevin
источник
1
спасибо за всестороннее Я думаю, что система, которая у вас есть, действительно помогает создавать отличные высоколиквидные персонажи, которые могут себе представить только малобюджетные команды (и некоторые высокобюджетные команды). Конечно, можно с уверенностью сказать, что если бы вы просто занимались спрайтовым искусством, без интерполяции / трансформации частей тела, или просто трансформации и без состояний / представлений, это было бы не так уж невероятно. Однако, как вы сказали, инструмент хорошо справляется со своей задачей, когда он убирается с дороги и позволяет художнику сиять, что делает Клей много. Я должен сказать, что я любил все ваши вещи, и спасибо за порты для ПК.
Норгард
2
Рад, что смог помочь! Я думаю, что наши художники на самом деле предпочли бы работать в системе, в которой мы просто выпекали каждый кадр в виде спрайта, но тогда мы не смогли бы выполнить замену костюма, а размеры текстур были бы чрезмерными.
Кевин
1
Удивительно, я никогда не думал, что получу ответ от разработчика настоящей игры. Я благодарю вас за то, что нашли время ответить на это. +1
Багстер
7

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

Точное «как» (рабочий процесс / инструменты / и т. Д.) Действительно может исходить только от них, однако, они так и сказали, когда рекламировали «Shank», предварительный релиз.

И если вы посмотрите на Shank / ShankII, Знак ниндзя и Не голодайте, вы заметите, что анимация очень похожа на материал, который может появиться в Nickelodeon.

Я полагаю, что они работают с графами сцен, чтобы сохранить все в порядке, но опять же, это скорее предположение, основанное на сложности и том, что работает для анимации (2d / 3d), чем на гарантии.

Norguard
источник
Поскольку это всего лишь предположение, оно, вероятно, будет лучше работать в качестве комментария. Не совсем ваша вина, нет никакого способа не угадать, если вы не разработчик. (проблема с вопросом, а не с вашим ответом)
MichaelHouse
Это в значительной степени отвечает на вопрос, который я задал, я имел в виду нечто подобное, но, похоже, вы правы.
Bugster
2

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

AturSams
источник
2
Больше комментариев, чем ответа, не правда ли?
MichaelHouse
векторная графика в openGL? Это возможно, но я действительно сомневаюсь, что инди-разработчик пошел бы на все.
Эрик Б
1
@EricB Хорошо, это может быть предварительно отрисовано в спрайты или нарисовано от руки и в высоком разрешении. Это определенно не спрайты в «классическом смысле» (то есть в пиксельной графике), как Spelunky и Cave Story.
AturSams
@ Byte56 Я согласен с тобой. Я отвечаю больше о том, как сделать подобные визуальные эффекты, чем то, что сделал их художник на этом.
AturSams
@ Byte56, поскольку на вопрос так сложно ответить, единственно возможными ответами являются предположения, но этот ответ вполне может быть возможным, спасибо.
Bugster