Перейти к содержанию
  • Поддержите наш проект на Boosty и получите доступ ко всем премиум сборкам
    Получить премиум
    Мы приносим в этот мир счастье и радость, ваша помощь нам жизненно необходима.
SBelyi

Интеграция звука в анимации (Возможно ли?)

Рекомендуемые сообщения

В 12.04.2021 в 08:23, VitSu сказал:

Недавно вышел плагин, который может конвертировать 64-битные behavior файлы в xml. 

 

https://www.nexusmods.com/skyrimspecialedition/mods/43108

 

Файл от SOS плагин сконвертировал без проблем, а вот стандартный 0_master.hkx не смог. Возможно, размер слишком большой.)

О класс, спасибо 👍 Нужно будет поэкспериментировать 

Поделиться сообщением


Ссылка на сообщение
2 часа назад, total13 сказал:

Havok Animation Tool (Anarchy) 2013.2.5.0-r1 20131217(1)

 

Havok Animation Tool (Anarchy) 2014.0.5.0-r1 20140331

 

может пригодится 

не помню какой из них подходит для ская 

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

Хорошая штука для начального изучения  файлов поведения и создания простых бехавиоров. Проблема только в том, что у них нет фирменных беседковских модификаторов. Т.е. те блоки названия которых начинаются с BS, придется вручную вставлять в xml.

Поделиться сообщением


Ссылка на сообщение

Небольшой урок по созданию анимированных сфер с использованием Havok Content Tools и Havok Animation Tool:

 

https://youtu.be/77GwOz8WNE8

 

ЗЫ Всё сам хотел написать туториал по HAT по исправлению FNIS-овских бехавиоров, да все никак руки не доходят.

  • Спасибо (+1) 1

Поделиться сообщением


Ссылка на сообщение
23 часа назад, VitSu сказал:

Всё сам хотел написать туториал по HAT по исправлению FNIS-овских бехавиоров, да все никак руки не доходят.

Это было бы здорово 👍 Думаю многим бы пригодилось.

Поделиться сообщением


Ссылка на сообщение

Да я и сам-то более-менее научился только в idle анимациях разбираться. Проблема в том, что практически нигде нет туториалов по файлам поведения. Да и с инструментами бяда - НАТ, как я писал, не полный, а единственную недоделанную программу Skyrim Behavior Tool (ссылка) автор давно забросил (но с помощью нее удобно смотреть бехавиор файлы). В общем, посмотрю - возможно, небольшими кусками буду в этой теме выкладывать.

Поделиться сообщением


Ссылка на сообщение

Начну потихоньку.

 

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

 

Итак, что такое бехавиор файлы или файлы поведения? Это часть системы движка игры по управлению анимациями. Например, нажал на W, движок посылает ивент (или команду, проще говоря) этой системе на включение анимации бега. Замечу - только включение анимации. За перемещением игрока в пространстве отвечает совсем другая часть движка игры (наверняка все видели, когда забывали запустить FNIS, как игрок перемещается в Т-позе).

 

Из чего состоит эта система? Самый главный файл это defaultmale.hkx (defaultfemale.hkx для женщин), который находится по пути meshes\actors\character. Т.к. он самый главный, то он практически ничего не делает (прям как в жизни!), поэтому его редко кто видит и он лежит себе спокойно в BSA архиве. Единственная его задача это ссылка на одноименный файл в папке сharacters (characters female). Ну и я его тоже трогать не буду, поэтому говоря о defaultmale.hkx, я буду иметь ввиду именно файл, находящийся в папке сharacters.

 

Вот в этом файле уже содержится много чего: ссылки на все анимации в папке Animations, ссылка на 0_master.hkx в папке behaviors, ссылка на skeleton.HKX в папке character assets (skeleton_female.hkx в character assets female), а так-же куча информации о самом скелете, в которой я еще не разбирался. Бехавиор файлы являются общими для мужчин и женщин. Анимации в основном общие, но есть и раздельные.

