×
Меню
Индекс

NiKeyframeData примечания

 
Примечание.
Хотя, в нифскопе, типы ключей менять можно, но делать этого, с готовыми анимациями, не рекомендуется.
Т.к. придется менять и сами значения ключей, которые могли принять, после изменения типа, неправильные значения.
При изменении, уже установленного типа, изменятся и значения в ключах.
Что может привести к полной потери установленных в них данных.
Т.е. проще говоря, слетают ключи в нулевые значения.
В основном это касается смены типа ключей XYZ_ROTATION_KEY в разделе Rotation Type.
Т.к. при смене на (к примеру) TBC_KEY, изменятся типы вложенных ключей, в которых придется заново установить все данные.
Однако, LINEAR_KEY на QUADRATIC_KEY, или тот же TBC_KEY меняются легко.
При этом, вложенные типы интерполяции ключей в составе Rotation Type, могут изменятся и на XYZ_ROTATION_KEY.
Исходный вид анимации типа XYZ_ROTATION_KEY в разделе Rotation Type.
 
Но после изменения на TBC, все ключи анимации, исчезли!
 
Однако, во вложенном разделе XYZ Rotations, типы интерполяции менять можно! Это будет влиять на дополнительные поля, но не на базовые значения ключа (время\сила).
Впрочем, смена интерполяции имеет смысл только для изменения добавления дополнительных условий, либо наоборот, для удаления оных. Т.е. изменения значений в полях Forward и Backward.
Само по себе, это не даст каких-то заметных результатов.
 
Примечание.
Ключи могут быть и только в какой-то одной группе!
Rotation, Translations или Scales.
Т.е. не обязательно использовать сразу все три.
Минимальное кол-во 1 ключ в 0.000 значении времени.
Значения ключа, также могут быть равны нулю.
Кроме ключей типа Scale здесь всегда; 1.0000, если не требуется скрыть объект, конечно.
Такой метод используется для фиксирования положения объекта в некоторых случаях.
Создается, например, только ключ масштаба в значении 1.0 и устанавливается флаг 8 в самом кейфрейм контроллере.
 
Примечание.
В каждой группе (rotation, translation, scale), могут быть ключи любого типа интерполяции.
Например:
Rotation Type = XYZ_ROTATION_KEY
Translations = QUADRATIC_KEY
Scales = LINEAR_KEY
Равно и все группы ключей, могут иметь единый тип интерполяции.
Это управляется через настройки контроллера в 3д МАХе.
 
Важно!
Обращайте внимание, что время завершения анимации должно быть равным во всех ключах!
position, rotation, scale.
Т.е. если в Scales время последнего ключа будет (к примеру) 0.0333 а в Translations ключах 0.1000, это может привести к ошибкам.
И не следует забывать об общем времени завершения анимации в NiKeyframeController (stop time).
При правильной настройке анимации, время последнего ключа во всех группах и время stop time в NiKeyframeController должны быть равными.
Это правильные значения.
Все последние в треке ключи имеют равное время
Это НЕ правильные значения.
Последние в треке ключи имеют РАЗНЫЕ значения времени!
Нарушение времени последних ключей, может случаться, если в 3д Редакторе, забыть поставить ключ в конце трека, для одно из типов движения.
Либо, при копировании контроллеров анимации в нифскопе, забыть отполировать их в должной мере.
 
Важно!
Ключи позиций XYZ должны быть в каждом ключе Translations и Rotation Keys.
Иначе игра будет вылетать на рабочий стол!
Такое также будет случаться, если в МАХе, сделать значение ключа только одного типа.
Например - если вы  удалили XY значение ключей, за «ненадобностью» и оставили только Z значение.
правильная конструкция.
Ключи содержат данные о всех позициях
XYZ.
НЕ желательная конструкция.
Ключи с данными о некоторых осях удалены. Это может приводить к вылетам при экспорте (нифтулз 100%) и прочим неприятностям уже в игре.
 
также, НЕ желательная конструкция.
Нифтулз экспортер приведет к вылету.
ТесЭкспортер и ФФЕ - экспортируют.
 
Важно!
Игра также вылетит, если создать в нифскопе пустой NiKeyframeController без NiKeyframeData, или с пустыми ключами здесь.

Дата - с правильно прописанными ключами.
 
Кол-во ключей может быть разным для каждой группы.
 
Пустая дата контроллера -  выбросит Игру, или редактор, на рабочий стол.