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

Public Member Functions

Functions
void SetbUseVelocityForMotionBlur (bool Value)
 When supported by the vertex factory will use particle velocity for motion blur approximation. This will be inaccurate in some cases, i.e. sprite rotation, but may provide a reasonable result vs having this disabled.
void SetbKillOnDeactivate (bool Value)
 If true, kill the emitter when the particle system is deactivated.
void SetbKillOnCompleted (bool Value)
 If true, kill the emitter when it completes.
void SetbUseLegacyEmitterTime (bool Value)
 If true, the EmitterTime for the emitter will be calculated by modulating the SecondsSinceCreation by the EmitterDuration. As this can lead to issues w/ looping and variable duration, a new approach has been implemented. If false, this new approach is utilized, and the EmitterTime is simply incremented by DeltaTime each tick. When the emitter loops, it adjusts the EmitterTime by the current EmitterDuration resulting in proper looping/delay behavior.
void SetbRemoveHMDRoll (bool Value)
 If true, removes the HMD view roll (e.g. in VR).
void SetbSupportLargeWorldCoordinates (bool Value)
 If true, gpu simulation positions are offset to support double precision vectors. Cpu sims always support large world coordinates.
void SetbEmitterDurationUseRange (bool Value)
 If true, select the emitter duration from the range [EmitterDurationLow..EmitterDuration].
void SetbOverrideUseVelocityForMotionBlur (bool Value)
void SetbUseLocalSpace (bool Value)
 If true, update the emitter in local space.
void SetbDelayFirstLoopOnly (bool Value)
 If true, the emitter will be delayed only on the first loop.
void SetbScaleUV (bool Value)
 Whether to scale the UV or not - ie, the model wasn't setup with sub uvs.
void SetbEmitterDelayUseRange (bool Value)
 If true, select the emitter delay from the range [EmitterDelayLow..EmitterDelay].
void SetbOverrideSystemMacroUV (bool Value)
 Override the system MacroUV settings.
void SetbUseMaxDrawCount (bool Value)
 If true, use the MaxDrawCount to limit the number of particles rendered. NOTE: This does not limit the number spawned/updated, only what is drawn.
void SetbOrbitModuleAffectsVelocityAlignment (bool Value)
 Ensures that movement generated from the orbit module is applied to velocity-aligned particles.
void SetbDurationRecalcEachLoop (bool Value)
 If true, recalculate the emitter duration on each loop.
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 UParticleModule
static UClass StaticClass ()
Static Public Member Functions inherited from UObject
static UClass StaticClass ()

Public Attributes

Delay
float32 EmitterDelayLow
 The low end of the emitter delay if using a range.
float32 EmitterDelay
 Indicates the time (in seconds) that this emitter should be delayed in the particle system.
Duration
float32 EmitterDuration
 How long, in seconds, the emitter will run before looping.
float32 EmitterDurationLow
 The low end of the emitter duration if using a range.
int EmitterLoops
 The number of times to loop the emitter. 0 indicates loop continuously.
Emitter
EParticleSortMode SortMode
 The sorting mode to use for this emitter. PSORTMODE_None - No sorting required. PSORTMODE_ViewProjDepth - Sort by view projected depth of the particle. PSORTMODE_DistanceToView - Sort by distance of particle to view in world space. PSORTMODE_Age_OldestFirst - Sort by age, oldest drawn first. PSORTMODE_Age_NewestFirst - Sort by age, newest drawn first.
UMaterialInterface Material
 The material to utilize for the emitter at this LOD level.
FVector EmitterOrigin
float32 MinFacingCameraBlendDistance
 The distance at which PSA_FacingCameraDistanceBlend is fully PSA_Square.
