There is no spoon

UE3:AnimSequence (UDK)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UDK Object >> AnimSequence
Package: 
Engine
This class in other games:
UT3

One animation sequence of keyframes. Contains a number of tracks of data. The Outer of AnimSequence is expected to be its AnimSet.

Properties[edit]

Property group 'AnimSequence'[edit]

bDoNotOverrideCompression[edit]

Type: bool

Modifiers: editoronly, const

Do not attempt to override compression scheme when running CompressAnimations commandlet. Some high frequency animations are too sensitive and shouldn't be changed.

bNoLoopingInterpolation[edit]

Type: bool

if TRUE, disable interpolation between last and first frame when looping.

CompressionScheme[edit]

Type: AnimationCompressionAlgorithm

Modifiers: editinline, editconst, editoronly

The compression scheme that was most recently used to compress this animation. May be NULL.

MetaData[edit]

Type: array<AnimMetaData>

Modifiers: editinline, instanced

Animation Meta Data

Notifies[edit]

Type: array<AnimNotifyEvent>

Modifiers: editinline

Animation notifies, sorted by time (earliest notification first).

RateScale[edit]

Type: float

Number for tweaking playback rate of this animation globally.

Default value: 1.0

Internal variables[edit]

AdditiveBasePose[edit]

Type: array<RawAnimSequenceTrack>

Modifiers: const

Store Reference Pose animation used to create this additive one. For playback in editor only.

AdditiveBasePoseAnimSeq[edit]

Type: array<AnimSequence>

Modifiers: editoronly

If this animation is Additive, this is the reference to the Base Pose used. For automatic rebuilding in the editor. Made into a list to handle duplicate animations.

AdditiveRefName[edit]

Type: name

Modifiers: const, editoronly

Reference animation name

AdditiveRefPose[edit]

Type: array<Object.BoneAtom>

Modifiers: const, deprecated

Reference pose for additive animation. Deprecated.

AdditiveTargetPoseAnimSeq[edit]

Type: array<AnimSequence>

Modifiers: editoronly

If this animation is Additive, this is the reference to the Target Pose used. For automatic rebuilding in the editor. Made into a list to handle duplicate animations.

AnimTags[edit]

Type: array<AnimTag>

Modifiers: config, editoronly

Animation tag for stat system: This is temporary until we can add content tag to animation Currently it auto tags based on "contains" - Check DefaultEngine.ini for modification

bAdditiveBuiltLooping[edit]

Type: bool

Modifiers: editoronly

TRUE if additive animation was built with looping interpolation.

bHasBeenUsed[edit]

Type: bool

Modifiers: const, transient

Debug flag to trace if this anim sequence was played.

bIsAdditive[edit]

Type: bool

Modifiers: const

TRUE if this is an Additive Animation

BoneControlModifiers[edit]

Type: array<SkelControlModifier>

Modifiers: deprecated, editinline

DEPRECATED VER_ADDED_ANIM_METADATA_FIXED_QUATERROR Bone Control Modifiers, sorted by time (earliest notification first).

CompressedByteStream[edit]

Type: array<byte>

Modifiers: native

ByteStream for compressed animation data. All keys are currently stored at evenly-spaced intervals (ie no explicit key times).

For a translation track of n keys, data is packed as n uncompressed float[3]:

For a rotation track of n>1 keys, the first 24 bytes are reserved for compression info (eg Fixed32 stores float Mins[3]; float Ranges[3]), followed by n elements of the compressed type. For a rotation track of n=1 keys, the single key is packed as an FQuatFloat96NoW.

CompressedTrackOffsets[edit]

Type: array<int>

An array of 4*NumTrack ints, arranged as follows:

 [0] Trans0.Offset
 [1] Trans0.NumKeys
 [2] Rot0.Offset
 [3] Rot0.NumKeys
 [4] Trans1.Offset
 . . .

CurveData[edit]

Type: array<CurveTrack>

Modifiers: const


EncodingPkgVersion[edit]

Type: int

Modifiers: const

The version of the global encoding package used at the time of import

KeyEncodingFormat[edit]

Type: AnimationKeyFormat

Modifiers: const


NumFrames[edit]

Type: int

Number of raw frames in this sequence (not used by engine - just for informational purposes).

RawAnimationData[edit]

Type: array<RawAnimSequenceTrack>

Modifiers: native, private, const


RawAnimData[edit]

Type: array<RawAnimSequenceTrack>

Modifiers: deprecated, private, const

Raw uncompressed keyframe data. RawAnimData is deprecated and moved to RawAnimationData to switch to native serialization. Down the road it should be switched to use lazy loading as the data is only used in the editor. It is used pervasively enough to be a separate change.

