Плагин для xNVSE, позволяющий задавать свои анимации для каждой отдельной единицы оружия или персонажей. Инструкция по созданию модов прилагается.
Исправляет проблему ограничения групп анимаций (anim group), связанную с движком. Включает поддержку в движке пользовательских анимаций оружия, пользовательских анимаций ходьбы и многого другого.
Теперь вы, наконец, можете иметь оружие с новой анимацией, не перезаписывая анимацию для другого оружия.
Скорее всего, вам понадобится этот плагин в качестве требования для других модов, которые, например, добавляют в игру новое оружие, функции и анимацию.
Прелюдия
Знаете ли вы, что в этой игре есть только ограниченное количество анимационных слотов для оружия? Когда Bethesda создавала этот движок, они разработали его таким образом, чтобы все оружие выбиралось из ограниченного числа слотов, называемых группами анимаций (anim group), где каждый слот группы анимаций содержит анимацию, которую оружию разрешено использовать для стрельбы, прицеливания, перезарядки и т.д.
Вероятно, это было нормально во время разработки. Единственная проблема заключается в том, что моддеры не могут создавать новые группы анимаций. Они жестко закодированы внутри движка игры.
Это фактически означает, что добавление новых типов оружия в игру невозможно.
Хотите поиграть с арбалетом? Конечно, но ему придется использовать ту же анимацию перезарядки и звуки, что и плазменный пистолет, что делает арбалет не очень реалистичным. Хотите создать дробовик, который немного меньше обычного? Но вы заметите, что ваш персонаж держит его очень странно, оставляя пространство между рукояткой и оружием.
На самом деле, несколько видов ванильного оружия страдают от плохих захватов рук из-за универсальной системы anim group.
kNVSE решает эти проблемы, позволяя переопределить anim group для каждого отдельного или игрового персонажа.
Может использоваться со сценариями, идентификаторами простой формы с именами папок или JSON.
Решает все ваши проблемы с ограничениями анимационного движка.
Руководство по использованию для аниматоров или создателей модов.
Руководство по использованию варианта с папками.
Во-первых, внутри папки Fallout New Vegas\Data\Meshes создайте папку с именем AnimGroupOverride.
Или сделайте это в папке MO2/Vortex mod (Meshes\AnimGroupOverride). Выбирать, что использовать, вам.
Переопределение анимации для одной ссылки на оружие или персонажа.
Внутри папки AnimGroupOverride создайте папку с именем .esp или .esm, содержащую форму, которую вы перезаписываете, например TestMod.esp.
Затем внутри этой папки создайте папку с идентификатором формы в шестнадцатеричном формате без индекса mod, например, 80ADE.
Внутри этой папки поместите папки _male и _1stperson, которые содержат файлы анимации .KF, которые вы хотите переопределить.
Совет: Вы также можете использовать идентификатор формы списка форм, который может содержать несколько форм оружия или субъектов, подлежащих переопределению.
Совет 2: У вас может быть несколько вариантов анимации, которые выбираются случайным образом, просто добавьте подчеркивание после варианта и несколько букв, чтобы различать имена файлов. Если вы хотите, чтобы варианты воспроизводились по порядку, имена файлов должны заканчиваться на _order_[НОМЕР].
Совет kf 3: папка kNVSE с идентификаторами форм может использоваться для оружия, актеров, рас, списков форм и существ.
Примеры
<- Data\Meshes\AnimGroupOverride\FalloutNV.esm\8ED0B\_1stperson\.
<!-----><!-----><!-----><!-----><!-----><!-----><!----->Анимации здесь переопределяют анимации для охотничьего дробовика FNV в представлении от первого лица
<- Data\Meshes\AnimGroupOverride\MyWeaponMod.esp\_1stperson\. Анимации здесь переопределяют все группы оружия и персонажей от первого лица, которые содержатся в MyWeaponMod.esp , за исключением тех, у которых есть собственные папки идентификаторов форм.
<!-----><!-----><!-----><!-----><!-----><!-----><!----->Это означает, что у вас могут быть базовые анимации, которые применяются только для этого мода, а затем поверх этих пользовательских анимаций для выбранного оружия по вашему выбору.
<- Data\Meshes\AnimGroupOverride\FalloutNV.esm\14\_male\.
<!-----><!-----><!-----><!-----><!-----><!-----><!----->Анимации здесь переопределяются для игрока в представлении от третьего лица.
Переопределение анимации для нескольких ссылок на оружие или актеров с помощью JSON.
Если у вас есть анимации, которые вы хотите добавить на несколько видов оружия, но не хотите копировать папки, заполненные анимациями, только для того, чтобы они могли иметь разные имена идентификаторов форм, есть второй вариант, который использует JSON.
Внутри AnimGroupOverride создайте файл JSON с уникальным именем и папку с уникальным именем, содержащую анимации.
Создайте массив JSON, и в массиве вы разместите объекты с тремя строковыми полями: mod (имя файла esm/esp), форма (идентификатор шестнадцатеричной формы без индекса mod) и папка (имя только что созданной папки). Поле формы может быть строкой JSON или массивом JSON, содержащим несколько строк (папок). Если поля mod и формы будут удалены, анимация будет применяться глобально ко всем формам.
Пример
Data\Meshes\AnimGroupOverride\MyExampleAnimations\... который содержит папки _1stperson и/или _male
Data\Meshes\AnimGroupOverride\TestAnimations.json
Внутри файла JSON мы собираемся сделать так, чтобы охотничий дробовик и "Обеденный колокол" использовали анимацию из папки MyExampleAnimations:
[
{
"mod": "FalloutNV.esm",
"form": ["8ED0B", "F0B12"],
"folder": "MyExampleAnimations"
}
]
Условия JSON
Необязательным полем в JSON является "condition" (строка сценария, которая принимает логическое значение, определяющее, воспроизводится анимация или нет).
[
{
"mod": "FalloutNV.esm",
"form": ["8ED0B", "F0B12"],
"folder": "MyExampleAnimations",
"condition": "GetActorValue Strength > 5"
}
]
По умолчанию условие оценивается до переопределения анимации.
Если вам нужно, чтобы условие постоянно оценивалось, то поле JSON "pollCondition" сделает это за вас:
[
{ "mod": "FalloutNV.esm",
"form": "14",
"folder": "SprintAnimations",
"condition": "IsKeyPressed 42 && GetAV ActionPoints > 0 &&
(SetAV ActionPoints ((GetAV ActionPoints) - 4))",
"pollCondition": true
}
]
В этом примере анимация спринта остановится, как только клавиша shift больше не будет нажата или AP снизится до 0, поскольку условие оценивается в каждом кадре.
Контекстно-зависимые анимации
Вы можете переопределять анимацию только в контекстах или условиях.
Моды на оружие: внутри папки анимации оружия, описанной выше, поместите анимации в папку с именем Mod1, Mod2 или Mod3.
Анимация модов оружия будет переопределяться только в том случае, если используются слоты модов.
Гендерная специфика: внутри папки персонажа поместите анимацию в папку с именем "Male" или "Female".
При повреждении ног: внутри папки персонажа поместите анимацию в папку с именем Hurt
Условие для людей:
Только человеческие персонажи будут использовать анимации в папке с именем Human.
Data\Meshes\AnimGroupOverride\FalloutNV.esm\8ED0B\_1stperson\Mod1 могут содержать анимации, которые будут переопределяться только в том случае, если у оружия включен слот mod 1.
Скриптинг
kNVSE также поставляется с командами сценариев, которые позволяют заменять анимацию на лету сценариями.
Примеры
SetWeaponAnimationPath WeapNV9mmPistol 1 1 "characters\weapons\1hpAttackRight.kf"
Заменяет анимацию стрельбы от первого лица для 9-миллиметрового пистолета.
player.SetActorAnimationPath 0 1 "characters\_male\idleanims\sprint\mtfastforward.kf" 1
Заменяет анимацию игрока от третьего лица, когда он не держит в руках никакого оружия.
Переопределяет из стека сценариев, поэтому, если вы установили анимацию переопределения, а другой мод уже делал это раньше в той же группе анимаций и в ссылке, когда вы удалите анимацию, она вернется к предыдущей переопределенной анимации.
Текстовые ключи анимаций .KF
kNVSE добавляет поддержку новых текстовых ключей, которые могут быть размещены в файлах KF в NifSkope, что изменяет поведение анимации:
interruptLoop: AttackLoop будет вести себя скорее как AttackLoopIS, где анимация прерывается в конце. Обеспечивает превосходную анимацию автоматического оружия.
burstFire: Позволяет активировать несколько клавиш "hit" и, при необходимости, "eject" в одиночной анимации.
respectEndKey: Текстовый ключ анимации от первого лица не будет привязан к текстовым ключам анимации от третьего лица.
noBlend: Отключает смешивание с этой анимацией. Рекомендуется использовать для анимации от первого лица, но не для анимации от третьего лица.
Сценарий: MyUDFScript:
Сценарий определяемой пользователем функции будет вызван, как только будет достигнуто значение времени.
В этом примере скрипт имеет идентификатор редактора MyUDFScript
blendToReloadLoop: изменяет поведение группы анимаций "Reload" (X/Y/Z/W), чтобы она смешивалась непосредственно с "ReliadLoop", вместо того, чтобы сначала смешиваться с "Aim", а затем с "ReloadLoop", что вызывает значительную паузу.
Требует, чтобы у обеих анимаций были разные приоритеты.
Путь для звуков: путь\toMySound: Воспроизводит звук (файл.wav относительно папки Data\Sound) во время, указанное в значении
Строка сценария: печать "This will print": Запускает строку сценария в указанное в значении время. %r может использоваться для указания новой строки для многострочных сценариев.
Также в kNVSE входят фиксы бесконечной перезарядки (баг движка), слишком быстрой скорости анимации от первого лица (баг движка) плюс добавлена возможность передвижения по диагонали во время проигрывания анимации.
Source code Is available here
ОБНОВЛЕНИЕ ДО kNVSE 3XkNVSE 30 объединяет более 3 лет разработки в одно обновление. Могут возникать некоторые проблемы, особенно с модами, которые основаны на нарушенном поведении предыдущих версий kNVSE. Во всяком случае, до исправления. Поэтому оставлена предыдущая версия 20, к которой можно будет вернуться.
Версия 30
Исправление сбоев и утечек памяти
Исправлено множество ошибок анимации и ошибок kNVSE (частичные перезагрузки, ключи скриптов, смешивание и многое другое)
Добавлены более 40 новых функций скрипта
Добавлены новые текстовые ключи
Оптимизированная загрузка файлов при запуске
Добавлена поддержка загрузки из архивов .BSA
Реализованы аддитивные анимации
Thanks
Beginner tutorial on how to make kNVSE sets by Xolerys (thanks!)
lStewieAl for doing much of the decoding work in IDA so this could happen.
Hitman47101, Fallout2AM, Asurah, Johnson99, Ha_Ru and Rockbiter68 for testing
youngyone01 for the original mod page icon
Установка: распаковать архив вручную или установить через мод-менеджер.
Удаление: удалить установленные файлы.
<!-----><!-----><!-----><!-----><!-----><!-----><!----->
<- Data\Meshes\AnimGroupOverride\MyWeaponMod.esp\_1stperson\. Анимации здесь переопределяют все группы оружия и персонажей от первого лица, которые содержатся в MyWeaponMod.esp , за исключением тех, у которых есть собственные папки идентификаторов форм.
<!-----><!-----><!-----><!-----><!-----><!-----><!----->
<!-----><!-----><!-----><!-----><!-----><!-----><!----->
Data\Meshes\AnimGroupOverride\TestAnimations.json
По умолчанию условие оценивается до переопределения анимации.
"form": "14",
Условие для людей:
player.SetActorAnimationPath 0 1 "characters\_male\idleanims\sprint\mtfastforward.kf" 1
Переопределяет из стека сценариев, поэтому, если вы установили анимацию переопределения, а другой мод уже делал это раньше в той же группе анимаций и в ссылке, когда вы удалите анимацию, она вернется к предыдущей переопределенной анимации.
kNVSE добавляет поддержку новых текстовых ключей, которые могут быть размещены в файлах KF в NifSkope, что изменяет поведение анимации:
blendToReloadLoop: изменяет поведение группы анимаций "Reload" (X/Y/Z/W), чтобы она смешивалась непосредственно с "ReliadLoop", вместо того, чтобы сначала смешиваться с "Aim", а затем с "ReloadLoop", что вызывает значительную паузу.
Версия 30
Исправление сбоев и утечек памяти
Исправлено множество ошибок анимации и ошибок kNVSE (частичные перезагрузки, ключи скриптов, смешивание и многое другое)
Добавлены более 40 новых функций скрипта
Добавлены новые текстовые ключи
Оптимизированная загрузка файлов при запуске
Добавлена поддержка загрузки из архивов .BSA
Реализованы аддитивные анимации
Исправление сбоев и утечек памяти
Исправлено множество ошибок анимации и ошибок kNVSE (частичные перезагрузки, ключи скриптов, смешивание и многое другое)
Добавлены более 40 новых функций скрипта
Добавлены новые текстовые ключи
Оптимизированная загрузка файлов при запуске
Добавлена поддержка загрузки из архивов .BSA
Реализованы аддитивные анимации
Hitman47101, Fallout2AM, Asurah, Johnson99, Ha_Ru and Rockbiter68 for testing
youngyone01 for the original mod page icon