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