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 |
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 |
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 |
struct ParticleParams::SAlphaClip | AlphaClip |
Alpha clipping settings, for particle alpha 0 to 1. | |
TVarEPParam< Color3F > | cColor = Color3F(1) |
Color modulation. | |
UFloat | fDiffuseLighting = 1 |
UnitFloat | fDiffuseBacklighting |
Fraction of diffuse lighting applied in all directions. | |
UFloat | fEmissiveLighting |
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 |
TVarEPParam< UFloat > | fAspect = 1 |
TVarEPParam< SFloat > | fPivotX |
TVarEPParam< SFloat > | fPivotY |
ParticleParams::SStretch | fStretch |
ParticleParams::STailLength | fTailLength |
UFloat | fMinPixels |
ParticleParams::SConnection | Connection |
TVarEParam< SFloat > | fSpeed |
Initial speed of a particle. | |
SFloat | fInheritVelocity |
ParticleParams::SAirResistance | fAirResistance |
TVarEPParam< SFloat > | fGravityScale |
Vec3S | vAcceleration |
Explicit world-space acceleration vector. | |
TVarEPParam< UFloat > | fTurbulence3DSpeed |
TVarEPParam< UFloat > | fTurbulenceSize |
TVarEPParam< SFloat > | fTurbulenceSpeed |
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 |
Vec3U | vRandomRotationRate |
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 |
UFloat | fDynamicFriction |
UFloat | fThickness = 1 |
UFloat | fDensity = 1000 |
UFloat | fViewDistanceAdjust = 1 |
UFloat | fCameraMaxDistance |
UFloat | fCameraMinDistance |
SFloat | fCameraDistanceOffset |
SFloat | fSortOffset |
SFloat | fSortBoundsScale |
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 | |
Particle system parameters.
Special surface type enum.