Об организации КФ файла.
NiSequenceStreamHelper - это аналог Root Node (корневой ноды) ниф и Хниф файлов.
Т.е. NiSequenceStreamHelper всегда первый объект в сцене КФ файла.
NiSequenceStreamHelper содержит ссылки на:
NiTextKeyExtraData и NiKeyframeController.
NiTextKeyExtraData содержит ссылку на NiStringExtraData.
Но в разделе Target указан корень КФ файла, в данном случае это NiSequenceStreamHelper.
Либо может быть - пусто, т.е. Target = none.
Это зависит от модуля экспорта.
Если ТЕСэкспортер или Нифтулз, то в Target будет указана нулевая нода, т.е. NiSequenceStreamHelper.
Если ФФЕ - слот Target будет пустым.
Для МВ, похоже, без разницы.
Ключ, время, название группы.
Список допустимых анимаций см. здесь.
Т.е. 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) нифскопе требует особого внимания и определенной последовательности действий!
Иначе, можно "убить ключ" анимации.
Примечание.
Кф версии 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.
|