0_master.hkx является главным в своей папке, как можно догадаться из названия. Помимо того, что он сам является бехавиор файлом, в нем еще находятся ссылки на другие бехавиор файлы в папке. В общем типичный "бугор".)

 

Теперь немного разберемся как работает FNIS. Когда мододел делает свой мод, он копирует свои файлы анимаций в отдельную папку в Animations и составляет там т.н. FNIS-лист, в котором прописывает некоторые правила для анимаций. Затем запускает программу GenerateFNISforModders, которая читает FNIS-лист и в соответствии с ним создает бехавиор файл, копируя его в папку behaviors. Следующим этапом запускает GenerateFNISforUsers, которая также читает FNIS-лист, прописывает пути анимаций в defaultmale.hkx (defaultfemale.hkx) и так-же прописывает ссылку на сгенерированный бехавиор файл в 0_master.hkx.

 

Это в общем случае для idle-анимаций. Управление фурнитурной анимации прописывается в файл mt_behavior.hkx, парная - в 0_master.hkx (есть еще другие типы анимаций, но я с ними не разбирался). Если FNIS-лист имеет только фурнитурную или парную анимацию, то GenerateFNISforModders сгенерирует пустой бехавиор файл (в смысле ничего не делающий). Для чего это сделано непонятно.

 

Мы-же будем заниматься idle-анимациями и заменять бехавиор файл, сгенерированный GenerateFNISforModders, своим, созданным с помощью Havok Animation Tool.

 

Но, об этом в следующий раз.

  • Спасибо (+1) 1

Поделиться сообщением


Ссылка на сообщение

Граждане Скайрима!

 

Для дальнейшего написания тутора мне нужен ваш совет, какую группу анимаций  использовать: мужское соло, женское соло (чтобы, так сказать, соответствовало тематике сайта), или просто нейтральную анимацию подметания, например. 

 

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

  • Спасибо (+1) 1

Поделиться сообщением


Ссылка на сообщение
12 часов назад, VitSu сказал:

Граждане Скайрима!

 

Для дальнейшего написания тутора мне нужен ваш совет, какую группу анимаций  использовать: мужское соло, женское соло (чтобы, так сказать, соответствовало тематике сайта), или просто нейтральную анимацию подметания, например. 

 

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

Я обеими руками ЗА! Мне эта тема интересна. Вот только думаю гайд, лучше бы конечно в отдельную тему делать, так его больше народу увидит. 

Из анимаций думаю лучше использовать женское соло. Все таки на сайте больше мужского пола.

Поделиться сообщением


Ссылка на сообщение
В 29.04.2021 в 19:45, SBelyi сказал:

Вот только думаю гайд, лучше бы конечно в отдельную тему делать, так его больше народу увидит. 

Да тут осталось-то на один пост. Решил все-таки короткий гайд сделать и показать только как сделать простейшое управление одной анимацией и заменить ею фнисовское. Скоро выложу.

  • Спасибо (+1) 1

Поделиться сообщением


Ссылка на сообщение

Немного ошибся - осталось не на один пост а на два... надеюсь.)

 

Займемся практикой.

 

Для начала создадим свой мод. В Animations создаем новую папку, обзываем ее как-нибудь, например, MyTest, и копируем туда любую анимацию. Хотя я пару постов назад и спрашивал про выбор анимаций, но поскольку гайд будет коротким, то можно взять любой файл анимации из мода или ванильный. Я взял ванильный animobjectsweepingidlevar1.hkx, т.к. давеча экспериментировал с ним.

 

Итак, копируем animobjectsweepingidlevar1.hkx в папку MyTest. Теперь нужно создать фнис-лист: в этой-же папке создаем текстовый файл, называем его FNIS_MyTest_List.txt  и вписываем туда такую строку: 

 

b aaa animobjectsweepingidlevar1.hkx

 

("b" - простая одиночная idle-анимация; "aaa" - ивент, или команда, по которой будет вызываться эта анимация. Для настоящего мода лучше назвать это ивент, конечно, более осмысленно. А нам для теста и так сойдет.))

 

