Gah - a solution with more questions. – EntropicLqd

UE3:UIAnimation (UDK)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UDK Object >> UIRoot >> UIAnimation
Package: 
Engine
Direct subclass:
UIAnimationSeq
This class in other games:
UT3

Abstract base class for all classes related to UI animation. This class simply defines the data structures used the UI animation system.

Enums[edit]

EUIAnimationInterpMode[edit]

Defines the types of interpolation that can be used for animation. (based on EViewTargetBlendFunction)

Todo: hook up...

UIANIMMODE_Linear 
simple linear interpolation
UIANIMMODE_EaseIn 
start of animation takes longer
UIANIMMODE_EaseOut 
end of animation takes longer
UIANIMMODE_EaseInOut 
beginning and end of animation take longer

EUIAnimationLoopMode[edit]

Different types of looping behaviors for UI animations.

UIANIMLOOP_None 
no looping
UIANIMLOOP_Continuous 
loops sequentially through keyframes, then starts over at beginning

i.e. 0, 1, 2, 3, 0, 1, 2, 3

UIANIMLOOP_Bounce 
when the final keyframe is reached, reverses the order of the frames

i.e. 0, 1, 2, 3, 2, 1, 0, 1, 2, 3....

EUIAnimNotifyType[edit]

The different type of notification events

EANT_WidgetFunction 
EANT_SceneFunction 
EANT_KismetEvent 
EANT_Sound 

EUIAnimType[edit]

EAT_None 
no animation
EAT_Position 
position animation
EAT_PositionOffset 
Position animation; not implemented by all widget types.

Values for this animation type are treated as a percentage of the current left or top position. The widget's position is never actually changed - rendering simply applies a tranform to render the widget at a different location.

EAT_RelPosition 
relative position animation; values are specified as a percentage of the widget's size. i.e. 1.0 for the X component means

move the widget such that it's left face is moved to the current location of its right face, while maintaining the same width.

Todo: not yet implemented

EAT_Rotation 
rotation
EAT_RelRotation 
animation of rotation, relative to original rotation

Todo: not yet implemented

EAT_Color 
widget color animation
EAT_Opacity 
widget opacity animation
EAT_Visibility 
widget visibility animation
EAT_Scale 
widget scale animation
EAT_Left 
left face animation
EAT_Top 
top face animation
EAT_Right 
right face animation
EAT_Bottom 
bottom face animation
EAT_PPBloom 
post-process bloom amount
EAT_PPBlurSampleSize 
post-process blur sample size (kernel)
EAT_PPBlurAmount 
post-process blur amount (0 - 1)

Structs[edit]

UIAnimationKeyFrame[edit]

Modifiers: native

Contains information about a single frame or destination in an animation sequence.

float RemainingTime 
The amount of time (in seconds) that it should take for the data in this keyframe
EUIAnimationInterpMode InterpMode 
Specifies which interpolation algorithm should be used for this keyframe.
float InterpExponent 
For interpolation modes which require it (ease-in, ease-out), affects the degree of the curve.
UIAnimationRawData Data 
This holds the array of AnimationOps that will be applied to this Widget

Default values:

Property Value
InterpExponent 1.5
InterpMode UIANIMMODE_Linear

UIAnimationNotify[edit]

Modifiers: native

Holds information about a given notify

Fixme: not yet implemented

EUIAnimNotifyType NotifyType 
name NotifyName 
Holds the name of the function to call or UI sound to play

UIAnimationRawData[edit]

Modifiers: native

We don't have unions in script so we burn a little more space than I would like. Which value will be used depends on the OpType.

float DestAsFloat 
Object.LinearColor DestAsColor 
Object.Rotator DestAsRotator 
Object.Vector DestAsVector 
UIAnimationNotify DestAsNotify 

UIAnimSequence[edit]

Modifiers: native, transient

This structure holds information about a single animation sequence. Each animation sequence contains a single "track", which holds the individual keyframe data for each data-type supported by UI animation. When all keyframes for a single track have completed executing, the track is removed from the widget's copy of the UIAnimSequence.

All members of this struct are initialized at runtime based on a UIAnimationSeq subobject template defined in the game's subclass of Engine.GameUISceneClient.

UIAnimationSeq SequenceRef 
The Template to use
array<UIAnimTrack> AnimationTracks 
Array of animation tracks which are currently active
EUIAnimationLoopMode LoopMode 
controls how this animation sequence loops
float PlaybackRate 
How fast are we playing this back

UIAnimTrack[edit]

Modifiers: native

This defines a single animation track. Each track will animation only a single type of data.

EUIAnimType TrackType 
The type of animation date contained in this track
array<UIAnimationKeyFrame> KeyFrames 
Holds the actual key frame data
array<UIAnimationKeyFrame> LoopFrames 
Stores a copy of the KeyFrames array for the purposes of looping.