RelatedAdditiveAnimSeqs[edit]

Type: array<AnimSequence>

Modifiers: editoronly

If this animation was used, either as a Base or Target Pose, to build additive animations, they are referenced there. For automatic rebuilding in the editor.

RotationCodec[edit]

Type: pointer

Modifiers: private, transient, native


RotationCompressionFormat[edit]

Type: AnimationCompressionFormat

Modifiers: const

The compression format that was used to compress rotation tracks.

RotationData[edit]

Type: array<RotationTrack>

Modifiers: transient, const

Rotation data post keyframe reduction. RotationData.Num() is zero if keyframe reduction has not yet been applied.

SequenceLength[edit]

Type: float

Length (in seconds) of this AnimSequence if played back with a speed of 1.0.

SequenceName[edit]

Type: name

Name of the animation sequence. Used in AnimNodeSequence.

TranslationCodec[edit]

Type: pointer

Modifiers: private, transient, native

The runtime interface to decode and byte swap the compressed animation May be NULL. Set at runtime - does not exist in editor

TranslationCompressionFormat[edit]

Type: AnimationCompressionFormat

Modifiers: const

The compression format that was used to compress translation tracks.

TranslationData[edit]

Type: array<TranslationTrack>

Modifiers: transient, const

Translation data post keyframe reduction. TranslationData.Num() is zero if keyframe reduction has not yet been applied.

UseScore[edit]

Type: float

Modifiers: const, transient

Debug score to find out animation usage

Enums[edit]

AnimationCompressionFormat[edit]

Indicates animation data compression format.

ACF_None 
ACF_Float96NoW 
ACF_Fixed48NoW 
ACF_IntervalFixed32NoW 
ACF_Fixed32NoW 
ACF_Float32NoW 

AnimationKeyFormat[edit]

Indicates animation data compression format.

AKF_ConstantKeyLerp 
AKF_VariableKeyLerp 

Structs[edit]

AnimNotifyEvent[edit]

Modifiers: native

float Time 
AnimNotify Notify 
name Comment 
float Duration 

AnimTag[edit]

Modifiers: native

Temporary Animation Tagging Information: until we integrate Content Tagging This is configurable information in Engine Tag: Name of Tag Contains: Contains text Priority is index of array

string Tag 
This is Tag name
array<string> Contains 
This is contains strings, i.e. _cvr_ or _cover_ for Tag name Cover

CompressedTrack[edit]

Modifiers: native

array<byte> ByteStream 
array<float> Times 
float Mins[3]  
float Ranges[3]  

CurveTrack[edit]

Modifiers: native

Key frame curve data for one track CurveName: Morph Target Name CurveWeights: List of weights for each frame

name CurveName 
array<float> CurveWeights 

RawAnimSequenceTrack[edit]

Raw keyframe data for one track. Each array will contain either NumFrames elements or 1 element. One element is used as a simple compression scheme where if all keys are the same, they'll be reduced to 1 key that is constant over the entire sequence.

Warning: manually mirrored in UnMiscDeclerations.h due to mixed native/ script serialization

array<Object.Vector> PosKeys 
Position keys.
array<Object.Quat> RotKeys 
Rotation keys.

RotationTrack[edit]

Modifiers: native

Keyframe rotation data for one track. Rot(i) occurs at Time(i). Rot.Num() always equals Time.Num().

array<Object.Quat> RotKeys 
array<float> Times 

SkelControlModifier[edit]

Modifiers: native

name SkelControlName 
SkelControl Node Name in the Anim Tree that would apply *
array<TimeModifier> Modifiers 
Modifiers for what time and what strength for this skelcontrol name*

TimeModifier[edit]

Modifiers: native

float Time 
Time to apply *
float TargetStrength 
This will linearly interpolate between multiple strength within one anim data*

TranslationTrack[edit]

Modifiers: native

Keyframe position data for one track. Pos(i) occurs at Time(i). Pos.Num() always equals Time.Num().

array<Object.Vector> PosKeys 
array<float> Times 

Native functions[edit]

GetNotifyTimeByClass[edit]

native function float GetNotifyTimeByClass (class<AnimNotifyNotifyClass, optional float PlayRate, optional float StartPosition)

Get the time (in seconds) from the start of the animation that the first notify of the given class would fire

Parameters:

  • NotifyClass - Class of AnimNotify we are looking for (ie AnimNotify_Sound)
  • PlayRate - Rate that animation would be played at
  • StartPosition - Initial position in the animation to start checking from

Returns:

Time in seconds that notify would fire if anim was played at given rate Returns -1.f if no notify is found