Mostly Harmless

UE3:SkeletalMeshComponent (UT3)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UT3 Object >> Component >> ActorComponent >> PrimitiveComponent >> MeshComponent >> SkeletalMeshComponent
Package: 
Engine
Direct subclasses:
MaterialEditorSkeletalMeshComponent, ASVSkelComponent, AnimTreeEdSkelComponent, FaceFXStudioSkelComponent, PhATSkeletalMeshComponent, UTGibSkeletalMeshComponent, UTSkeletalMeshComponent
This class in other games:
UDK

Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.

Properties[edit]

Property group 'Cloth'[edit]

bAttachClothVertsToBaseBody[edit]

Type: bool

If true, fixed verts of the cloth are attached in the physics to the physics body that this components actor is attached to.

bAutoFreezeClothWhenNotRendered[edit]

Type: bool

If true, cloth will automatically have bClothFrozen set when it is not rendered, and have it turned off when it is seen.

bClothBaseVelClamp[edit]

Type: bool

It true, clamp velocity of cloth particles to be within ClothOwnerVelClampRange of Base velocity.

bClothFrozen[edit]

Type: bool

Modifiers: const

If true, cloth is 'frozen' and no simulation is taking place for it, though it will keep its shape.

bDisableClothCollision[edit]

Type: bool

Modifiers: const

Turns off all cloth collision so not checks are done (improves performance).

bEnableClothSimulation[edit]

Type: bool

Modifiers: const

Whether cloth simulation should currently be used on this SkeletalMeshComponent.

See: SetEnableClothSimulation

ClothAttachmentTearFactor[edit]

Type: float

Modifiers: const

The cloth tear factor for this SkeletalMeshComponent, negative values take the tear factor from the SkeletalMesh. Note: UpdateClothParams() should be called after modification so that the changes are reflected in the simulation.

Default value: -1.0

ClothBaseVelClampRange[edit]

Type: Object.Vector

Amount of variance from base's velocity the cloth is allowed.

ClothBlendWeight[edit]

Type: float

How much to blend in results from cloth simulation with results from regular skinning.

Default value: 1.0

ClothExternalForce[edit]

Type: Object.Vector

Modifiers: const

Constant force applied to all vertices in the cloth.

ClothForceScale[edit]

Type: float

Modifiers: const

How much force to apply to cloth, in relation to the force(from a force field) applied to rigid bodies(zero applies no force to cloth, 1 applies the same)

ClothRBChannel[edit]

Type: PrimitiveComponent.ERBCollisionChannel

Modifiers: const

Enum indicating what type of object this cloth should be considered for rigid body collision.

Default value: RBCC_Cloth

ClothRBCollideWithChannels[edit]

Type: PrimitiveComponent.RBCollisionChannelContainer

Modifiers: const

Types of objects that this cloth will collide with.

ClothWind[edit]

Type: Object.Vector

'Wind' force applied to cloth. Force on each vertex is based on the dot product between the wind vector and the surface normal.

Property group 'SkeletalMeshComponent'[edit]

Animations[edit]

Type: AnimNode

Modifiers: const, editinline, export

This is the unique instance of the AnimTree used by this SkeletalMeshComponent. THIS SHOULD NEVER POINT TO AN ANIMTREE IN A CONTENT PACKAGE.

AnimSets[edit]

Type: array<AnimSet>

The set of AnimSets that will be looked in to find a particular sequence, specified by name in an AnimNodeSequence. Array is search from last to first element, so you can replace a particular sequence but putting a set containing the new version later in the array. You will need to call SetAnim again on nodes that may be affected by any changes you make to this array.

AnimTreeTemplate[edit]

Type: AnimTree

Modifiers: const

This should point to the AnimTree in a content package. BeginPlay on this SkeletalMeshComponent will instance (copy) the tree and assign the instance to the Animations pointer.

bDisableFaceFXMaterialInstanceCreation[edit]

Type: bool

If true, FaceFX will not automatically create material instances.

bEnableFullAnimWeightBodies[edit]

Type: bool

Enables blending in of physics bodies with the bAlwaysFullAnimWeight flag set.

bForceDiscardRootMotion[edit]

Type: bool

force root motion to be discarded, no matter what the AnimNodeSequence(s) are set to do

bForceUpdateAttachmentsInTick[edit]

Type: bool

If true, attachments will be updated twice a frame - once in Tick and again when UpdateTransform is called. This can resolve some 'frame behind' issues if an attachment need to be in the correct location for it's Tick, but at a cost.

bHasPhysicsAssetInstance[edit]

Type: bool

Modifiers: const

Indicates whether this SkeletalMeshComponent should have a physics engine representation of its state.

See: SetHasPhysicsAssetInstance

bPerBoneVolumeEffects[edit]

Type: bool

If true, when this skeletal mesh overlaps a physics volume, each body of it will be tested against the volume, so only limbs actually in the volume will be affected. Useful when gibbing bodies.

bSyncActorLocationToRootRigidBody[edit]

Type: bool

If true, will move the Actors Location to match the root rigid body location when in PHYS_RigidBody.

Default value: True

bUpdateJointsFromAnimation[edit]

Type: bool

If we should pass joint position to joints each frame, so that they can be used by motorized joints to drive the ragdoll based on the animation.

bUpdateKinematicBonesFromAnimation[edit]

Type: bool

If we are running physics, should we update bFixed bones based on the animation bone positions.

