Скриншот Deadendthrills
Как вы понимаете, создавать анимации для Skywind не так уж и просто. Конечно, современный движок Skyrim обладает улучшенными возможностями, чем движок Morrowind. Повторное переосмысление оригинальных созданий и игровой механики вызывает как творческие трудности (если вы читаете блоги, то знаете, что с этим у нас нет проблем), так и технические. Как правило, последние возникают из-за того, что новый контент подразумевает в основном новые 3D модели и квесты, а не анимации и новых созданий.Когда меня попросили изменить поведение скального наездника, то я попросту не знал с чего начать, ведь тогда не было каких-либо примеров или статей. Ну, и как я должен со всем этим разобраться? Это напомнило мне те древние времена, когда я, будучи ещё ребёнком, играл в Eye of the Beholder 2 (данжен-кроулер без автокарты). Единственная цель этой игры заключалась в следующем: пытайся, ошибайся, пытайся сильней. Так я и поступил.
Этот блог о том, как наша команда отправилась изучать движок Skyrim, чтобы открыть новые, дивные миры, отыскать новую жизнь и новые анимации. То есть туда, где ещё не ступала нога ни одного модмейкера. Используя странные и замысловатые приёмы, мы старались подчинить себе движок, поэтому нас стали называть волшебниками.
Тайна скелета
NPC, а также некоторые объекты анимированы путем привязки частей их модели к костям так называемого скелета. Это позволяет анимировать не всю модель сразу, а лишь некоторые ее части. К несчастью, на тот момент не было такой программы, которая могла бы помочь модмейкерам создавать новые скелеты. Поэтому большинство просто использовали морфы скелета (оригинальные кости, уменьшенные в размерах, а иначе вся анимация портилась). Следовательно, нам нужно было создать что-то, что поможет делать существ по-настоящему живыми. После нескольких попыток на свет появился новый NIF-плагин, который мгновенно создавал прототип скелета.
Ужас «тряпичной куклы»
Скелетная анимация – это здорово, но движок Skyrim способен на большее: добавочный скелет, соединённый с упрощённой моделью существа, просчитывающий подвижные коллизии и физические взаимодействия в реальном времени. Если быть кратким, то рэгдолл – это набор твёрдых тел, соединённых системными ограничениями. Всё предельно просто и ясно. Но снова, к сожалению, NIF-плагин не подходил для такого задания, поскольку он не отображал нужные данные, например, насколько сильно может поворачиваться нога по отношению к бедру. На этот раз нужно было не просто исправить вывод результатов из Мах, но также создать новый шаблон импорта/экспорта данных, который бы добавлял их к костям скелета, а затем мог экспортировать как в NIF, так и в HKX формат.
Да, чтобы упростить эту задачу Bethesda решила дублировать эти данные в формате файла Gamebryo и авторском формате Havok. Но нам не страшны трудности, и после многих проб и ошибок мы добились успеха. Узрите рэгдолл скального наездника во всей красе.
Быть значит вести себя
В нашем путешествии мы дошли до момента, когда анимация должна быть соединена с логикой игры, чтобы заставить существо двигаться, атаковать и так далее. Движок Skyrim использует подпрограммное обеспечение Havok Behavior для отделения игровой логики от логики анимации, что вызвало немало затруднений как у нас, так и у сообщества в целом.
Было потрачено огромное количество времени и нервов, чтобы понять, как всё это устроено и как работает. Попросту говоря, поведение – это совокупность особых механизмов, которые определяют, когда и при каких условиях должна воспроизводится та или иная анимация. Поскольку Bethesda не выпускала какие-либо инструменты, поясняющие работу анимаций в Skyrim, нам пришлось сделать обратную разработку файлов Havok, полагаясь в основном на метод проб и ошибок.
Проблема файлов поведения заключалась в том, что они упакованы в нечитаемый/неразборчивый бинарный формат Win32, так что мы были вынуждены конвертировать их в XML формат. Правда после файлы нужно редактировать вручную, что подразумевает наличие ошибок (XML файлы могут содержать более 2000 строк). Поэтому Aerisarn написал специальную библиотеку в Java, которая с лёгкостью позволяет просматривать и редактировать древо XML файла, что, в свою очередь, снизило риск появления ошибок… хотя бы с точки зрения редактирования файла. Gif ниже прекрасно отображает принцип работы с файлами поведения и кодированием в целом.
Однако создавать анимации для особых рас, по сути, не так уж и сложно. Основу для нового создания мы берём из уже готовых скелетов/поведения, а затем добавляем или убираем определённые анимации. Именно так появился на свет наш гуар. И пусть он не идеален, но мы удачно отредактировали файл поведения, чтобы заставить его двигаться (практически так, как и задумывалось).
Мы подумали, что имея такой инструментарий, мы можем наконец-то остановиться, но…
Мы ничего не забыли?
Если вы аниматор или просто перерыли весь интернет в поисках информации о новых анимациях в Skywind, то вы наверняка задавались вопросом: а где содержатся данные о движениях в анимациях Скайрима? Даже воспользовавшись hkxcmd можно увидеть, что некоторые данные (практически) отсутствуют. После нескольких попыток, мы обнаружили, что эти данные находятся в ... Эльсвейре (Игра слов, Elsweyr созвучен с elsewhere, то есть "где-то", прим. переводчика).
Слегка поторопившись с выпуском игры, Bethesda оставила некоторые вещи в полном беспорядке, в том числе и анимации. За последние месяцы прошедшего года мы решили эту загадку и даже протестировали новое существо без использования SKSE, FNIS и прочего.
…а дальше что?
Для нас этот год обещает быть увлекательным. Вся наша команда работает не покладая рук, чтобы сделать игру ещё лучше. Сейчас мы намерены внести в неё как можно больше инноваций и контента, и мы уверены, что сможем сделать это.
Авторы сообщения Aerisarn and CuteZergling.
https://www.youtube.com/watch?v=oqg3NKKt934