UE3:UTWalkerBody (UT3)

From Unreal Wiki, The Unreal Engine Documentation Site
UT3 Object >> Actor >> UTWalkerBody
Package:
UTGame
Direct subclasses:
UTWalkerBody_DarkWalker, UTWalkerBody_Scavenger

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

Constants

NUM_WALKER_LEGS

Value: 3


Properties

Property group 'UTWalkerBody'

CustomGravityScale

Type: float


FootConstraints

Type: UTWalkerStepHandle

Array size: 3 (NUM_WALKER_LEGS)

Handles used to move the walker feet around.

Default value, index 0: UTWalkerStepHandle'RB_FootHandle0'

Default value, index 1: UTWalkerStepHandle'RB_FootHandle1'

Default value, index 2: UTWalkerStepHandle'RB_FootHandle2'

FootEmbedDistance

Type: float

Modifiers: protected, const

How far foot should embed into ground.

Default value: 8.0

FootPosVelAdjScale

Type: float

Array size: 3 (EWalkerLegID.EnumCount)

Modifiers: const

Scalar to control how much velocity to add to the desired foot positions. Indexed by LegID. This effectively controls how far ahead of the walker the legs will try to reach while the walker is moving.

Default value, index 0: 1.2

Default value, index 1: 0.6

Default value, index 2: 0.6

FootStepEndLift

Type: float

Modifiers: protected, const

How far above the desired foot position to end the foot step interpolation

Default value: 128.0

FootStepStartLift

Type: float

Modifiers: protected, const

How far above the current foot position to begin interpolating towards.

Default value: 512.0

IgnoreFoot

Type: byte

Array size: 3 (NUM_WALKER_LEGS)

If TRUE for corresponding foot, walking/stepping code will ignore that leg

LandedFootDistSq

Type: float


Default value: 400.0

LegSpreadFactor

Type: float

Factor in range [0..1]. 0 means no leg spread, 1 means legs are spread as far as possible.

MaxLegReach

Type: float

Max leg extension

Default value: 450.0

MinStepDist

Type: float

Min dist trigger to make foot a possible candidate for next step

Default value: 20.0

SkeletalMeshComponent

Type: SkeletalMeshComponent

Modifiers: editconst

Skel mesh for the legs.

Default value: SkeletalMeshComponent'LegMeshComponent'

StepStageTimes

Type: array<float>

Modifiers: const

Time, in seconds, that each step stage lasts.

Default value, index 0: 0.7

Default value, index 1: 0.135

Default value, index 2: 1.0

Internal variables

BaseLegDirLocal

Type: Object.Vector

Array size: 3 (EWalkerLegID.EnumCount)

Modifiers: protected, const

Base directions from the walker center for the legs to point, in walker-local space. Indexed by LegID.

Default value, index 0:

Member Value
X -1.0
Y 0.0
Z 0.0

Default value, index 1:

Member Value
X 0.5
Y -0.866025
Z 0.0

Default value, index 2:

Member Value
X 0.5
Y 0.866025
Z 0.0

bHasCrouchMode

Type: bool

Modifiers: protected, const


bIsDead

Type: bool


BodyBoneName

Type: name

Modifiers: const


Default value: 'Root'

CurrentFootPosition

Type: Object.Vector

Array size: 3 (NUM_WALKER_LEGS)

Where the feet are right now

FootBoneName

Type: name

Array size: 3 (NUM_WALKER_LEGS)

Modifiers: const

Bone names for this walker

Default value, index 0: 'Leg1_End'

Default value, index 1: 'Leg2_End'

Default value, index 2: 'Leg3_End'

FootInWater

Type: byte

Array size: 3 (NUM_WALKER_LEGS)

used to play water effects when feet enter/exit water

FootStepAnimNode

Type: AnimNode

Array size: 3 (NUM_WALKER_LEGS)

Modifiers: protected

Refs to AnimNodes used for playing step animations

FootStepAnimNodeName

Type: name

Array size: 3 (NUM_WALKER_LEGS)

Modifiers: protected, const

Names of the anim nodes for playing the step anim for a leg. Used to fill in FootStepAnimNode array.

FootStepEffects

Type: array<UTPhysicalMaterialProperty.MaterialImpactEffect>


FootStepParticles

Type: ParticleSystemComponent

Array size: 3 (NUM_WALKER_LEGS)


FootWaterEffect

Type: ParticleSystem


LegLightEnvironment

Type: DynamicLightEnvironmentComponent

The walker legs's light environment

Default value: DynamicLightEnvironmentComponent'LegLightEnvironmentComp'

LegMapping

Type: int

Array size: 3 (EWalkerLegID.EnumCount)

Modifiers: transient

Store indices into the legs array, used to map from rear/left/right leg designations to the model's leg indices. Indexed by LegID.

MaxFootStepEffectDist

Type: float


Default value: 5000.0

NextStepStageTime

Type: float

Array size: 3 (NUM_WALKER_LEGS)

world time to advance to the next phase of the step - experimental walker leg code

PreviousTraceSeedLocation

Type: Object.Vector

Array size: 3 (NUM_WALKER_LEGS)

Modifiers: protected

keeps track of previous leg locations

ShoulderBoneName

Type: name

Array size: 3 (NUM_WALKER_LEGS)

Modifiers: const


Default value, index 0: 'Leg1_Shoulder'

Default value, index 1: 'Leg2_Shoulder'

Default value, index 2: 'Leg3_Shoulder'

ShoulderSkelControl

Type: SkelControlLookAt

Array size: 3 (NUM_WALKER_LEGS)

