Mostly Harmless

UE3:SkelControlBase (UDK)

From Unreal Wiki, The Unreal Engine Documentation Site
Revision as of 06:24, 17 January 2010 by (Talk)

Jump to: navigation, search
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

Property group 'Controller'

bControlledByAnimMetada

Type: bool


BlendInTime

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

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

Type: Object.AlphaBlendType

BlendType - Easy in/out

BoneScale

Type: float

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

Default value: 1.0

bPostPhysicsController

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

Type: bool

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

bSetStrengthFromAnimNode

Type: bool

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

ControlName

Type: name

Name used to identify this SkelControl.

ControlStrength

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

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

Type: array<name>

List of AnimNode names, to get Strength from

Property group 'SkelControlBase'

bEnableEaseInOut

Type: bool

Modifiers: editconst, deprecated

This will change to BlendType in general *

bIgnoreWhenNotRendered

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

AnimMetadataCachedAnimNodeSeqList

Type: array<AnimNodeSequence>

Modifiers: transient

Cached list of nodes to get strength from

AnimMetadataWeight

Type: float

Modifiers: transient

Node weight when controlled by AnimMetadata

bInitializedCachedNodeList

Type: bool

Modifiers: transient


BlendTimeToGo

Type: float

Modifiers: transient

Amount of time left in the currently active blend.

bShouldTickInScript

Type: bool

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

CachedNodeList

Type: array<AnimNode>

Modifiers: transient

Cached list of nodes to get strength from

ControlPosX

Type: int

Modifiers: deprecated

Used by editor.

ControlPosY

Type: int

Modifiers: deprecated

Used by editor.

ControlTickTag

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

Type: SkelControlBase

Next SkelControl in the linked list.

StrengthTarget

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

EBoneControlSpace

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

Native functions

SetSkelControlActive

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

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

TickSkelControl

event TickSkelControl (float DeltaTime)

Called every tick if bShouldTickInScript is true