×
Menu

Kf - details

Об организации КФ файла.
 
NiSequenceStreamHelper - это аналог Root Node (корневой ноды) ниф и Хниф файлов.
Т.е. NiSequenceStreamHelper всегда первый объект в сцене КФ файла.
 
NiSequenceStreamHelper содержит ссылки на:
NiTextKeyExtraData и NiKeyframeController.
NiTextKeyExtraData содержит ссылку на NiStringExtraData.
 
NiKeyframeController обычный контроллер анимации.
Но в разделе Target указан корень КФ файла, в данном случае это NiSequenceStreamHelper.
Либо может быть - пусто, т.е. Target = none.
Это зависит от модуля экспорта.
Если ТЕСэкспортер или Нифтулз, то в Target будет указана нулевая нода, т.е. NiSequenceStreamHelper.
Если ФФЕ - слот Target будет пустым.
Для МВ, похоже, без разницы.
 
NiTextKeyExtraData - все просто, список текстовых ключей с названиями анимационных групп.
Ключ, время, название группы.
Список допустимых анимаций см. здесь.
 
NiStringExtraData содержит список костей задействованных в анимациях...
Т.е. NiStringExtraData это список целей для контроллеров. Работает в порядке построения.
Первый в списке Keyframe работает для первого в списке NiStringExtraData объекта и так далее.
Подтверждено! Уважаемый Olol подтвердил эти данные.
 
В версиях КФ файла 4.2 это было приведено в более удобный и логичный вид.
Появился дополнительный раздел "controlled blocks".
Где и указаны все связи.
Увы, в МВ это не работает.

ВАЖНО!
 
Если создается объект только с использованием морфинга, но использующий текстовые записи об анимациях, это может привести к серьезным ошибкам. К вылету игры и редактора.
КФ файл будет содержать только textextradata, что и приведет к ошибкам.
 
Т.е. КФ файл, должен ОБЯЗАТЕЛЬНО иметь хотя бы один NiKeyframeController с одним, или более ключами.
Если в контроллере нет ключей, или они не полны, это также приведет к вылету игры!
 
Чтобы избежать такой оказии, необходимо создать объект типа BONE (в сцене 3д МАХ) и установить хотя бы один ключ.
Можно в начале анимации.
Но можно и несколько; в начале, в середине и в конце.
При этом, не обязательно что-то делать с объектом.
 
Тоже верно и при создании КФ файла с нуля через нифскоп.
Необходимо добавить кейфреймконтроллер и установить в нем ключи.
Достаточно одного, двух.

ВАЖНО!
Особенно для существ.
- Набор костей, или точнее, анимированных объектов, должен быть одинаков для KF и NIF файлов!
Т.е. если в КФ файле есть объект указанный здесь в NiStringExtraData, но отсутствующий в Ниф файле, возникнут ошибки.
Обычно такие:
Creature "XXXX" Has no animation groups Morrowind will crash.
 
В ниф и Хниф файлах могут быть объекты не указанные в КФ файле, но в них должно быть все, что указано в КФ!
Ниф файл некоторого существа.
Как видно, наборе костей довольно мал.
А это правильный КФ файл, того же существа.
Кол-во костей в разы больше!
Логично, что модель не могла работать корректно.
Требуется одинаковый набор костей в НИФ, КФ и Хниф файлах!

Примечание (верно для ТесЭкспортера и Нифтулза).
В этот файл пишется только анимация костей (объектов типа Bones, либо иных примитивов которые были использованы в качестве костей при создании  Skinа) и создаются текстовые ключи с названиями групп.
 
Примечание (для ФФЕ модуля по экспорту существ и прочего, что требует КФ файлы).
См. здесь.
 
Примечание.
Кф файл не возможно редактировать в целях исправления позиций костей и сему подобного.
*теоретически конечно можно, но вот делать это придется в слепую, в прямом смысле...
Но,  править записи о группах анимаций, добавляя, изменяя и меняя порядок - легко!
 
Примечание.
Также этот файл блокирует, находящимися здесь контроллерами анимации, позиции костей во всех прочих файлах. Xnif и Nif.
Т.е. изменение их позиций в тех файлах становится невозможным!
Игра всегда будет помещать их в значение заданное контроллером из КФ файла.
 
Примечание ВАЖНО!
В Kf файле обязательно должен быть хотя бы один фактический ключ анимации.
Т.е. строка NiKeyframeController->NiKeyframeData->Num Keys с активными ключами!
Если в  KF - есть только текстовые записи о ключах анимации (т.е. только строка NiTextKeyExtraData), ТЕС КС будет генерить краш!
*Такое может случиться, если создать Note Track, но не установить ключей анимации хотя бы одному объекту в сцене на Time Line.
 
Пример подобного сбойного файла.
 
И такой файл, также будет создавать проблемы!
Здесь есть контроллер, но он не имеет активных ключей.
 
Важно!
Имена костей в Ниф, Хниф и Кф файлах должны совпадать!
Иногда в результате неправильной очистки Ниф, или Хниф файла теряется какая-нибудь «ненужная» кость, которая, однако, была упомянута в Кфе. Что, приводит игру к разного рода ошибкам анимации, или крашу игры без каких либо "уточнений".
 
Примечание.
Редактирование в новом (1.1.3) нифскопе требует особого внимания и определенной последовательности действий!
Иначе, можно "убить ключ" анимации.
См. тему NiTextKeyExtraData.
 
Примечание.
Кф версии 4.2 не могут работать в МВ, а также быть импортированы в 3д МАХ посредством Нифтулз модуля.
Замена Хидера для этих файлов, не имеет смысла.
 
Примечание.
В ОпМВ выше 0.45ой версии была добавлена поддержка КФ и Хниф файлов для одежды и брони.
Возможно и для других объектов.
Что открывает богатый простор для моддинга и решает ряд проблем с анимациями оружия.
Также, ОпМВ поддерживает удобное добавление дополнительных костей.
Т.е. для добавления новых костей (например для использования плаща) не обязательно править файлы базовой анимации.
Достаточно создать новый скелет с этими костями и положить его в специальную папку.
Для МВ, придется править, как базовый скелет (base_anim.nif), так и прописывать анимации в этот (xbase_anim.kf) КФ файл.
 
Итого.
–     КФ. Только анимация "костей" и записи о группах оной.
Еще, возможно добавление, или исправление записей об анимационных группах.
Например, заменить:
Idle: Start
На;
Idle2: Start
Или тому подобное.
 
КФ файл, требуется для создания продвинутой анимации существам, активаторам, дверям и светильникам.
 
Примечание.
НПС (и игрок) могут использовать КФ файлы существ, в случае если те имеют подходящий набор костей.
Т.е. используя кнопку Add Animation в редакторе, можно подключить анимацию скампа, или Альмалексии для Игрока.
При этом, если в таких файлах нет некоторых групп (например кулачного боя, или плавания) они будут автоматически подгружены из файлов базовой анимации.
Что позволяет создать особливо "продвинутых" НПС... например; которые думают, что они скамп(С).
 

Выделен блок текстовых ключей.
Рендер пустой, т.к. Здесь нечему отображаться.
 
Всегда после завершения редактирования этого блока следует жать Enter!
 
  - fixed \r \n issue.  (Embedded carriage returns can be added using the Shift+Enter or Alt+Enter keys.)
т.е. в версии 1.1.3 и выше убрали отображение кодов r\n.
Что было в ранних версиях.
Старая версия нифскопа.
Не вызывает бага с редактированием записей, однако, не так удобна в работе.
Между записями, требуется добавлять \r\n.