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.