My program doesn't have bugs. It just develops random features.

UE3:GameExplosionActor (UDK)

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


Properties[edit]

bActiveReloadBonusActive[edit]

Type: bool

Whether or not this Explosion is from something that has an ActiveReload bonus that is active *

bDrawDebug[edit]

Type: bool

Toggles debug explosion rendering.

bHasExploded[edit]

Type: bool

Modifiers: protected, transient

True if explosion has occurred.

DirectionalExplosionMinDot[edit]

Type: float

Modifiers: transient

Minimum dot product for explosion to be able to affect a point. Used as an optimization for directional explosions.

ExplosionDirection[edit]

Type: Object.Vector

Modifiers: transient

Forward dir for directional explosions.

ExplosionLight[edit]

Type: PointLightComponent

Modifiers: protected, transient

The actual light used for the explosion.

ExplosionRadialBlur[edit]

Type: RadialBlurComponent

Modifiers: protected, transient

Temp data for radial blur fading.

ExplosionTemplate[edit]

Type: GameExplosion

Temp reference to the explosion template, used for delayed damage

HitActorFromPhysMaterialTrace[edit]

Type: Actor

This the saved off hit actor and location from the GetPhysicalMaterial trace so we can see if it is a FluidSurfaceActor and then apply some forces to it *

HitLocationFromPhysMaterialTrace[edit]

Type: Object.Vector


InstigatorController[edit]

Type: Controller

player responsible for damage

LightFadeTime[edit]

Type: float

Modifiers: protected, transient

Temp data for light fading.

LightFadeTimeRemaining[edit]

Type: float

Modifiers: protected, transient


LightInitialBrightness[edit]

Type: float

Modifiers: protected, transient


RadialBlurFadeTime[edit]

Type: float

Modifiers: protected, transient


RadialBlurFadeTimeRemaining[edit]

Type: float

Modifiers: protected, transient


RadialBlurMaxBlurAmount[edit]

Type: float

Modifiers: protected, transient


RadialImpulseComponent[edit]

Type: RB_RadialImpulseComponent

Modifiers: protected

Used to push physics when explosion goes off.

Default value: RB_RadialImpulseComponent'ImpulseComponent0'

Default values[edit]

Property Value
CollisionType COLLIDE_CustomDefault
Components[0] RB_RadialImpulseComponent'ImpulseComponent0'

Subobjects[edit]

ImpulseComponent0[edit]

Class: Engine.RB_RadialImpulseComponent

Property Value
ReplacementPrimitive None

Functions[edit]

Events[edit]

Explode[edit]

simulated event Explode (GameExplosion NewExplosionTemplate, optional Object.Vector Direction)

Parameters:

  • Direction - For bDirectionalExplosion=true explosions, this is the forward direction of the blast.

Todo: break this up into the same methods that NanoWeapon uses (SpawnImpactEffects, SpawnImpactSounds, SpawnImpactDecal) as they are all orthogonal and so indiv subclasses can choose to have base functionality or override

PreBeginPlay[edit]

event PreBeginPlay ()

Overrides: Actor.PreBeginPlay


Tick[edit]

simulated event Tick (float DeltaTime)

Overrides: Actor.Tick


Other instance functions[edit]

ChooseCameraShake[edit]

protected function CameraShake ChooseCameraShake (Object.Vector Epicenter, PlayerController PC)

Internal. When using directional camera shakes, used to determine which anim to use.

Todo: nativise for speed?

CringePawn[edit]

protected function CringePawn (GamePawn Victim, float DistFromExplosion)

Internal. Makes pawns cringe down from the explosion.

DoBreakFracturedMeshes[edit]

protected simulated function DoBreakFracturedMeshes (Object.Vector ExploOrigin, float DamageRadius, float RBStrength, class<DamageTypeDmgType)

Look for FSMAs in radius and break parts off.

DoCringesAndKnockdowns[edit]

protected function DoCringesAndKnockdowns ()

Internal. Handle making pawns cringe or fall down from nearby explosions. Server only.

DoExplosionCameraEffects[edit]

simulated function DoExplosionCameraEffects ()


DoExplosionDamage[edit]

simulated function DoExplosionDamage ()


DoFullDamageToActor[edit]

simulated function bool DoFullDamageToActor (Actor Victim)


DrawDebug[edit]

simulated function DrawDebug ()


GetPhysicalMaterial[edit]

simulated protected function PhysicalMaterial GetPhysicalMaterial ()

Internal. Tries to find a physical material for the surface the explosion occurred upon.

Note: It sucks doing an extra trace here. We could conceivably pass the physical material info around by changing the lower level physics code (e.g. processHitWall), but that's a big engine-level change.

HurtExplosion[edit]

protected simulated function HurtExplosion (float BaseDamage, float DamageRadius, float DamageFalloffExp, class<DamageTypeDamageType, float MomentumScale, Object.Vector ExploOrigin, Actor IgnoredActor, class<ActorActorClassToIgnoreForDamage, Controller InstigatedByController, bool bDoFullDamage)

Does damage modeling and application for explosions

IsBehindExplosion[edit]

simulated protected function bool IsBehindExplosion (Actor A)


KnockdownPawn[edit]

protected function KnockdownPawn (GamePawn Victim, float DistFromExplosion)

Internal. Knocks given pawn down from the explosion.

ShouldDoCringeFor[edit]

protected function bool ShouldDoCringeFor (GamePawn Victim)

Return if this particular actor should do a cringe/knockdown

SpawnExplosionDecal[edit]

simulated function SpawnExplosionDecal ()


SpawnExplosionFogVolume[edit]

simulated function SpawnExplosionFogVolume ()


SpawnExplosionParticleSystem[edit]

simulated function SpawnExplosionParticleSystem (ParticleSystem Template)


UpdateExplosionTemplateWithPerMaterialFX[edit]

simulated protected function UpdateExplosionTemplateWithPerMaterialFX (PhysicalMaterial PhysMaterial)

Internal. Extract what data we can from the physical material-based effects system and stuff it into the ExplosionTemplate. Data in the physical material will take precedence.

We are also going to be checking for relevance here as when any of these params are "none" / invalid we do not play those effects in Explode(). So this way we avoid any work on looking things up in the physmaterial