Mostly Harmless

UE3:FracturedStaticMeshPart (UDK)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UDK Object >> Actor >> FracturedStaticMeshActor >> FracturedStaticMeshPart
Package: 
Engine


Properties

AsleepRBChannel

Type: PrimitiveComponent.ERBCollisionChannel

If bChangeRBChannelWhenAsleep is TRUE, RBChannel to switch to when asleep.

Default value: RBCC_GameplayPhysics

BaseFracturedMeshActor

Type: FracturedStaticMeshActor

Modifiers: transient

Base FracturedStaticMeshActor that this part was spawned off of.

bChangeRBChannelWhenAsleep

Type: bool

If TRUE, check when piece goes to sleep, and then change its RBChannel.

bCompositeThatExplodesOnImpact

Type: bool

Indicates that this part consists of more than 1 chunk - and should explode upon impact.

bHasBeenRecycled

Type: bool

Indicates whether this part has already been recycled and just needs to be initialized to be used again.

CurrentVibrationLevel

Type: float

If oldvel dot newvel < -DestroyVelChangeThresh, destroy piece.

DestroyPartRadiusFactor

Type: float

This part will be destroyed if it gets further than BaseFracturedMeshActor's radius * DestroyPartRadiusFactor from BaseFracturedMeshActor.

Default value: 10.0

FracPartGravScale

Type: float

Additional gravity scaling for fracture pieces

Default value: 2.0

LastImpactSoundTime

Type: float

Time since last physics impact sound

LastSpawnTime

Type: float

Last time that this pieces was spawned.

OldVelocity

Type: Object.Vector

Used to store preview frames velocity, to look for sudden velocity changes.

PartPoolIndex

Type: int

Used to know index within pool in FractureManager, so we replace it in the free pool.

RelativeScale

Type: float

Relative Scale of this part (apart from parent scale)*

Default values

Property Value
bBlockActors False
bMovable True
bNetInitialRotation True
bNoDelete False
bNoEncroachCheck True
bPathColliding False
bWorldGeometry False
Components[0] FracturedStaticMeshComponent'FracturedStaticMeshComponent0'
LifeSpan 15.0
Physics PHYS_RigidBody
TickGroup TG_PostAsyncWork

Subobjects

FracturedStaticMeshComponent0

Class: Engine.FracturedStaticMeshComponent

Inherits from: FracturedStaticMeshActor.FracturedStaticMeshComponent0

Property Value
bAcceptsDynamicDecals False
bCastDynamicShadow False
bForceDirectLightMap False
bInitialVisibilityValue False
BlockNonZeroExtent False
BlockZeroExtent False
bSkipRBGeomCreation True
bUseDynamicIBWithHiddenFragments False
bUseDynamicIndexBuffer False
bUsePrecomputedShadows False
bUseSkinnedRendering True
bUseVisibleVertsForBounds True
RBChannel RBCC_FracturedMeshPart
RBCollideWithChannels
Member Value
Default True
EffectPhysics True
FracturedMeshPart True
GameplayPhysics True
ReplacementPrimitive None

Functions

Native functions

Initialize

simulated native function Initialize ()

Revive part, set physics to PHYS_RigidBody, enabled collision etc

RecyclePart

simulated native function RecyclePart (bool bAddToFreePool)

Reset state of this part - clear mesh reference, put in PHYS_None, disable collision etc

Events

BreakOffPartsInRadius

simulated event BreakOffPartsInRadius (Object.Vector Origin, float Radius, float RBStrength, bool bWantPhysChunksAndParticles)

Overrides: FracturedStaticMeshActor.BreakOffPartsInRadius

For broken off pieces, we only want to spawn more parts if its a shatterable composite.

Explode

simulated event Explode ()

Overrides: FracturedStaticMeshActor.Explode

Break off all pieces in one go.

FellOutOfWorld

simulated event FellOutOfWorld (class<DamageTypedmgType)

Overrides: Actor.FellOutOfWorld

called when the actor falls out of the world 'safely' (below KillZ and such)

TakeDamage

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

Overrides: FracturedStaticMeshActor.TakeDamage

Used so weapons etc move parts.

Other instance functions

TryToCleanUp

simulated function TryToCleanUp ()

Try to clean up this part if its not seen. If it is seen, keep trying until it isn't.