Default value: True

FaceFXBlendMode[edit]

Type: EFaceFXBlendMode

How FaceFX transforms should be blended with skeletal mesh

Default value: FXBM_Additive

ForcedLodModel[edit]

Type: int

if 0, auto-select LOD level. if >0, force to (ForcedLodModel-1)

GlobalAnimRateScale[edit]

Type: float

Used to scale speed of all animations on this skeletal mesh.

Default value: 1.0

MorphSets[edit]

Type: array<MorphTargetSet>

Array of MorphTargetSets that will be looked in to find a particular MorphTarget, specified by name. It is searched in the same way as the AnimSets array above.

ParentAnimComponent[edit]

Type: SkeletalMeshComponent

Modifiers: const

If set, this SkeletalMeshComponent will not use its Animations pointer to do its own animation blending, but will use the SpaceBases array in the ParentAnimComponent. This is used when constructing a character using multiple skeletal meshes sharing the same skeleton within the same Actor.

PhysicsAsset[edit]

Type: PhysicsAsset

Modifiers: const

Physics and collision information used for this SkeletalMesh, set up in PhAT. This is used for per-bone hit detection, accurate bounding box calculation and ragdoll physics for example.

PhysicsWeight[edit]

Type: float

Influence of rigid body physics on the mesh's pose (0.0 == use only animation, 1.0 == use only physics)

RootMotionMode[edit]

Type: ERootMotionMode


Default value: RMM_Ignore

RootMotionRotationMode[edit]

Type: ERootMotionRotationMode


SkeletalMesh[edit]

Type: SkeletalMesh

The skeletal mesh used by this component.

WireframeColor[edit]

Type: Object.Color


Default value:

Member Value
A 255
B 28
G 221
R 221

Internal variables[edit]

See SkeletalMeshComponent internal variables.

Default values[edit]

Property Value
TickGroup TG_PreAsyncWork

Enums[edit]

EFaceFXBlendMode[edit]

FXBM_Overwrite 
Face FX overwrites relevant bones on skeletal mesh.

Default.

FXBM_Additive 
Face FX transforms are relative to ref skeleton and added

in parent bone space.

EFaceFXRegOp[edit]

The valid FaceFX register operations.

FXRO_Add 
Add the register value with the Face Graph node value.
FXRO_Multiply 
Multiply the register value with the Face Graph node value.
FXRO_Replace 
Replace the Face Graph node value with the register value.

ERootMotionMode[edit]

RMM_Translate 
move actor with root motion
RMM_Velocity 
extract magnitude from root motion, and limit max Actor velocity with it.
RMM_Ignore 
do nothing
RMM_Accel 
extract velocity from root motion and use it to derive acceleration of the Actor

ERootMotionRotationMode[edit]

Root Motion Rotation mode

RMRM_Ignore 
Ignore rotation delta passed from animation.
RMRM_RotateActor 
Apply rotation delta to actor

Structs[edit]

ActiveMorph[edit]

Struct used to indicate one active morph target that should be applied to this SkeletalMesh when rendered.

MorphTarget Target 
The morph target that we want to apply.
float Weight 
Strength of the morph target, between 0.0 and 1.0

Attachment[edit]

ActorComponent Component 
name BoneName 
Object.Vector RelativeLocation 
Object.Rotator RelativeRotation 
Object.Vector RelativeScale 

Default values:

Property Value
RelativeScale
Member Value
X 1.0
Y 1.0
Z 1.0

Functions[edit]

Iterator functions[edit]

AllAnimNodes[edit]

native final iterator function AllAnimNodes (class<AnimNodeBaseClass, out AnimNode Node)

returns all AnimNodes in the animation tree that are the specfied class or a subclass

Parameters:

  • BaseClass - base class to return
  • Node - out) the returned AnimNode for each iteration

AttachedComponents[edit]

native final iterator function AttachedComponents (class<ActorComponentBaseClass, out ActorComponent OutComponent)

returns all attached components that are of the specified class or a subclass

Parameters:

  • BaseClass - the base class of ActorComponent to return
  • out - OutComponent the returned ActorComponent for each iteration

Native functions[edit]

See SkeletalMeshComponent native functions.

Other instance functions[edit]

GetAnimLength[edit]

final function float GetAnimLength (name AnimSeqName)

Returns the duration (in seconds) for a named AnimSequence. Returns 0.f if no animation.

GetAnimRateByDuration[edit]

final function float GetAnimRateByDuration (name AnimSeqName, float Duration)

Finds play Rate for a named AnimSequence to match a specified Duration in seconds.

Parameters:

  • AnimSeqName - Name of AnimSequence to look for.
  • Duration - in seconds to match

Returns:

play rate of animation, so it plays in <duration> seconds.

PlayAnim[edit]

function PlayAnim (name AnimName, optional float Duration, optional bool bLoop, optional bool bRestartIfAlreadyPlaying)

simple generic case animation player requires that the one and only animation node in the AnimTree is an AnimNodeSequence

Parameters:

  • AnimName - name of the animation to play
  • Duration - optional) override duration for the animation
  • bLoop - optional) whether the animation should loop
  • bRestartIfAlreadyPlaying - whether or not to restart the animation if the specified anim is already playing

StopAnim[edit]

function StopAnim ()

simple generic case animation stopper requires that the one and only animation node in the AnimTree is an AnimNodeSequence