Difference between revisions of "Animation Tab"

406 bytes added ,  02:01, 20 June 2012
m
That is what the _ means. Gender specific files are in specific folders named 'male' and 'female', not _male.
imported>Jjones
 
imported>Prideslayer
m (That is what the _ means. Gender specific files are in specific folders named 'male' and 'female', not _male.)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The [[Animation Tab]] shows all the animation available to the actor. If the preview box is checked, selecting one of the animations will show it in the preview window.
The [[Animation Tab]] shows all the animation available to the actor. If the preview box is checked, selecting one of the animations will show it in the preview window.


Animations are stored as KF files. For the player's character and NPCs, 3rd person animations are located at meshes\characters\_male (despite the name, animations are gender-neutral). 1st person animations are located at meshes\characters\_1stperson. Animation files can be placed at meshes\characters\_male\specialanims and then assigned to individual actors to be used instead of the default 3rd person animations. It is possible to assign animations to the "player" actor which will affect the player in game. Using the race menu will reset the player's animations to default but saving and reloading will reactivate the new animations.
Animations are stored as KF files. For the player's character and NPCs, 3rd person animations are located at meshes\characters\_male. 1st person animations are located at meshes\characters\_1stperson. Animation files can be placed at meshes\characters\_male\specialanims and then assigned to individual actors to be used instead of the default 3rd person animations. It is possible to assign animations to the "player" actor which will affect the player in game. Using the race menu will reset the player's animations to default but saving and reloading will reactivate the new animations.


Animations belong to animation groups ([[AnimGroups|AnimGroup]]). Animations that share the same AnimGroup can not play simultaneously, e.g. only one animation in the Movement AnimGroup can be active at a time. The exception to this is when transitioning from one animation to the next, the two animations will blend together. E.g. when transitioning from walkForward to runForward, the animations will both play simultaneously during the transition period. However, animations in separate AnimGroups ''can'' play simultaneously. This allows actors to play attacks while moving.
Animations belong to animation groups ([[AnimGroups|AnimGroup]]). Animations that share the same AnimGroup can not play simultaneously, e.g. only one animation in the Movement AnimGroup can be active at a time. The exception to this is when transitioning from one animation to the next, the two animations will blend together. E.g. when transitioning from walkForward to runForward, the animations will both play simultaneously during the transition period. However, animations in separate AnimGroups ''can'' play simultaneously. This allows actors to play attacks while moving.
Line 33: Line 33:


<!-- not sure if following belongs here, but it is useful info... -->
<!-- not sure if following belongs here, but it is useful info... -->
The KF format specification hasn't been released by Bethesda yet, so making new animations is impossible for now. There are some tidbits of useful information though (gleaned from NifSkope):
The KF format specification hasn't been released by Bethesda yet. There are some tidbits of useful information though (gleaned from NifSkope):
* The animation group of an animation is stored in the file. In NifSkope: NiControllerSequence/Name.
* The animation group of an animation is stored in the file. In NifSkope: NiControllerSequence/Name.
* 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 gun 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.
* Animations also determine when certain game actions occur during the animation, such as when a gun 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.
* 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: 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 is to contain keyframe data (NiTransformData), and that the data should be [http://en.wikipedia.org/wiki/Interpolation Interpolated]. NiBSplineCompTransformInterpolator and its child nodes are difficult to visualize in NifSkope, but contains smooth curve data.
* 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.
* NiTransformData can also dictate how keyframes are interpolated. Linear Interpolation will move in a direct line from one keyframe to another, such as a sharp sawtooth wave. Quadratic Interpolation can specify arcs to travel between keyframes, such a a smooth sine wave.
* Some animations apparently loop automatically when played in the CS preview window. This is governed by the 'Cycle Type' field in a .kf, which can be set to forward (once), looping, or backward (once).
* '''Skeletons''': Whilst the NPC form contains the skeleton field accessible in [[FO3Edit]], unlike in Oblivion you cannot set an NPCs skeleton per actor. Any changes from the default skeleton are ignored, and the skeleton is reverted to default when the file is edited in the GECK.


[[Category:Creatures]]
[[Category:Creatures]]
[[Category:NPC]]
[[Category:NPC]]
Anonymous user