ParticleParams

Particle system parameters. More...

#include

Public Member Functions

DEFINE_ENUM (EInheritance, System, Standard, Parent) EInheritance eInheritance
Source of ParticleParams used as base for this effect (for serialization, display, etc).
DEFINE_ENUM (ESpawn, Direct, ParentStart, ParentCollide, ParentDeath) ESpawn eSpawnIndirection
Direct: spawn from emitter location; else spawn from each particle in parent emitter.
DEFINE_ENUM (EFacing, Camera, CameraX, Free, Horizontal, Velocity, Water, Terrain, Decal) EFacing eFacing
Orientation of particle face.
DEFINE_ENUM_VALS (EBlend, uint8, AlphaBased=OS_ALPHA_BLEND, Additive=OS_ADD_BLEND, Multiplicative=OS_MULTIPLY_BLEND, Opaque=0, _ColorBased=OS_ADD_BLEND, _None=0) EBlend eBlendType
Blend rendering type.
DEFINE_ENUM (EGeometryPieces, Whole, RandomPiece, AllPieces) EGeometryPieces eGeometryPieces
Which geometry pieces to emit.
DEFINE_ENUM (ESoundControlTime, EmitterLifeTime, EmitterExtendedLifeTime, EmitterPulsePeriod) ESoundControlTime eSoundControlTime
The sound control time type.
DEFINE_ENUM (EPhysics, None, SimpleCollision, SimplePhysics, RigidBody) EPhysics ePhysicsType
What kind of physics simulation to run on particle.
DEFINE_ENUM (ECollisionResponse, Die, Ignore, Stop) ECollisionResponse eFinalCollision
What to do on final collision (when MaxCollisions > 0).
DEFINE_ENUM (EForce, None, Wind, Gravity, _Target) EForce eForceGeneration
Generate physical forces if set.
DEFINE_ENUM (EConfigSpecBrief, Low, Medium, High, VeryHigh) EConfigSpecBrief eConfigMin
Minimum config spec this effect runs in.
bool HasEquilibrium () const
float GetMaxSpawnDelay () const
float GetMaxEmitterLife () const
float GetMaxParticleLife () const
uint8 GetTailSteps () const
bool HasVariableVertexCount () const
float GetMaxRotationAngle () const
AABB GetEmitOffsetBounds () const
float GetFullTextureArea () const
float GetAlphaFromMod (float fMod) const
bool NeedsExtendedBounds () const

Public Attributes

