G1R AngelScript
Scripting reference for the Gothic 1 Remake
Loading...
Searching...
No Matches
UParticleModuleCollision Class Reference

Public Member Functions

Functions
void SetbIgnoreTriggerVolumes (bool Value)
 Any trigger volumes that are hit will be ignored. NOTE: This can be turned off if the TrigerVolume physics object type is not in the CollisionTypes array. Turning this off is strongly recommended as having it on prevents the code from running off the game thread.
void SetbPawnsDoNotDecrementCount (bool Value)
 If true, then collisions with Pawns will still react, but the UsedMaxCollisions count will not be decremented. (ie., They don't 'count' as collisions) NOTE: Having this on prevents the code from running in parallel.
void SetbOnlyVerticalNormalsDecrementCount (bool Value)
 If true, then collisions that do not have a vertical hit normal will still react, but UsedMaxCollisions count will not be decremented. (ie., They don't 'count' as collisions) Useful for having particles come to rest on floors.
void SetbDropDetail (bool Value)
 If true, when the World->bDropDetail flag is set, the module will be ignored.
void SetbCollideOnlyIfVisible (bool Value)
 If true, Particle collision only if particle system is currently being rendered.
void SetbIgnoreSourceActor (bool Value)
 If true, then the source actor is ignored in collision checks. Defaults to true.
void SetbApplyPhysics (bool Value)
 If true, physic will be applied between a particle and the object it collides with. This is one-way - particle --> object. The particle does not have physics applied to it - it just generates an impulse applied to the object it collides with. NOTE: having this on prevents the code from running off the game thread.
Public Member Functions inherited from UParticleModule
void Setb3DDrawMode (bool Value)
 If true, the module should render its 3D visualization helper.
Public Member Functions inherited from UObject
bool MarkPackageDirty () const
void RemoveFromRoot ()
bool GetIsRooted () const
bool IsTransient () const
bool Modify (bool bAlwaysMarkDirty=true)
void SetTransactional (bool bTransactional)
bool IsSupportedForNetworking () const
UClass GetClass () const
UObject GetOuter () const
UObject GetTypedOuter (TSubclassOf< UObject > Target) const
 Traverses the outer chain searching for the next object of a certain type.
UPackage GetOutermost () const
UPackage GetPackage () const
void AddToRoot ()
UWorld GetWorld () const
FName GetName () const
FString GetFullName (const UObject StopOuter=nullptr) const
FString GetPathName (const UObject StopOuter=nullptr) const
bool IsA (const UClass Class) const
 Returns true if this object is of the specified type, or a child of that type.
void SaveConfig ()
void LoadConfig ()
void ReloadConfig ()
void CopyScriptPropertiesFrom (const UObject OtherObject)
void opCast (?&Address) const
FString ToString () const

Static Public Member Functions

Static Functions
static UClass StaticClass ()
Static Public Member Functions inherited from UParticleModuleCollisionBase
static UClass StaticClass ()
Static Public Member Functions inherited from UParticleModule
static UClass StaticClass ()
Static Public Member Functions inherited from UObject
static UClass StaticClass ()

Public Attributes

Collision
FRawDistributionFloat ParticleMass
 The mass of the particle - for use when bApplyPhysics is true. Value is obtained using the EmitterTime at particle spawn.
FRawDistributionFloat MaxCollisions
 How much to `slow' the rotation of the particle after a collision. Value is obtained using the EmitterTime at particle spawn. */ FRawDistributionVector DampingFactorRotation;.
EParticleCollisionComplete CollisionCompletionOption
 What to do once a particles MaxCollisions is reached. One of the following: EPCC_Kill Kill the particle when MaxCollisions is reached EPCC_Freeze Freeze in place, NO MORE UPDATES EPCC_HaltCollisions, Stop collision checks, keep updating everything EPCC_FreezeTranslation, Stop translations, keep updating everything else EPCC_FreezeRotation, Stop rotations, keep updating everything else EPCC_FreezeMovement Stop all movement, keep updating.
TArray< EObjectTypeQuery > CollisionTypes
 Which ObjectTypes to collide with.
float32 DirScalar
 How much to `slow' the velocity of the particle after a collision. Value is obtained using the EmitterTime at particle spawn. */ FRawDistributionVector DampingFactor;.
float32 VerticalFudgeFactor
 The fudge factor to use to determine vertical. True vertical will have a Hit.Normal.Z == 1.0 This will allow for Z components in the range of [1.0-VerticalFudgeFactor..1.0] to count as vertical collisions.
FRawDistributionFloat DelayAmount
 How long to delay before checking a particle for collisions. Value is retrieved using the EmitterTime. During update, the particle flag IgnoreCollisions will be set until the particle RelativeTime has surpassed the DelayAmount.
Performance
float32 MaxCollisionDistance
 Max distance at which particle collision will occur.
Public Attributes inherited from UParticleModule
FColor ModuleEditorColor
 The color to draw the modules curves in the curve editor. If bCurvesAsColor is true, it overrides this value.
Public Attributes inherited from UObject
const UClass Class
const UObject Outer
const UPackage Outermost
const UPackage Package
const UWorld World
const FName Name
const bool IsRooted

Member Function Documentation

◆ SetbApplyPhysics()

void SetbApplyPhysics ( bool Value)

If true, physic will be applied between a particle and the object it collides with. This is one-way - particle --> object. The particle does not have physics applied to it - it just generates an impulse applied to the object it collides with. NOTE: having this on prevents the code from running off the game thread.

◆ SetbCollideOnlyIfVisible()

void SetbCollideOnlyIfVisible ( bool Value)

If true, Particle collision only if particle system is currently being rendered.

◆ SetbDropDetail()

void SetbDropDetail ( bool Value)

If true, when the World->bDropDetail flag is set, the module will be ignored.

◆ SetbIgnoreSourceActor()

void SetbIgnoreSourceActor ( bool Value)

If true, then the source actor is ignored in collision checks. Defaults to true.

◆ SetbIgnoreTriggerVolumes()

void SetbIgnoreTriggerVolumes ( bool Value)

Any trigger volumes that are hit will be ignored. NOTE: This can be turned off if the TrigerVolume physics object type is not in the CollisionTypes array. Turning this off is strongly recommended as having it on prevents the code from running off the game thread.

◆ SetbOnlyVerticalNormalsDecrementCount()

void SetbOnlyVerticalNormalsDecrementCount ( bool Value)

If true, then collisions that do not have a vertical hit normal will still react, but UsedMaxCollisions count will not be decremented. (ie., They don't 'count' as collisions) Useful for having particles come to rest on floors.

◆ SetbPawnsDoNotDecrementCount()

void SetbPawnsDoNotDecrementCount ( bool Value)

If true, then collisions with Pawns will still react, but the UsedMaxCollisions count will not be decremented. (ie., They don't 'count' as collisions) NOTE: Having this on prevents the code from running in parallel.

◆ StaticClass()

UClass StaticClass ( )
static

Member Data Documentation

◆ CollisionCompletionOption

EParticleCollisionComplete CollisionCompletionOption

What to do once a particles MaxCollisions is reached. One of the following: EPCC_Kill Kill the particle when MaxCollisions is reached EPCC_Freeze Freeze in place, NO MORE UPDATES EPCC_HaltCollisions, Stop collision checks, keep updating everything EPCC_FreezeTranslation, Stop translations, keep updating everything else EPCC_FreezeRotation, Stop rotations, keep updating everything else EPCC_FreezeMovement Stop all movement, keep updating.

◆ CollisionTypes

TArray<EObjectTypeQuery> CollisionTypes

Which ObjectTypes to collide with.

◆ DelayAmount

FRawDistributionFloat DelayAmount

How long to delay before checking a particle for collisions. Value is retrieved using the EmitterTime. During update, the particle flag IgnoreCollisions will be set until the particle RelativeTime has surpassed the DelayAmount.

◆ DirScalar

float32 DirScalar

How much to `slow' the velocity of the particle after a collision. Value is obtained using the EmitterTime at particle spawn. */ FRawDistributionVector DampingFactor;.

/*! The directional scalar value - used to scale the bounds to 'assist' in avoiding inter-penetration or large gaps.

◆ MaxCollisionDistance

float32 MaxCollisionDistance

Max distance at which particle collision will occur.

◆ MaxCollisions

FRawDistributionFloat MaxCollisions

How much to `slow' the rotation of the particle after a collision. Value is obtained using the EmitterTime at particle spawn. */ FRawDistributionVector DampingFactorRotation;.

/*! The maximum number of collisions a particle can have. Value is obtained using the EmitterTime at particle spawn.

◆ ParticleMass

FRawDistributionFloat ParticleMass

The mass of the particle - for use when bApplyPhysics is true. Value is obtained using the EmitterTime at particle spawn.

◆ VerticalFudgeFactor

float32 VerticalFudgeFactor

The fudge factor to use to determine vertical. True vertical will have a Hit.Normal.Z == 1.0 This will allow for Z components in the range of [1.0-VerticalFudgeFactor..1.0] to count as vertical collisions.