EParticleScreenAlignment ScreenAlignment
 The screen alignment to utilize for the emitter at this LOD level. One of the following: PSA_FacingCameraPosition - Faces the camera position, but is not dependent on the camera rotation. This method produces more stable particles under camera rotation. PSA_Square - Uniform scale (via SizeX) facing the camera PSA_Rectangle - Non-uniform scale (via SizeX and SizeY) facing the camera PSA_Velocity - Orient the particle towards both the camera and the direction the particle is moving. Non-uniform scaling is allowed. PSA_TypeSpecific - Use the alignment method indicated in the type data module. PSA_FacingCameraDistanceBlend - Blends between PSA_FacingCameraPosition and PSA_Square over specified distance.
FRotator EmitterRotation
float32 MaxFacingCameraBlendDistance
 The distance at which PSA_FacingCameraDistanceBlend is fully PSA_FacingCameraPosition.
MacroUV
FVector MacroUVPosition
 Local space position that UVs generated with the ParticleMacroUV material node will be centered on.
float32 MacroUVRadius
 World space radius that UVs generated with the ParticleMacroUV material node will tile based on.
Materials
TArray< FName > NamedMaterialOverrides
 Named material overrides for this emitter. Overrides this emitter's material(s) with those in the correspondingly named slot(s) of the owning system.
Normals
FVector NormalsSphereCenter
 When EmitterNormalsMode is ENM_Spherical, particle normals are created to face away from NormalsSphereCenter. NormalsSphereCenter is in local space.
FVector NormalsCylinderDirection
 When EmitterNormalsMode is ENM_Cylindrical, particle normals are created to face away from the cylinder going through NormalsSphereCenter in the direction NormalsCylinderDirection. NormalsCylinderDirection is in local space.
EEmitterNormalsMode EmitterNormalsMode
 Normal generation mode for this emitter LOD.
ParticleCutout
ESubUVBoundingVertexCount BoundingMode
 More bounding vertices results in reduced overdraw, but adds more triangle overhead. The eight vertex mode is best used when the SubUV texture has a lot of space to cut out that is not captured by the four vertex version, and when the particles using the texture will be few and large.
EOpacitySourceMode OpacitySourceMode
float32 AlphaThreshold
 Alpha channel values larger than the threshold are considered occupied and will be contained in the bounding geometry. Raising this threshold slightly can reduce overdraw in particles using this animation asset.
UTexture2D CutoutTexture
 Texture to generate bounding geometry from.
Rendering
int MaxDrawCount
 The maximum number of particles to DRAW for this emitter. If set to 0, it will use whatever number are present.
EParticleUVFlipMode UVFlippingMode
 Controls UV Flipping for this emitter.
SubUV
EParticleSubUVInterpMethod InterpolationMethod
 The interpolation method to used for the SubUV image selection. One of the following: PSUVIM_None - Do not apply SubUV modules to this emitter. PSUVIM_Linear - Smoothly transition between sub-images in the given order, with no blending between the current and the next PSUVIM_Linear_Blend - Smoothly transition between sub-images in the given order, blending between the current and the next PSUVIM_Random - Pick the next image at random, with no blending between the current and the next PSUVIM_Random_Blend - Pick the next image at random, blending between the current and the next.
int RandomImageChanges
 The number of times to change a random image over the life of the particle.
int SubImages_Horizontal
 The number of sub-images horizontally in the texture.
int SubImages_Vertical
 The number of sub-images vertically in the texture.
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

◆ SetbDelayFirstLoopOnly()

void SetbDelayFirstLoopOnly ( bool Value)

If true, the emitter will be delayed only on the first loop.

◆ SetbDurationRecalcEachLoop()

void SetbDurationRecalcEachLoop ( bool Value)

If true, recalculate the emitter duration on each loop.

◆ SetbEmitterDelayUseRange()

void SetbEmitterDelayUseRange ( bool Value)

If true, select the emitter delay from the range [EmitterDelayLow..EmitterDelay].

◆ SetbEmitterDurationUseRange()

void SetbEmitterDurationUseRange ( bool Value)