Теперь сгенерируем бехавиор файл программой GenerateFNISforModders и зарегистрируем нашу анимацию с помощью GenerateFNISforUsers (именно в такой последовательности). Заглянем в папку behaviors и увидим там наш только что сгенерированный FNIS_MyTest_Behavior.hkx. Вот его и будем менять. Но попозже.

 

Наконец, пришло время для Havok Animation Tool (НАТ в дальнейшем). Но, сначала на рабочем столе создадим новую папку и назовем ее, скажем, "ProjectsHAT". Набор файлов, который создает НАТ, называется проектом. Запускаем программу!

 

Выскочит окошко на введение какого-то кода, которого нет. Поэтому просто его закрываем. Нажимаем на кнопку "Creates a new project". Появится окно для создания нового проекта, которое сейчас разберем подробнее:

 

Location - папка с проектами. Нажимаем на кнопку "Browse..." и выбираем нашу папку на рабочем столе "ProjectsHAT".

 

Sub-folder  - отдельная папка для нашего проекта. Можно оставить как есть, но мы впишем туда название мода: MyTest. Убедитесь, что галка стоит.

 

Name - если галка не стоит, то файл проекта будет называться так-же, как и папка проекта. Кстати, о файле проекта: помните, я писал о самом главном файле, который лежит в BSA архиве, в предыдущей части гайда? Это он и есть. Можно оставить как есть, но мы назовем его, как в игре: ставим галку и вписываем defaultmale.hkp (или defaultfemale.hkp).

 

Настроим папки проекта - жмем на "Configure the new project...". 

 

В левой части появившегося нового окошка находится список папок проекта. Узнаете?) Ну так скайримовские бехавиоры создавались на этой программе, только другой версии и с дополнительными модулями на беседковские модификаторы. Жаль, что их нигде не достать.

 

В правой части находятся настройки для папок. По порядку будем тыкать на названия папок в левой части и настраивать в правой.

 

CharacterAssets - папка, на которой часто спотыкаются начинающие бехавиористы.) Дело в том, что "CharacterAssets" в игре пишется с пробелом между двух слов - "Character Assets", а тут, как видим, слитно. Можно оставить как есть, т.к. этот файл для нашего мода не нужен, а можно исправить - жмем на кнопку с тремя точками в поле Include Path, в появившемся окне жмем на Edit и вставляем пробел. В поле Export Options ставим галку по желанию. Можно вообще никуда не ставить, т.к. для нашего мода этот экспортируемый файл не нужен. Но, если захочется посмотреть из чего он состоит, то ставим галку на Export XML Tagfiles.  В Export to folder так-же вставляем в путь пробел и убираем Export\.

 

Animations - жмем на кнопку с тремя точками в поле Include Path, в появившемся окне жмем на Edit и пишем туда наш путь Animations\MyTest\. В поле Export Options ни в коем случае не ставим никаких галок! Убираем их если есть, иначе придется править xml файл вручную - не знаю почему, но если стоит галка на экспорт анимации, то из бехавиора файла убирается путь до этой анимации.

 

Папки Characters, Вehaviors и Project настраиваются одинаково - ставим галку на Export XML Tagfiles и из пути убираем Export\. Остальные папки не нужны.

 

Вроде, все. ОКейнуем оба окна с настройками и сохраняемся. Теперь оставим ненадолго программу НАТ и скопируем в Animations\MyTest\ паки проекта файл animobjectsweepingidlevar1.hkx. Файл должен быть бинарным 32-битным, пэтому если вы делаете мод для SSE, нужно предварительно сконвертировать этот файл. Или взять из LE версии.

 

Возвращаемся в HAT. Чтобы скопированный файл подхватился, нужно заново открыть проект. Надеюсь, как это сделать, объяснять не нужно.

 

Настройте вид полей программы: в меню выберите View и пощелкайте по видам. Я выбрал Layout Graph Editing. 

 