string sComment
TSmallBool bEnabled = true
Set false to disable this effect.
TVarEParam< UFloat > fCount
Number of particles alive at once.
ParticleParams::SMaintainDensity fMaintainDensity
Increase count when emitter moves to maintain spatial density.
TSmallBool bContinuous
Emit particles gradually until Count reached (rate = Count / ParticleLifeTime).
TVarParam< SFloat > fSpawnDelay
Delay the emitter start time by this value.
TVarParam< UFloat > fEmitterLifeTime
Lifetime of the emitter, 0 if infinite. Always emits at least Count particles.
TVarParam< UFloat > fPulsePeriod
Time between auto-restarts of emitter; 0 if never.
TVarEParam< UFloat > fParticleLifeTime
Lifetime of particles, 0 if indefinite (die with emitter).
TSmallBool bRemainWhileVisible
Particles will only die when not rendered (by any viewport).
Vec3S vPositionOffset
Spawn offset from the emitter position.
Vec3U vRandomOffset
Random offset of emission relative position to the spawn position.
UnitFloat fOffsetRoundness
Fraction of emit volume corners to round: 0 = box, 1 = ellipsoid.
UnitFloat fOffsetInnerFraction
Fraction of inner emit volume to avoid.
EGeomType eAttachType
Which geometry to use for attached entity.
EGeomForm eAttachForm
Which aspect of attached geometry to emit from.
TVarEParam< UHalfAngle > fFocusAngle
Angle to vary focus from default (Y axis), for variation.
TVarEParam< SFloat > fFocusAzimuth
Angle to rotate focus about default, for variation. 0 = Z axis.
TVarEParam< UnitFloat > fFocusCameraDir
Rotate emitter focus partially or fully to face camera.
TSmallBool bFocusGravityDir
Uses negative gravity dir, rather than emitter Y, as focus dir.
TSmallBool bFocusRotatesEmitter
Focus rotation affects offset and particle orientation; else affects just emission direction.
TSmallBool bEmitOffsetDir
Default emission direction parallel to emission offset from origin.
TVarEParam< UHalfAngle > fEmitAngle
Angle from focus dir (emitter Y), in degrees. RandomVar determines min angle.
TSmallBool bOrientToVelocity
Particle X axis aligned to velocity direction.
UnitFloat fCurvature = 1
For Facing=Camera, fraction that normals are curved to a spherical shape.
CCryName sTexture
Texture asset for sprite.
CCryName sMaterial
Material (overrides texture).
STextureTiling TextureTiling
Tiling of texture for animation and variation.
TSmallBool bTessellation
If hardware supports, tessellate particles for better shadowing and curved connected particles.
TSmallBool bOctagonalShape
Use octagonal shape for textures instead of quad.
ParticleParams::SSoftParticle bSoftParticle
Soft intersection with background.
CCryName sGeometry
Geometry for 3D particles.
TSmallBool bNoOffset
Disable centering of geometry.
TVarEPParam< UFloat > fAlpha = 1
Alpha value (opacity, or multiplier for additive).
struct ParticleParams::SAlphaClip AlphaClip
Alpha clipping settings, for particle alpha 0 to 1.
TVarEPParam< Color3F > cColor = Color3F(1)
Color modulation.
UFloat fDiffuseLighting = 1
Multiplier for particle dynamic lighting.
UnitFloat fDiffuseBacklighting
Fraction of diffuse lighting applied in all directions.
UFloat fEmissiveLighting
Multiplier for particle emissive lighting.
TSmallBool bReceiveShadows
Shadows will cast on these particles.
TSmallBool bCastShadows
Particles will cast shadows (currently only geom particles).
TSmallBool bNotAffectedByFog
Ignore fog.
struct ParticleParams::SLightSource LightSource
Per-particle light generation.
CCryName sStartTrigger
Audio start trigger to execute.
CCryName sStopTrigger
Audio stop trigger to execute.
TVarEParam< UFloat > fSoundFXParam = 1
Custom real-time sound modulation parameter.
TVarEPParam< UFloat > fSize = 1
Particle radius, for sprites; size scale for geometry.
TVarEPParam< UFloat > fAspect = 1
X-to-Y scaling factor.
TVarEPParam< SFloat > fPivotX
Pivot offset in X direction.
TVarEPParam< SFloat > fPivotY
Pivot offset in Y direction.
ParticleParams::SStretch fStretch
Stretch particle into moving direction, amount in seconds.
ParticleParams::STailLength fTailLength
Length of tail in seconds.
UFloat fMinPixels
Augment true size with this many pixels.
ParticleParams::SConnection Connection
TVarEParam< SFloat > fSpeed
Initial speed of a particle.
SFloat fInheritVelocity
$ Fraction of emitter's velocity to inherit.
ParticleParams::SAirResistance fAirResistance
Air drag value, in inverse seconds.
TVarEPParam< SFloat > fGravityScale
$ Multiplier for world gravity.
Vec3S vAcceleration
Explicit world-space acceleration vector.
TVarEPParam< UFloat > fTurbulence3DSpeed
3D random turbulence force.
TVarEPParam< UFloat > fTurbulenceSize
Radius of vortex rotation (axis is direction of movement).
TVarEPParam< SFloat > fTurbulenceSpeed
$ Angular speed of vortex rotation.
ParticleParams::SMoveRelativeEmitter bMoveRelativeEmitter
Particle motion is in emitter space.
TSmallBool bBindEmitterToCamera
Emitter attached to main render camera.
TSmallBool bSpaceLoop
Loops particles within emission volume, or within Camera Max Distance.
struct ParticleParams::STargetAttraction TargetAttraction
Specify target attractor behavior.
Vec3_tpl< SAngle > vInitAngles
Initial rotation in symmetric angles (degrees).
Vec3_tpl< UFullAngle > vRandomAngles
Bidirectional random angle variation.
Vec3S vRotationRate
$ Rotation speed (degree/sec).
Vec3U vRandomRotationRate
Random variation of rotation speed.
TSmallBool bCollideTerrain
Collides with terrain (if Physics <> none).
TSmallBool bCollideStaticObjects
Collides with static physics objects (if Physics <> none).
TSmallBool bCollideDynamicObjects
Collides with dynamic physics objects (if Physics <> none).
UnitFloat8 fCollisionFraction = 1
Fraction of emitted particles that actually perform collisions.
UFloat fCollisionCutoffDistance
Maximum distance up until collisions are respected (0 = infinite).
uint8 nMaxCollisionEvents = 0
Max # collision events per particle (0 = no limit).
CSurfaceTypeIndex sSurfaceType
Surface type for physicalized particles.
SFloat fElasticity
$ Collision bounce coefficient: 0 = no bounce, 1 = full bounce.
UFloat fDynamicFriction
Sliding drag value, in inverse seconds.
UFloat fThickness = 1
Lying thickness ratio - for physicalized particles only.
UFloat fDensity = 1000
Mass density for physicslized particles.
UFloat fViewDistanceAdjust = 1
Multiplier to automatic distance fade-out.
UFloat fCameraMaxDistance
Max distance from camera to render particles.
UFloat fCameraMinDistance
Min distance from camera to render particles.
SFloat fCameraDistanceOffset
Offset the emitter away from the camera.
SFloat fSortOffset
Offset distance used for sorting.
SFloat fSortBoundsScale
Choose emitter point for sorting; 1 = bounds nearest, 0 = origin, -1 = bounds farthest.
TSmallBool bDrawNear
Render particle in near space (weapon).
TSmallBool bDrawOnTop
Render particle on top of everything (no depth test).
ETrinary tVisibleIndoors
Whether visible indoors / outdoors / both.
ETrinary tVisibleUnderwater
Whether visible under / above water / both.
UnitFloat fFadeAtViewCosAngle
Angle to camera at which particles start to fade out.
UFloat fFillRateCost = 1
Adjustment to max screen fill allowed per emitter.
TFixed< uint8, MAX_HEATSCALE > fHeatScale
Multiplier to thermal vision.
UnitFloat fSphericalApproximation = 1
Align the particle to the tangent of the sphere.
UFloat fPlaneAlignBlendDistance
Distance when blend to camera plane aligned particles starts.
TRangedType< uint8, 0, 2 > nSortQuality
Sort new particles as accurately as possible into list, by main camera distance.
TSmallBool bForceDynamicBounds
Always update particles and compute actual bounds for visibility.
TSmallBool bHalfRes
Use half resolution rendering.
TSmallBoolTrue bStreamable
Texture/geometry allowed to be streamed.
TSmallBool bVolumeFog
Use as a participating media of volumetric fog.
Unit4Float fVolumeThickness = 1
Thickness factor for particle size.
EConfigSpecBrief eConfigMax = EConfigSpecBrief::VeryHigh
Maximum config spec this effect runs in.
struct ParticleParams::SPlatforms Platforms
Platforms this effect runs on.
AUTO_STRUCT_INFO

Detailed Description

Particle system parameters.

Special surface type enum.