BPSC_LPSP_Explosion

Introduction

The Explosion Component (BPSC_LPSP_Explosion) is a critical actor component that is responsible for all damage-dealing functionality in the asset. It is an essential tool for creating realistic explosions that can cause damage to actors within a certain radius. This component can apply both radial and point damage of any kind, making it an incredibly versatile tool for game designers. Moreover, it applies impulses to damaged actors, which can create a more realistic experience for players. Additionally, the Explosion Component can shake nearby cameras, adding an extra layer of immersion to the game. In summary, the Explosion Component is an indispensable part of any game development project that requires explosions or damage-dealing functionality.

If you seek to access the BPSC_LPSP_Explosion, it is conveniently located at the following path: InfimaGames/LowPolyShooterPack/Core/Health/BPSC_LPSP_Explosion.

Editable Variables

Radius:

This refers to the minimum and maximum possible radius of the explosion.

Impulse:

Is it appropriate for this component to apply impulses to other components?

Impulse Method:

This value determines the type of impulse applied by this component.

Impulse Falloff:

This value determines the type of falloff that the applied impulse has.

Impulse Force:

This value determines the minimum and maximum possible impulses applied when exploding.

Impulse Object Types:

Which objects are affected by this explosion?

Use Impulse Prevention:

Should we try to prevent radial impulse from passing through objects?

Impulse Prevention Channel:

This value determines the trace channel that can block impulses. It is used to make sure that walls and other obstacles can block explosions from going through them.

Damage:

Should this component be allowed to apply damage to other actors?

Damage Method:

This value indicates the type of damage that will be applied by this particular explosion component.

Damage Amount:

This value determines the minimum and maximum possible damage applied when exploding.

Damage Object Types:

Which objects are affected by this explosion?

Use Damage Prevention:

Should we try to prevent damage from passing through objects?

Damage Prevention Channel:

This value determines the trace channel that can block damage. It is used to make sure that walls and other obstacles can block explosions from going through them.

Shake:

Should this component be allowed to start camera shakes?

Shakes:

This array represents all the possible camera shakes that can be played when this component is triggered.

Shake Falloff:

Affects the falloff of the shake as it nears the outer radius.

Shake Inner Radius:

Cameras inside this radius are ignored.

Shake Outer Radius:

Cameras outside of the inner radius and inside this are effected.

Debug Radial Impulse Prevention:

Should we debug the traces to detect actors blocking this component from applying radial impulses to certain other actors? This component must apply radial impulses for this value to have any effect.

Debug Radial Damage Prevention:

Should we debug the traces to detect any actors blocking this component from applying an impulse to another actor? For this component's value to have any effect, it needs to apply radial impulses.

Private Variables

Radius Value:

The final value used as a radius is calculated during BeginPlay, based on the Radius property.

Functions

Apply Point Impulse:

This method applies an impulse in the form of point damage. It is important to note that these two concepts are different.

Apply Radial Impulse:

This method applies an impulse in the form of radial damage. It is important to note that these two concepts are different.

Get Impulse:

This function returns a random value for an impulse.

Can Hit Actor:

This function determines whether we can hit a specific actor with the explosion component.

Apply Point Damage:

This method applies point damage directly to the hit result passed as an argument.

Apply Radial Damage:

This method applies radial damage directly to the hit result passed as an argument.

Start Shake:

Plays a random camera shake for the explosion.

Draw Debug Radius:

Helps us with drawing some debugging shapes.

Try Apply Impulse:

Tries to apply an impulse to the passed hit result. This can fail depending on different conditions.

Try Apply Damage:

Tries to apply damage to the passed hit result. This can fail depending on different conditions.

Get Radius Value:

Returns the value of Radius Value.

Get Damage:

This function returns a random damage value within a specific range of damage amounts.


Last updated

Was this helpful?