Difference between revisions of "Animation Tab"
Jump to navigation
Jump to search
no edit summary
imported>Maian |
imported>Maian |
||
Line 32: | Line 32: | ||
* Animation length is stored in the file. In NifSkope: In NiControllerSequence, look at Start Time and Stop Time. Also, in NiTextKeyExtraData/Text Keys/Keys, look at the first and last keys for start and stop times, respectively. I'm not sure why the times are in two different places, but they should be equal in value. | * Animation length is stored in the file. In NifSkope: In NiControllerSequence, look at Start Time and Stop Time. Also, in NiTextKeyExtraData/Text Keys/Keys, look at the first and last keys for start and stop times, respectively. I'm not sure why the times are in two different places, but they should be equal in value. | ||
* Animations also determine when certain game actions occur during the animation, such as when a spell is fired, when a weapon hits, or when a sound is played. These are displayed under Group Frame Properties and Group Sound Properties. In NifSkope: In NiTextKeyExtraData/Text Keys/Keys, look at all the keys besides the first and last. For example, castself.kf has key values "Blend: 9" and "Hit", where "Blend: 9" is unknown (probably some graphics thing) and the "Hit" time determines when the spell takes effect. | * Animations also determine when certain game actions occur during the animation, such as when a spell is fired, when a weapon hits, or when a sound is played. These are displayed under Group Frame Properties and Group Sound Properties. In NifSkope: In NiTextKeyExtraData/Text Keys/Keys, look at all the keys besides the first and last. For example, castself.kf has key values "Blend: 9" and "Hit", where "Blend: 9" is unknown (probably some graphics thing) and the "Hit" time determines when the spell takes effect. | ||
* In NifSkope: Each NiTransformInterpolator and NiSplineCompTransformInterpolator is responsible for the animation of a certain skeleton part. In NiControllerSequence, each Controlled Block links to an interpolator block and | * In NifSkope: Each NiTransformInterpolator and NiSplineCompTransformInterpolator is responsible for the animation of a certain skeleton part. In NiControllerSequence, each Controlled Block links to an interpolator block and specifies: what skeletal part the interpolator is operating on, and the priority of animating that part (in case multiple animations are animating the same skeletal part). | ||
* In NifSkope: If a NiTransformInterpolator contains an NiTransformData, that NiTransformData contains a sequence of rotations, translations, and scales at specified times. The role of NiTransformInterpolator by itself is unclear. NiBSplineCompTransformInterpolator and its child nodes are even more unknown, but their name suggests they have something to do with b-spline transformations, as opposed to linear transformations. | * In NifSkope: If a NiTransformInterpolator contains an NiTransformData, that NiTransformData contains a sequence of rotations, translations, and scales at specified times. The role of NiTransformInterpolator by itself is unclear. NiBSplineCompTransformInterpolator and its child nodes are even more unknown, but their name suggests they have something to do with b-spline transformations, as opposed to linear transformations. | ||
* | * I'm not sure whether the animation group section (LB, LA, LH, RA) an animation belongs to is encoded within the file. | ||
* Some animations apparently loop automatically when played in the CS preview window. I don't think this is hardcoded into the game, and looping animations | * Some animations apparently loop automatically when played in the CS preview window. I don't think this is hardcoded into the game, and looping animations may instead be handled by the idle animation system. There also seems to be an integer in the file that determines whether an animation loops. | ||
[[Category:Creatures]] | [[Category:Creatures]] | ||
[[Category:NPC]] | [[Category:NPC]] |