There is no spoon

Difference between revisions of "UE3:SkelControlBase (UDK)"

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
(Talk)
m (1 revision: class descriptions for UDK January update (part 5))
 
(No difference)

Latest revision as of 06:48, 17 January 2010

UDK Object >> AnimObject >> SkelControlBase
Package: 
Engine
Direct subclasses:
GameSkelCtrl_Recoil, SkelControlLimb, SkelControlLookAt, SkelControlSingleBone, SkelControlSpline, SkelControlTrail, SkelControl_CCD_IK, SkelControl_TwistBone, UTSkelControl_LockRotation, UTSkelControl_MassBoneScaling
This class in other games:
UT3

Abstract base class for a skeletal controller. A SkelControl is a module that can modify the position or orientation of a set of bones in a skeletal mesh in some programmtic way.

Properties[edit]

Property group 'Controller'[edit]

bControlledByAnimMetada[edit]

Type: bool


BlendInTime[edit]

Type: float

When calling SetActive passing in 'true', indicates how many seconds to take to reach a ControlStrength of 1.0.

Default value: 0.2

BlendOutTime[edit]

Type: float

When calling SetActive passing in 'false', indicates how many seconds to take to reach a ControlStrength of 0.0.

Default value: 0.2

BlendType[edit]

Type: Object.AlphaBlendType

BlendType - Easy in/out

BoneScale[edit]

Type: float

This scaling is applied to the bone that this control is acting upon.

Default value: 1.0

bPostPhysicsController[edit]

Type: bool

If TRUE, this controller will be applied AFTER physics has been run, as part of the process of blending physics into the graphics skeleton.

bPropagateSetActive[edit]

Type: bool

If true, calling SetSkelControlActive on this node will call SetSkelControlActive on the next one in the chain as well.

bSetStrengthFromAnimNode[edit]

Type: bool

If true, Strength will be the same as given AnimNode(s). This is to make transitions easier between nodes and Controllers.

ControlName[edit]

Type: name

Name used to identify this SkelControl.

ControlStrength[edit]

Type: float

Used to control how much affect this SkelControl has. 1.0 means fully active, 0.0 means have no affect. Exactly how the control ramps up depends on the specific control type.

Default value: 1.0

IgnoreAtOrAboveLOD[edit]

Type: int

If the LOD of this skeletal mesh is at or above this LOD, then this SkelControl will not be applied.

Default value: 1000

StrengthAnimNodeNameList[edit]

Type: array<name>

List of AnimNode names, to get Strength from

Property group 'SkelControlBase'[edit]

bEnableEaseInOut[edit]

Type: bool

Modifiers: editconst, deprecated

This will change to BlendType in general *

bIgnoreWhenNotRendered[edit]

Type: bool

whether this control should be ignored if the SkeletalMeshComponent being composed hasn't been rendered recently

Note: this can be forced by the SkeletalMeshComponent's bIgnoreControllersWhenNotRendered flag

Internal variables[edit]

AnimMetadataCachedAnimNodeSeqList[edit]

Type: array<AnimNodeSequence>

Modifiers: transient

Cached list of nodes to get strength from

AnimMetadataWeight[edit]

Type: float

Modifiers: transient

Node weight when controlled by AnimMetadata

bInitializedCachedNodeList[edit]

Type: bool

Modifiers: transient


BlendTimeToGo[edit]

Type: float

Modifiers: transient

Amount of time left in the currently active blend.

bShouldTickInScript[edit]

Type: bool

Whether this skeletal controller should call the script TickSkelControl() event when ticked

CachedNodeList[edit]

Type: array<AnimNode>

Modifiers: transient

Cached list of nodes to get strength from

ControlPosX[edit]

Type: int

Modifiers: deprecated

Used by editor.

ControlPosY[edit]

Type: int

Modifiers: deprecated

Used by editor.

ControlTickTag[edit]

Type: int

Modifiers: transient

Used to ensure we don't tick this SkelControl twice, if used in multiple different control chains. Compared against the SkeletalMeshComponent TickTag.

NextControl[edit]

Type: SkelControlBase

Next SkelControl in the linked list.

StrengthTarget[edit]

Type: float

This is the slider bare at the bottom of the control. Strength towards which we are currently ramping. This is used in the anim tree.

Default value: 1.0

Enums[edit]

EBoneControlSpace[edit]

Enum for controlling which reference frame a controller is applied in.

BCS_WorldSpace 
Set absolute position of bone in world space.
BCS_ActorSpace 
Set position of bone in Actor's reference frame.
BCS_ComponentSpace 
Set position of bone in SkeletalMeshComponent's reference frame.
BCS_ParentBoneSpace 
Set position of bone relative to parent bone.
BCS_BoneSpace 
Set position of bone in its own reference frame.
BCS_OtherBoneSpace 
Set position of bone in the reference frame of another bone.
BCS_BaseMeshSpace 
Set position of socket/bone in Owner's Base Mesh. This is useful when this IK has to attach to the base mesh's specific location.

Functions[edit]

Native functions[edit]

SetSkelControlActive[edit]

native final function SetSkelControlActive (bool bInActive)

Toggle the active state of the SkeControl. If passing in true, will take BlendInTime to reach a ControlStrength of 1.0. If passing in false, will take BlendOutTime to reach a ControlStrength of 0.0.

SetSkelControlStrength[edit]

native final function SetSkelControlStrength (float NewStrength, float InBlendTime)

Set custom strength with optional blend time.

Parameters:

  • NewStrength - Target Strength for this controller.
  • InBlendTime - Time it will take to reach that new strength. (0.f == Instant)

Events[edit]

TickSkelControl[edit]

event TickSkelControl (float DeltaTime)

Called every tick if bShouldTickInScript is true