Наконец-то начинаем само создание бехавиора!

 

В следующий раз.

Изменено пользователем VitSu
  • Спасибо (+1) 1

Поделиться сообщением


Ссылка на сообщение

Надо бы закончить тутор. Наверняка многие уже заждались. (Сказал VitSu, оглядывая пустую аудиторию с дремавшим где-то на галерке SBelyi).🙂

 

Итак, немного о виде самой программы. Если выбран Layout Graph Editing, то слева вверху будет поле Сharacters - дерево проекта, где будут представлены не только файлы проекта, но и содержимое бехавиор файла. 

 

Дальше идет поле Graph View. Тут будет находится содержимое бехавиор файла в графическом виде.

 

Следом идет 3d Viewport. Там должен быть наш человечек, чтобы визуально наблюдать, что мы делаем, но мы его использовать не будем, ибо это тема отдельного тутора. Примерное представление об этом можно получить из урока по анимации сфер от Дмитрия Апёнова (@perture).

 

Внизу находятся поле для логов и настроек блоков бехавиор файла.

 

 Переходим в поле Characters - ПКМ по папке Characters и выбираем New character. В появившемся окне нужно ввести имя файла. Про этот файл я тоже писал в предыдущей части. Называем его, как и в игре, defaultmale. Под папкой Characters появились два новых файла defaultmale.hkc и Behavior00.hkb, а в поле Graph View появился новый блок Reference Pose. 

 

Выделяем файл Behavior00.hkb, ПКМ - Rename и переименовываем его на FNIS_MyTest_Behavior.hkb. 

 

Переходим в поле Graph View. Удаляем блок Reference Pose, т.к. это ничто иное, как т-поза. Теперь ПКМ - Create New - Clips. В появившемся окошке выбираем наш файл анимации. 

 

Анимацию добавили, теперь нужно присоединить к ней команду, по которой она будет вызываться из скрипта или из консоли: ПКМ по блоку - Add Transition - WildCard. Видим, как появилась стрелка, идущая к нашему блоку. Щелкаем мышкой по этой стрелке и переходим в поле настроек.

 

Там мы видим имя нашего перехода и две вкладки настроек: Basic и Advanced. Нам нужна Basic: справа в поле WildCard Setting отмечаем Global. Global это значит, что команда будет услышана из вне нашего бехавиор файла, например из консоли в игре или из скрипта.

 

Теперь исправим имя ивента, ибо он получился слишком длинным и неудобным. Переходим в поле Event и щелкаем по значку карадаша с листочком бумаги. Нас перебросило в настройки ивента. Там переименовываем ивент во что-нибудь удобное. Для теста можно просто "aaa".

 

Вот, в общем-то, и всё. Мы создали самый простой (проще не бывает) бехавиор файл. Осталось только его экспортировать.

 

В главном меню нажимаем File - Export All. В появившемся окне жмем на Save All. Всё. Программа нам больше не нужна, закрываем. 

 

Осталось немного. Идем в директорию проекта и в папке Behaviors видим файл FNIS_MyTest_Behavior.xml. Нужно сконвертировать его в бинарный. Но, этот файл у нас другой версии, не скайримовской, поэтому открываем его в текстовом редакторе и во второй строке переименовываем classversion="11" на classversion="8". Вот так просто мы сконвертировали файл из одной версии хавока в другой.) Теперь конвертируем этот xml файл в бинарный и заменяем им файл в нашем моде.

 

И последний штрих - заходим в игру, открываем консоль, тыкаем курсором в какого-нибудь непися и вводим: sae aaa. Любуемся, как непись делает вид, что подметает - метлы-то у него нет.🙂

 

А вот как вручить ему метлу, отключить слежение головой или плечами(как в фурнитурной анимации), рандомно переключать анимации и др. можно посмотреть в ванильном mt_behavior с помощью программы Skyrim Behavior Tool (ссылка есть где-то в моих предыдущих постах).

  • Спасибо (+1) 1

Поделиться сообщением


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...