If true, select the emitter duration from the range [EmitterDurationLow..EmitterDuration].

◆ SetbKillOnCompleted()

void SetbKillOnCompleted ( bool Value)

If true, kill the emitter when it completes.

◆ SetbKillOnDeactivate()

void SetbKillOnDeactivate ( bool Value)

If true, kill the emitter when the particle system is deactivated.

◆ SetbOrbitModuleAffectsVelocityAlignment()

void SetbOrbitModuleAffectsVelocityAlignment ( bool Value)

Ensures that movement generated from the orbit module is applied to velocity-aligned particles.

◆ SetbOverrideSystemMacroUV()

void SetbOverrideSystemMacroUV ( bool Value)

Override the system MacroUV settings.

◆ SetbOverrideUseVelocityForMotionBlur()

void SetbOverrideUseVelocityForMotionBlur ( bool Value)

◆ SetbRemoveHMDRoll()

void SetbRemoveHMDRoll ( bool Value)

If true, removes the HMD view roll (e.g. in VR).

◆ SetbScaleUV()

void SetbScaleUV ( bool Value)

Whether to scale the UV or not - ie, the model wasn't setup with sub uvs.

◆ SetbSupportLargeWorldCoordinates()

void SetbSupportLargeWorldCoordinates ( bool Value)

If true, gpu simulation positions are offset to support double precision vectors. Cpu sims always support large world coordinates.

◆ SetbUseLegacyEmitterTime()

void SetbUseLegacyEmitterTime ( bool Value)

If true, the EmitterTime for the emitter will be calculated by modulating the SecondsSinceCreation by the EmitterDuration. As this can lead to issues w/ looping and variable duration, a new approach has been implemented. If false, this new approach is utilized, and the EmitterTime is simply incremented by DeltaTime each tick. When the emitter loops, it adjusts the EmitterTime by the current EmitterDuration resulting in proper looping/delay behavior.

◆ SetbUseLocalSpace()

void SetbUseLocalSpace ( bool Value)

If true, update the emitter in local space.

◆ SetbUseMaxDrawCount()

void SetbUseMaxDrawCount ( bool Value)

If true, use the MaxDrawCount to limit the number of particles rendered. NOTE: This does not limit the number spawned/updated, only what is drawn.

◆ SetbUseVelocityForMotionBlur()

void SetbUseVelocityForMotionBlur ( bool Value)

When supported by the vertex factory will use particle velocity for motion blur approximation. This will be inaccurate in some cases, i.e. sprite rotation, but may provide a reasonable result vs having this disabled.

◆ StaticClass()

UClass StaticClass ( )
static

Member Data Documentation

◆ AlphaThreshold

float32 AlphaThreshold

Alpha channel values larger than the threshold are considered occupied and will be contained in the bounding geometry. Raising this threshold slightly can reduce overdraw in particles using this animation asset.

◆ BoundingMode

More bounding vertices results in reduced overdraw, but adds more triangle overhead. The eight vertex mode is best used when the SubUV texture has a lot of space to cut out that is not captured by the four vertex version, and when the particles using the texture will be few and large.

◆ CutoutTexture

UTexture2D CutoutTexture

Texture to generate bounding geometry from.

◆ EmitterDelay

float32 EmitterDelay

Indicates the time (in seconds) that this emitter should be delayed in the particle system.

◆ EmitterDelayLow

float32 EmitterDelayLow

The low end of the emitter delay if using a range.

◆ EmitterDuration

float32 EmitterDuration

How long, in seconds, the emitter will run before looping.

◆ EmitterDurationLow

float32 EmitterDurationLow

The low end of the emitter duration if using a range.

◆ EmitterLoops

int EmitterLoops

The number of times to loop the emitter. 0 indicates loop continuously.

◆ EmitterNormalsMode

EEmitterNormalsMode EmitterNormalsMode

Normal generation mode for this emitter LOD.

◆ EmitterOrigin

