The three virtues of a programmer: Laziness, Impatience, and Hubris. – Larry Wall

UE3:PhysXDestructibleActor (UDK)

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

null

Properties[edit]

Property group 'Destructible'[edit]

bSupportChunksInSupportFragment[edit]

Type: bool

Modifiers: const

If this is checked, then only chunks that are children of a FracturedStaticMesh support fragment are considered for support.

bSupportChunksTouchWorld[edit]

Type: bool

Modifiers: const

If this is checked, then only chunks that touch the world are considered for support.

Default value: True

DestructibleParameters[edit]

Type: PhysXDestructible.PhysXDestructibleParameters

Modifiers: editinline

Destructible parameters - damage thresholds, crumble particle systems, etc.

Default value:

Member Value
bAccumulateDamage True
CrumbleParticleSize 10.0
DamageThreshold 5.0
DamageToRadius 0.1

PerFrameProcessBudget[edit]

Type: int

Modifiers: const

Per frame Chunk graph update processing budget, in leaf chunks's quantity

Default value: 100

SupportDepth[edit]

Type: int

Modifiers: const


Internal variables[edit]

bPlayFractureSound[edit]

Type: bool

Modifiers: transient, native

Fracture sound effect flag

DestructibleComponent[edit]

Type: PhysXDestructibleComponent

Contains aggregate collision info for all of the fragments

EffectBases[edit]

Type: array<SpawnBasis>

Modifiers: transient, native

Fracture effect data - one for each fragment

LightEnvironment[edit]

Type: LightEnvironmentComponent

In case the destructible becomes dynamic

LinearSize[edit]

Type: float

Modifiers: transient, native

Stored off linear size

Neighbors[edit]

Type: array<int>

Array of neighbors in the destructible structure

NumPartsRemaining[edit]

Type: byte

Number of potentially active parts remaining

PartFirstChunkIndices[edit]

Type: array<int>

Where the parts may find their chunks within the Structure. Appended element [#Fragments] = "stop" value

Parts[edit]

Type: array<PhysXDestructiblePart>

Array of spawned parts (starts off a full array of NULL pointers)

PhysXDestructible[edit]

Type: PhysXDestructible

The FracturedStaticMesh and SkeletalMeshes which form the hierarchical decomposition

Structure[edit]

Type: PhysXDestructibleStructure


VolumeFill[edit]

Type: pointer{struct FRBVolumeFill}

Modifiers: transient, native

Fluid crumbling data

Default values[edit]

Property Value
bNoEncroachCheck True
bWorldGeometry False

Subobjects[edit]

FracturedSkinnedComponent0[edit]

Class: Engine.FracturedSkinnedMeshComponent

Inherits from: FracturedStaticMeshActor.FracturedSkinnedComponent0

Property Value
ReplacementPrimitive None

FracturedStaticMeshComponent0[edit]

Class: Engine.FracturedStaticMeshComponent

Inherits from: FracturedStaticMeshActor.FracturedStaticMeshComponent0

Property Value
bUsePrecomputedShadows False
ReplacementPrimitive None

LightEnvironment0[edit]

Class: Engine.DynamicLightEnvironmentComponent

Inherits from: FracturedStaticMeshActor.LightEnvironment0

No new values.

Structs[edit]

SpawnBasis[edit]

Modifiers: native

Object.Vector Location 
Object.Rotator Rotation 
float Scale 

Functions[edit]

Native functions[edit]

Init[edit]

native function Init ()


NativeSpawnEffects[edit]

native function NativeSpawnEffects ()

Native code for SpawnEffects

NativeTakeDamage[edit]

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

Native code for TakeDamage.

TakeRadiusDamage[edit]

simulated native function TakeRadiusDamage (Controller InstigatedBy, float BaseDamage, float DamageRadius, class<DamageTypeDamageType, float Momentum, Object.Vector HurtOrigin, bool bFullDamage, Actor DamageCauser, optional float DamageFalloffExponent)

Overrides: Actor.TakeRadiusDamage

(Description copied from Actor.TakeRadiusDamage)
Take Radius Damage by default scales damage based on distance from HurtOrigin to Actor's location. This can be overridden by the actor receiving the damage for special conditions (see KAsset.uc). This then calls TakeDamage() to go through the same damage pipeline.

Parameters:

  • InstigatedBy - instigator of the damage
  • BaseDamage -
  • DamageRadius - from Origin)
  • DamageType - class
  • Momentum - float)
  • HurtOrigin - origin of the damage radius.
  • bFullDamage - if true, damage not scaled based on distance HurtOrigin
  • DamageCauser - the Actor that directly caused the damage (i.e. the Projectile that exploded, the Weapon that fired, etc)
  • DamageFalloff - allows for nonlinear damage falloff from the point. Default is linera.

Returns:

Returns amount of damage applied.

Term[edit]

native function Term ()


Events[edit]

Destroyed[edit]

event Destroyed ()

Overrides: Actor.Destroyed


Explode[edit]

simulated event Explode ()

Overrides: FracturedStaticMeshActor.Explode

Break off all pieces in one go.

PostBeginPlay[edit]

simulated event PostBeginPlay ()

Overrides: FracturedStaticMeshActor.PostBeginPlay


SpawnEffects[edit]

simulated event SpawnEffects ()


TakeDamage[edit]

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

TakeDamage will hide/spawn chunks when they get shot.