Overview Package Class Source Class tree Glossary
previous class      next class frames      no frames

Engine.AnimNodeSequence


00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
/**
 * Copyright 1998-2008 Epic Games, Inc. All Rights Reserved.
 */
class AnimNodeSequence extends AnimNode
	native(Anim)
	hidecategories(Object);

/** This name will be looked for in all AnimSet's specified in the AnimSets array in the SkeletalMeshComponent. */
var()	const name		AnimSeqName;

/** Speed at which the animation will be played back. Multiplied by the RateScale in the AnimSequence. Default is 1.0 */
var()	float			Rate;

/** Whether this animation is currently playing ie. if the CurrentTime will be advanced when Tick is called. */
var()	bool			bPlaying;

/** If animation is looping. If false, animation will stop when it reaches end, otherwise will continue from beginning. */
var()	bool			bLooping;

/** Should this node call the OnAnimEnd event on its parent Actor when it reaches the end and stops. */
var()	bool			bCauseActorAnimEnd;

/** Should this node call the OnAnimPlay event on its parent Actor when PlayAnim is called on it. */
var()	bool			bCauseActorAnimPlay;

/** Always return a zero rotation (unit quaternion) for the root bone of this animation. */
var()	bool			bZeroRootRotation;
/** Always return root bone translation at the origin. */
var()	bool			bZeroRootTranslation;

/** Current position (in seconds) */
var()	const float				CurrentTime;
// Keep track of where animation was at before being ticked
var		const transient float	PreviousTime;

/** Pointer to actual AnimSequence. Found from SkeletalMeshComponent using AnimSeqName when you call SetAnim. */
var		transient const AnimSequence	AnimSeq;

/** Bone -> Track mapping info for this player node. Index into the LinkupCache array in the AnimSet. Found from AnimSet when you call SetAnim. */
var		transient const int				AnimLinkupIndex;

/** 
 * Total weight that this node must be at in the final blend for notifies to be executed.
 * This is ignored when the node is part of a group.
 */
var()				float	NotifyWeightThreshold;
/** Whether any notifies in the animation sequence should be executed for this node. */
var()				bool	bNoNotifies;
/** Forces the skeletal mesh into the ref pose by setting bForceRespose on the skelmesh comp when not playing. (Optimization) */
var()				bool	bForceRefposeWhenNotPlaying;
/**
 *	Flag that indicates if Notifies are currently being executed.
 *	Allows you to avoid doing dangerous things to this Node while this is going on.
 */
var					bool	bIsIssuingNotifies;

/** name of group this node belongs to */
var(Group) const	Name	SynchGroupName;
/** If TRUE, this node can never be a synchronization master node, always slave. */
var(Group)			bool	bForceAlwaysSlave;
/** Any node with this flag set with global weight > 0.0 will be picked over any other node as master node. */
var(Group)			bool	bForceAlwaysMaster;
/** 
 * TRUE by default. This node can be synchronized with others, when part of a SynchGroup. 
 * Set to FALSE if node shouldn't be synchronized, but still part of notification group.
 */
var(Group) const	bool	bSynchronize;
/** Relative position offset */
var(Group)			float	SynchPosOffset;

/** Display time line slider */
var(Display)		bool	bShowTimeLineSlider;

/** For debugging. Track graphic used for showing animation position. */
var	texture2D	DebugTrack;

/** For debugging. Small icon to show current position in animation. */
var texture2D	DebugCarat;

/**
 *	This will actually call MoveActor to move the Actor owning this SkeletalMeshComponent.
 *	You can specify the behaviour for each axis (mesh space).
 *	Doing this for multiple skeletal meshes on the same Actor does not make much sense!
 */
enum ERootBoneAxis
{
	/** the default behaviour, leave root translation from animation and do no affect owning Actor movement. */
	RBA_Default,
	/** discard any root bone movement, locking it to the first frame's location. */
	RBA_Discard,
	/** discard root movement on animation, and forward its velocity to the owning actor. */
	RBA_Translate,
};

var() ERootBoneAxis		RootBoneOption[3]; // [X, Y, Z] axes

/**
 * Root Motion Rotation.
 */
enum ERootRotationOption
{
	/** Default, leaves root rotation in the animation. Does not affect actor. */
	RRO_Default,
	/** Discards root rotation from the animation, locks to first frame rotation of animation. Does not affect actor's rotation. */
	RRO_Discard,
	/** Discard root rotation from animation, and forwards it to the actor. (to be used by it or not). */
	RRO_Extract,
};

var() ERootRotationOption	RootRotationOption[3];	// Roll (X), Pitch (Y), Yaw (Z) axes.


// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)

/** Change the animation this node is playing to the new name. Will be looked up in owning SkeletaMeshComponent's AnimSets array. */
native function SetAnim( name Sequence );

/** Start the current animation playing with the supplied parameters. */
native function PlayAnim(bool bLoop = false, float InRate = 1.0f, float StartTime = 0.0f);

/** Stop the current animation playing. CurrentTime will stay where it was. */
native function StopAnim();

/** Force the animation to a particular time. NewTime is in seconds. */
native function SetPosition(float NewTime, bool bFireNotifies);

/** Get normalized position, from 0.f to 1.f. */
native function float GetNormalizedPosition();

/** 
 * Finds out normalized position of a synchronized node given a relative position of a group. 
 * Takes into account node's relative SynchPosOffset.
 */
native function float FindNormalizedPositionFromGroupRelativePosition(FLOAT GroupRelativePosition);

/** Returns the global play rate of this animation. Taking into account all Rate Scales */
native function float GetGlobalPlayRate();

/** Returns the duration (in seconds) of the current animation at the current play rate. Returns 0.0 if no animation. */
native function float GetAnimPlaybackLength();

/**
 * Returns in seconds the time left until the animation is done playing.
 * This is assuming the play rate is not going to change.
 */
native function float GetTimeLeft();

defaultproperties
{
   Rate=1.000000
   bSynchronize=True
   DebugTrack=Texture2D'EngineResources.AnimPlayerTrack'
   DebugCarat=Texture2D'EngineResources.AnimPlayerCarat'
   Name="Default__AnimNodeSequence"
   ObjectArchetype=AnimNode'Engine.Default__AnimNode'
}

Overview Package Class Source Class tree Glossary
previous class      next class frames      no frames
Class file time: tr 31-1-2018 17:17:58.000 - Creation time: sk 18-3-2018 10:01:04.964 - Created with UnCodeX