#include <ParticleEmitter.h>
类 | |
| struct | Burst |
| Timed burst emission (fired once while the emitter is active). 更多... | |
| struct | ForceField |
| Radial attract/repel force fields (strength > 0 attract, < 0 repel). 更多... | |
| struct | LightCfg |
| Emitter-level 2D light emission (pooled Light2D entities). 更多... | |
| struct | SubEmitter |
| Script-linked sub-emitters (birth / death / collision triggers). 更多... | |
Public 属性 | |
| float | x = 0.f |
| float | y = 0.f |
| float | emissionRate = 0.f |
| float | lifeMin = 1.f |
| float | lifeMax = 1.f |
| float | emitterLife = -1.f |
| float | direction = 0.f |
| float | spread = 0.f |
| float | speedMin = 0.f |
| float | speedMax = 0.f |
| float | accelXMin = 0.f |
| float | accelYMin = 0.f |
| float | accelXMax = 0.f |
| float | accelYMax = 0.f |
| float | radialMin = 0.f |
| float | radialMax = 0.f |
| float | tangentialMin = 0.f |
| float | tangentialMax = 0.f |
| float | particleW = 8.f |
| float | particleH = 8.f |
| float | sizeStart = 1.f |
| float | sizeEnd = 1.f |
| float | sizeVariation = 0.f |
| float | spinMin = 0.f |
| float | spinMax = 0.f |
| float | gravityX = 0.f |
| Gravity applied every step (world units/s²). | |
| float | gravityY = 0.f |
| float | damping = 0.f |
| Per-second velocity damping fraction in [0,1]. | |
| float | limitVelocity = 0.f |
| Max speed; 0 = unlimited. Applied after forces each step. | |
| ParticleCurve | velocityCurve |
| Optional speed multiplier curve over lifetime. | |
| float | inheritVelocity = 0.f |
| Fraction [0,1] of the emitter's current velocity added to new particles. | |
| std::string | simSpace = "world" |
| "world" (default) or "local" (particles track the emitter). | |
| float | noiseStrength = 0.f |
| Turbulence: random per-particle acceleration scaled by strength. | |
| float | noiseFrequency = 1.f |
| float | noiseSpeed = 1.f |
| std::string | collisionMode = "none" |
| "none" | "kill" | "bounce" | "stop" on collision. | |
| float | collisionRadius = 0.f |
| float | collisionRestitution = 0.6f |
| float | collisionLifetimeLoss = 0.f |
| bool | collisionBoundsEnabled = false |
| float | boundsMinX = 0.f |
| float | boundsMinY = 0.f |
| float | boundsMaxX = 0.f |
| float | boundsMaxY = 0.f |
| bool | worldCollision = false |
| Query the engine-level world collision resolver each step. | |
| std::string | renderMode = "billboard" |
| "billboard" (default) | "stretched" (elongate along velocity). | |
| float | stretchFactor = 1.f |
| std::string | overflowMode = "drop" |
| Buffer-full strategy: "drop" (default) | "pause" | "warn". | |
| float | maxDeltaTime = 0.f |
| Cap per-step delta time (0 = unlimited). | |
| float | prewarmSeconds = 0.f |
| Prewarm seconds simulated in start() so the effect is pre-filled. | |
| bool | gpuSimulation = false |
| Opt-in GPU-accelerated simulation (falls back to CPU when unavailable). | |
| std::vector< Burst > | bursts |
| std::vector< ForceField > | forceFields |
| struct eve::particles::ParticleEmitter::Config::LightCfg | lights |
| std::vector< SubEmitter > | subEmitters |
| float | startRotMin = 0.f |
| Initial rotation in degrees (random between min/max; radians at sim time). | |
| float | startRotMax = 0.f |
| int | hframes = 1 |
| Flipbook grid. 1x1 = static full texture. frameRate = frames/sec (0 = static). | |
| int | vframes = 1 |
| float | frameRate = 0.f |
| float | frameRandomStart = 0.f |
| 0..1 fraction: randomize the starting frame up to this fraction of the sheet. | |
| ParticleGradient | colorGradient |
| Optional multi-stop gradient; overrides colorStart/colorEnd when non-empty. | |
| ParticleCurve | sizeCurve |
| Optional size scale curve over lifetime; overrides sizeStart/sizeEnd. | |
| ParticleCurve | rotationCurve |
| Optional extra rotation (degrees) over lifetime; added on top of spin. | |
| std::string | areaType = "none" |
| "none" | "ellipse" | "rect" (≤15). | |
| float | areaX = 0.f |
| float | areaY = 0.f |
| Color | colorStart {1.f, 1.f, 1.f, 1.f} |
| Color | colorEnd {1.f, 1.f, 1.f, 0.f} |
| ParticleEmitter * | entity = nullptr |
详细描述
在文件 ParticleEmitter.h 第 76 行定义.
类成员变量说明
◆ accelXMax
| float eve::particles::ParticleEmitter::Config::accelXMax = 0.f |
在文件 ParticleEmitter.h 第 95 行定义.
◆ accelXMin
| float eve::particles::ParticleEmitter::Config::accelXMin = 0.f |
在文件 ParticleEmitter.h 第 94 行定义.
◆ accelYMax
| float eve::particles::ParticleEmitter::Config::accelYMax = 0.f |
在文件 ParticleEmitter.h 第 95 行定义.
◆ accelYMin
| float eve::particles::ParticleEmitter::Config::accelYMin = 0.f |
在文件 ParticleEmitter.h 第 94 行定义.
◆ areaType
| std::string eve::particles::ParticleEmitter::Config::areaType = "none" |
"none" | "ellipse" | "rect" (≤15).
在文件 ParticleEmitter.h 第 188 行定义.
◆ areaX
| float eve::particles::ParticleEmitter::Config::areaX = 0.f |
在文件 ParticleEmitter.h 第 189 行定义.
◆ areaY
| float eve::particles::ParticleEmitter::Config::areaY = 0.f |
在文件 ParticleEmitter.h 第 190 行定义.
◆ boundsMaxX
| float eve::particles::ParticleEmitter::Config::boundsMaxX = 0.f |
在文件 ParticleEmitter.h 第 130 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ boundsMaxY
| float eve::particles::ParticleEmitter::Config::boundsMaxY = 0.f |
在文件 ParticleEmitter.h 第 131 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ boundsMinX
| float eve::particles::ParticleEmitter::Config::boundsMinX = 0.f |
在文件 ParticleEmitter.h 第 128 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ boundsMinY
| float eve::particles::ParticleEmitter::Config::boundsMinY = 0.f |
在文件 ParticleEmitter.h 第 129 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ bursts
| std::vector<Burst> eve::particles::ParticleEmitter::Config::bursts |
在文件 ParticleEmitter.h 第 145 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ collisionBoundsEnabled
| bool eve::particles::ParticleEmitter::Config::collisionBoundsEnabled = false |
在文件 ParticleEmitter.h 第 127 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ collisionLifetimeLoss
| float eve::particles::ParticleEmitter::Config::collisionLifetimeLoss = 0.f |
在文件 ParticleEmitter.h 第 126 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ collisionMode
| std::string eve::particles::ParticleEmitter::Config::collisionMode = "none" |
"none" | "kill" | "bounce" | "stop" on collision.
在文件 ParticleEmitter.h 第 123 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ collisionRadius
| float eve::particles::ParticleEmitter::Config::collisionRadius = 0.f |
在文件 ParticleEmitter.h 第 124 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ collisionRestitution
| float eve::particles::ParticleEmitter::Config::collisionRestitution = 0.6f |
在文件 ParticleEmitter.h 第 125 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ colorEnd
在文件 ParticleEmitter.h 第 192 行定义.
◆ colorGradient
| ParticleGradient eve::particles::ParticleEmitter::Config::colorGradient |
Optional multi-stop gradient; overrides colorStart/colorEnd when non-empty.
在文件 ParticleEmitter.h 第 182 行定义.
◆ colorStart
在文件 ParticleEmitter.h 第 191 行定义.
◆ damping
| float eve::particles::ParticleEmitter::Config::damping = 0.f |
Per-second velocity damping fraction in [0,1].
在文件 ParticleEmitter.h 第 109 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ direction
| float eve::particles::ParticleEmitter::Config::direction = 0.f |
在文件 ParticleEmitter.h 第 90 行定义.
◆ emissionRate
| float eve::particles::ParticleEmitter::Config::emissionRate = 0.f |
在文件 ParticleEmitter.h 第 86 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ emitterLife
| float eve::particles::ParticleEmitter::Config::emitterLife = -1.f |
在文件 ParticleEmitter.h 第 89 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ entity
| ParticleEmitter* eve::particles::ParticleEmitter::Config::entity = nullptr |
在文件 ParticleEmitter.h 第 193 行定义.
被这些函数引用 eve::particles::spawnParticle().
◆ forceFields
| std::vector<ForceField> eve::particles::ParticleEmitter::Config::forceFields |
在文件 ParticleEmitter.h 第 154 行定义.
被这些函数引用 eve::particles::stepEmitterSim().
◆ frameRandomStart
| float eve::particles::ParticleEmitter::Config::frameRandomStart = 0.f |
0..1 fraction: randomize the starting frame up to this fraction of the sheet.
在文件 ParticleEmitter.h 第 180 行定义.
◆ frameRate
| float eve::particles::ParticleEmitter::Config::frameRate = 0.f |
在文件 ParticleEmitter.h 第 178 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ gpuSimulation
| bool eve::particles::ParticleEmitter::Config::gpuSimulation = false |
Opt-in GPU-accelerated simulation (falls back to CPU when unavailable).
在文件 ParticleEmitter.h 第 144 行定义.
◆ gravityX
| float eve::particles::ParticleEmitter::Config::gravityX = 0.f |
Gravity applied every step (world units/s²).
在文件 ParticleEmitter.h 第 106 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ gravityY
| float eve::particles::ParticleEmitter::Config::gravityY = 0.f |
在文件 ParticleEmitter.h 第 107 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ hframes
| int eve::particles::ParticleEmitter::Config::hframes = 1 |
Flipbook grid. 1x1 = static full texture. frameRate = frames/sec (0 = static).
在文件 ParticleEmitter.h 第 176 行定义.
◆ inheritVelocity
| float eve::particles::ParticleEmitter::Config::inheritVelocity = 0.f |
Fraction [0,1] of the emitter's current velocity added to new particles.
在文件 ParticleEmitter.h 第 115 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ lifeMax
| float eve::particles::ParticleEmitter::Config::lifeMax = 1.f |
在文件 ParticleEmitter.h 第 88 行定义.
◆ lifeMin
| float eve::particles::ParticleEmitter::Config::lifeMin = 1.f |
在文件 ParticleEmitter.h 第 87 行定义.
◆ lights
| struct eve::particles::ParticleEmitter::Config::LightCfg eve::particles::ParticleEmitter::Config::lights |
◆ limitVelocity
| float eve::particles::ParticleEmitter::Config::limitVelocity = 0.f |
Max speed; 0 = unlimited. Applied after forces each step.
在文件 ParticleEmitter.h 第 111 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ maxDeltaTime
| float eve::particles::ParticleEmitter::Config::maxDeltaTime = 0.f |
Cap per-step delta time (0 = unlimited).
在文件 ParticleEmitter.h 第 140 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ noiseFrequency
| float eve::particles::ParticleEmitter::Config::noiseFrequency = 1.f |
在文件 ParticleEmitter.h 第 120 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ noiseSpeed
| float eve::particles::ParticleEmitter::Config::noiseSpeed = 1.f |
在文件 ParticleEmitter.h 第 121 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ noiseStrength
| float eve::particles::ParticleEmitter::Config::noiseStrength = 0.f |
Turbulence: random per-particle acceleration scaled by strength.
在文件 ParticleEmitter.h 第 119 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ overflowMode
| std::string eve::particles::ParticleEmitter::Config::overflowMode = "drop" |
Buffer-full strategy: "drop" (default) | "pause" | "warn".
在文件 ParticleEmitter.h 第 138 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ particleH
| float eve::particles::ParticleEmitter::Config::particleH = 8.f |
在文件 ParticleEmitter.h 第 99 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ particleW
| float eve::particles::ParticleEmitter::Config::particleW = 8.f |
在文件 ParticleEmitter.h 第 98 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ prewarmSeconds
| float eve::particles::ParticleEmitter::Config::prewarmSeconds = 0.f |
Prewarm seconds simulated in start() so the effect is pre-filled.
在文件 ParticleEmitter.h 第 142 行定义.
◆ radialMax
| float eve::particles::ParticleEmitter::Config::radialMax = 0.f |
在文件 ParticleEmitter.h 第 96 行定义.
◆ radialMin
| float eve::particles::ParticleEmitter::Config::radialMin = 0.f |
在文件 ParticleEmitter.h 第 96 行定义.
◆ renderMode
| std::string eve::particles::ParticleEmitter::Config::renderMode = "billboard" |
"billboard" (default) | "stretched" (elongate along velocity).
在文件 ParticleEmitter.h 第 135 行定义.
◆ rotationCurve
| ParticleCurve eve::particles::ParticleEmitter::Config::rotationCurve |
Optional extra rotation (degrees) over lifetime; added on top of spin.
在文件 ParticleEmitter.h 第 186 行定义.
◆ simSpace
| std::string eve::particles::ParticleEmitter::Config::simSpace = "world" |
"world" (default) or "local" (particles track the emitter).
在文件 ParticleEmitter.h 第 117 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ sizeCurve
| ParticleCurve eve::particles::ParticleEmitter::Config::sizeCurve |
Optional size scale curve over lifetime; overrides sizeStart/sizeEnd.
在文件 ParticleEmitter.h 第 184 行定义.
◆ sizeEnd
| float eve::particles::ParticleEmitter::Config::sizeEnd = 1.f |
在文件 ParticleEmitter.h 第 101 行定义.
◆ sizeStart
| float eve::particles::ParticleEmitter::Config::sizeStart = 1.f |
在文件 ParticleEmitter.h 第 100 行定义.
◆ sizeVariation
| float eve::particles::ParticleEmitter::Config::sizeVariation = 0.f |
在文件 ParticleEmitter.h 第 102 行定义.
◆ speedMax
| float eve::particles::ParticleEmitter::Config::speedMax = 0.f |
在文件 ParticleEmitter.h 第 93 行定义.
◆ speedMin
| float eve::particles::ParticleEmitter::Config::speedMin = 0.f |
在文件 ParticleEmitter.h 第 92 行定义.
◆ spinMax
| float eve::particles::ParticleEmitter::Config::spinMax = 0.f |
在文件 ParticleEmitter.h 第 104 行定义.
◆ spinMin
| float eve::particles::ParticleEmitter::Config::spinMin = 0.f |
在文件 ParticleEmitter.h 第 103 行定义.
◆ spread
| float eve::particles::ParticleEmitter::Config::spread = 0.f |
在文件 ParticleEmitter.h 第 91 行定义.
◆ startRotMax
| float eve::particles::ParticleEmitter::Config::startRotMax = 0.f |
在文件 ParticleEmitter.h 第 174 行定义.
◆ startRotMin
| float eve::particles::ParticleEmitter::Config::startRotMin = 0.f |
Initial rotation in degrees (random between min/max; radians at sim time).
在文件 ParticleEmitter.h 第 173 行定义.
◆ stretchFactor
| float eve::particles::ParticleEmitter::Config::stretchFactor = 1.f |
在文件 ParticleEmitter.h 第 136 行定义.
◆ subEmitters
| std::vector<SubEmitter> eve::particles::ParticleEmitter::Config::subEmitters |
在文件 ParticleEmitter.h 第 171 行定义.
◆ tangentialMax
| float eve::particles::ParticleEmitter::Config::tangentialMax = 0.f |
在文件 ParticleEmitter.h 第 97 行定义.
◆ tangentialMin
| float eve::particles::ParticleEmitter::Config::tangentialMin = 0.f |
在文件 ParticleEmitter.h 第 97 行定义.
◆ velocityCurve
| ParticleCurve eve::particles::ParticleEmitter::Config::velocityCurve |
Optional speed multiplier curve over lifetime.
在文件 ParticleEmitter.h 第 113 行定义.
被这些函数引用 eve::particles::stepEmitterSim().
◆ vframes
| int eve::particles::ParticleEmitter::Config::vframes = 1 |
在文件 ParticleEmitter.h 第 177 行定义.
◆ worldCollision
| bool eve::particles::ParticleEmitter::Config::worldCollision = false |
Query the engine-level world collision resolver each step.
在文件 ParticleEmitter.h 第 133 行定义.
被这些函数引用 eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
◆ x
| float eve::particles::ParticleEmitter::Config::x = 0.f |
◆ y
| float eve::particles::ParticleEmitter::Config::y = 0.f |
在文件 ParticleEmitter.h 第 85 行定义.
被这些函数引用 eve::particles::spawnParticle(), eve::particles::stepEmitterSim() , 以及 eve::particles::stepEmitterSimGpu().
该结构体的文档由以下文件生成:
- src/modules/particles/ParticleEmitter.h