FVector EmitterOrigin

◆ EmitterRotation

FRotator EmitterRotation

◆ InterpolationMethod

EParticleSubUVInterpMethod InterpolationMethod

The interpolation method to used for the SubUV image selection. One of the following: PSUVIM_None - Do not apply SubUV modules to this emitter. PSUVIM_Linear - Smoothly transition between sub-images in the given order, with no blending between the current and the next PSUVIM_Linear_Blend - Smoothly transition between sub-images in the given order, blending between the current and the next PSUVIM_Random - Pick the next image at random, with no blending between the current and the next PSUVIM_Random_Blend - Pick the next image at random, blending between the current and the next.

◆ MacroUVPosition

FVector MacroUVPosition

Local space position that UVs generated with the ParticleMacroUV material node will be centered on.

◆ MacroUVRadius

float32 MacroUVRadius

World space radius that UVs generated with the ParticleMacroUV material node will tile based on.

◆ Material

The material to utilize for the emitter at this LOD level.

◆ MaxDrawCount

int MaxDrawCount

The maximum number of particles to DRAW for this emitter. If set to 0, it will use whatever number are present.

◆ MaxFacingCameraBlendDistance

float32 MaxFacingCameraBlendDistance

The distance at which PSA_FacingCameraDistanceBlend is fully PSA_FacingCameraPosition.

◆ MinFacingCameraBlendDistance

float32 MinFacingCameraBlendDistance

The distance at which PSA_FacingCameraDistanceBlend is fully PSA_Square.

◆ NamedMaterialOverrides

TArray<FName> NamedMaterialOverrides

Named material overrides for this emitter. Overrides this emitter's material(s) with those in the correspondingly named slot(s) of the owning system.

◆ NormalsCylinderDirection

FVector NormalsCylinderDirection

When EmitterNormalsMode is ENM_Cylindrical, particle normals are created to face away from the cylinder going through NormalsSphereCenter in the direction NormalsCylinderDirection. NormalsCylinderDirection is in local space.

◆ NormalsSphereCenter

FVector NormalsSphereCenter

When EmitterNormalsMode is ENM_Spherical, particle normals are created to face away from NormalsSphereCenter. NormalsSphereCenter is in local space.

◆ OpacitySourceMode

EOpacitySourceMode OpacitySourceMode

◆ RandomImageChanges

int RandomImageChanges

The number of times to change a random image over the life of the particle.

◆ ScreenAlignment

EParticleScreenAlignment ScreenAlignment

The screen alignment to utilize for the emitter at this LOD level. One of the following: PSA_FacingCameraPosition - Faces the camera position, but is not dependent on the camera rotation. This method produces more stable particles under camera rotation. PSA_Square - Uniform scale (via SizeX) facing the camera PSA_Rectangle - Non-uniform scale (via SizeX and SizeY) facing the camera PSA_Velocity - Orient the particle towards both the camera and the direction the particle is moving. Non-uniform scaling is allowed. PSA_TypeSpecific - Use the alignment method indicated in the type data module. PSA_FacingCameraDistanceBlend - Blends between PSA_FacingCameraPosition and PSA_Square over specified distance.

◆ SortMode

The sorting mode to use for this emitter. PSORTMODE_None - No sorting required. PSORTMODE_ViewProjDepth - Sort by view projected depth of the particle. PSORTMODE_DistanceToView - Sort by distance of particle to view in world space. PSORTMODE_Age_OldestFirst - Sort by age, oldest drawn first. PSORTMODE_Age_NewestFirst - Sort by age, newest drawn first.

◆ SubImages_Horizontal

int SubImages_Horizontal

The number of sub-images horizontally in the texture.

◆ SubImages_Vertical

int SubImages_Vertical

The number of sub-images vertically in the texture.

◆ UVFlippingMode

EParticleUVFlipMode UVFlippingMode

Controls UV Flipping for this emitter.