Modifiers: protected, transient

Refs to shoulder lookat skelcontrols for each leg

ShoulderSkelControlName

Type: name

Array size: 3 (NUM_WALKER_LEGS)

Modifiers: protected, const

Names for the shoulder skelcontrol nodes for each leg (from the animtree)

Default value, index 0: 'Shoulder1'

Default value, index 1: 'Shoulder2'

Default value, index 2: 'Shoulder3'

StepAnimData

Type: WalkerLegStepAnimData

Array size: 3 (EWalkerLegID.EnumCount)

Modifiers: protected

Indexed by LegID.

StepStage

Type: int

Array size: 3 (NUM_WALKER_LEGS)

Modifiers: protected

which stage the step is in for each leg - experimental walker leg code

WalkerVehicle

Type: UTVehicle_Walker

Modifiers: transient

Ref to the walker vehicle that we are attached to.

Default values

Property Value
bCollideActors True
bEdShouldSnap True
bIgnoreEncroachers True
bNoEncroachCheck True
bProjTarget True
CollisionComponent SkeletalMeshComponent'LegMeshComponent'
CollisionType COLLIDE_CustomDefault
Components[0] DynamicLightEnvironmentComponent'LegLightEnvironmentComp'
Components[1] SkeletalMeshComponent'LegMeshComponent'
Components[2] UTWalkerStepHandle'RB_FootHandle0'
Components[3] UTWalkerStepHandle'RB_FootHandle1'
Components[4] UTWalkerStepHandle'RB_FootHandle2'
Physics PHYS_RigidBody
TickGroup TG_PostAsyncWork

Subobjects

LegLightEnvironmentComp

Class: Engine.DynamicLightEnvironmentComponent

Property Value
AmbientGlow
Member Value
A 1.0
B 0.2
G 0.2
R 0.2

LegMeshComponent

Class: Engine.SkeletalMeshComponent

Property Value
bHasPhysicsAssetInstance True
bIgnoreControllersWhenNotRendered True
BlockNonZeroExtent True
BlockZeroExtent True
bUseAsOccluder False
CollideActors True
LightEnvironment DynamicLightEnvironmentComponent'UTGame.Default__UTWalkerBody:LegLightEnvironmentComp'
PhysicsWeight 1.0
RBChannel RBCC_Nothing
RBCollideWithChannels
Member Value
Default True
EffectPhysics True
GameplayPhysics True

RB_FootHandle0

Class: UTGame.UTWalkerStepHandle

Property Value
LinearDamping 50.0
LinearStiffness 10000.0

RB_FootHandle1

Class: UTGame.UTWalkerStepHandle

Property Value
LinearDamping 50.0
LinearStiffness 10000.0

RB_FootHandle2

Class: UTGame.UTWalkerStepHandle

Property Value
LinearDamping 50.0
LinearStiffness 10000.0

Enums

EWalkerLegID

WalkerLeg_Rear
WalkerLeg_FrontLeft
WalkerLeg_FrontRight

Structs

WalkerLegStepAnimData

Modifiers: native

Object.Vector DesiredFootPosition
Where foot wants to be.
Object.Vector DesiredFootPosNormal
Normal of the surface at the desired foot position.
PhysicalMaterial DesiredFootPosPhysMaterial
Physical material at the DesiredFootPosition
bool bNoValidFootHold
True if we don't have a valid desired foot position for this leg.

Functions

Native functions

DoTestStep

native function DoTestStep (int LegIdx, float Mag)


InitFeet

native function InitFeet ()

Called once to set up legs.

InitFeetOnLanding

native function InitFeetOnLanding ()

Called on landing to reestablish a foothold

Events

PlayFootStep

event PlayFootStep (int LegIdx)


PostBeginPlay

event PostBeginPlay ()

Overrides: Actor.PostBeginPlay


SpawnFootWaterEffect

event SpawnFootWaterEffect (int LegIdx)


TakeDamage

event TakeDamage (int Damage, Controller EventInstigator, Object.Vector HitLocation, Object.Vector Momentum, class<DamageTypeDamageType, optional Actor.TraceHitInfo HitInfo, optional Actor DamageCauser)

Overrides: Actor.TakeDamage

Default behavior when shot is to apply an impulse and kick the KActor.

Other instance functions

AddVelocity

function AddVelocity (Object.Vector NewVelocity, Object.Vector HitLocation, class<DamageTypeDamageType, optional Actor.TraceHitInfo HitInfo)


PlayDying

function PlayDying ()


ReattachMesh

simulated function ReattachMesh ()

reattaches the mesh component, because settings were updated

SetBurnOut

simulated function SetBurnOut ()

NOTE: this is actually what changes the colors on the PowerOrb on the legs of the Walker *

SetWalkerVehicle

function SetWalkerVehicle (UTVehicle_Walker V)


StopsProjectile

simulated function bool StopsProjectile (Projectile P)

Overrides: Actor.StopsProjectile


TeamChanged

simulated function TeamChanged ()

NOTE: this is actually what changes the colors on the PowerOrb on the legs of the Walker *

UpdateShadowSettings

simulated function UpdateShadowSettings (bool bWantShadow)


States

DyingVehicle

DyingVehicle.TakeDamage

event TakeDamage (int Damage, Controller EventInstigator, Object.Vector HitLocation, Object.Vector Momentum, class<DamageTypeDamageType, optional Actor.TraceHitInfo HitInfo, optional Actor DamageCauser)

Overrides: TakeDamage (global)

Default behavior when shot is to apply an impulse and kick the KActor.