载入中...
搜索中...
未找到
eve::particles::ParticleEmitter类 参考

ECS emitter entity. Script configures components; ParticleSimSystem / ParticleRenderSystem drive per-frame update & draw. 更多...

#include <ParticleEmitter.h>

类 eve::particles::ParticleEmitter 继承关系图:

类

struct  Attach
 Optional bone attachment. When enabled, syncAttach() writes Config.x/y (and optionally direction) from a live skeleton each frame. Particles remain 2D; 3D bone XYZ is projected via plane + scale. 更多...
 
struct  Config
 Config public API. 更多...
 
struct  Draw
 
struct  GpuSim
 Backend-owned GPU-resident simulation state and delayed CPU counters. 更多...
 
struct  Lights
 Pooled Light2D entities driven by ParticleLightSystem (lights.enabled). 更多...
 
struct  Resource
 Bound config file for hot reload (empty path = unbound). 更多...
 
struct  Sim
 
struct  SkinSource
 Optional skinned-mesh surface source. When enabled, newly spawned particles sample random (optionally bone-filtered) skinned vertices. 更多...
 

Public 成员函数

void release () override
 Entity.
 
void setPosition (float x, float y)
 
void moveTo (float x, float y)
 
float getX ()
 
float getY ()
 
void setEmissionRate (float rate)
 
float getEmissionRate ()
 
void setEmissionRateOverDistance (float rate)
 Set particles emitted per world unit travelled; zero disables it.
 
float getEmissionRateOverDistance ()
 Return particles emitted per world unit travelled.
 
void setParticleLifetime (float minLife, float maxLife)
 
float getParticleLifetimeMin ()
 
float getParticleLifetimeMax ()
 
void setEmitterLifetime (float seconds)
 
float getEmitterLifetime ()
 
void setLooping (bool looping)
 Enable or disable repeating a finite emitter timeline.
 
bool getLooping ()
 Return whether the finite emitter timeline repeats.
 
void setPlaybackSpeed (float speed)
 Scale simulation time; zero freezes playback.
 
float getPlaybackSpeed ()
 Return the simulation time multiplier.
 
void setFixedTimeStep (float seconds, int maxSubSteps=8)
 Configure fixed stepping and the per-frame catch-up limit; zero seconds disables it.
 
float getFixedTimeStep ()
 Return the fixed step in seconds, or zero for variable stepping.
 
void setRandomSeed (int seed)
 Select a deterministic seed and disable automatic seeding.
 
int getRandomSeed ()
 Return the configured deterministic seed.
 
void setAutoRandomSeed (bool enabled)
 Generate a new random seed whenever start() is called.
 
bool getAutoRandomSeed ()
 Return whether start() generates a new random seed.
 
void setDirection (float radians)
 
float getDirection ()
 
void setSpread (float radians)
 
float getSpread ()
 
void setSpeed (float minSpeed, float maxSpeed)
 
void setLinearAcceleration (float xmin, float ymin, float xmax, float ymax)
 
void setRadialAcceleration (float minA, float maxA)
 
void setTangentialAcceleration (float minA, float maxA)
 
void setEmissionArea (const std::string &type, float x, float y)
 
std::string getEmissionAreaType ()
 
float getEmissionAreaX ()
 
float getEmissionAreaY ()
 
void setParticleSize (float width, float height)
 
float getParticleWidth ()
 
float getParticleHeight ()
 
void setSizes (float startScale, float endScale)
 
void setSizeVariation (float variation)
 
float getSizeVariation ()
 
void setSpin (float minSpin, float maxSpin)
 
void setStartRotation (float minDeg, float maxDeg)
 
void addBurst (float time, int count)
 
void clearBursts ()
 
void setPrewarm (float seconds)
 
float getPrewarmSeconds ()
 
void setGravity (float x, float y)
 
void setDamping (float perSecond)
 
void setLimitVelocity (float maxSpeed)
 
void clearVelocityCurve ()
 
void addVelocityCurvePoint (float t, float v)
 
void setInheritVelocity (float fraction)
 
void setSimulationSpace (const std::string &space)
 
void setNoise (float strength, float frequency=1.f, float speed=1.f)
 
void setGpuSimulation (bool enable)
 
bool getGpuSimulation ()
 
bool isGpuSimulationActive ()
 Return true after this emitter has migrated to a resident GPU backend.
 
bool isGpuFeatureSetSupported ()
 Return whether the configured feature set can use resident GPU simulation.
 
std::string getSimulationBackend ()
 Return "gpu" for active resident simulation, otherwise "cpu".
 
std::string getGpuFallbackReason ()
 Explain CPU fallback; empty means GPU active, "pending_activation" means eligible.
 
void setFloatParameter (const std::string &name, float value)
 Set a named gameplay/VFX float parameter without rebuilding the emitter.
 
float getFloatParameter (const std::string &name, float fallback=0.f)
 Return a named float parameter, or fallback when absent.
 
bool hasFloatParameter (const std::string &name)
 Return whether a named float parameter exists.
 
void clearFloatParameters ()
 Remove all exposed float values.
 
void bindFloatParameter (const std::string &name, const std::string &target, float scale=1.f, float offset=0.f)
 Bind a parameter to emission, speed, size, or playback scaling.
 
void clearFloatParameterBindings ()
 Remove all parameter-to-runtime bindings.
 
float getResolvedParameterScale (const std::string &target)
 Return the resolved non-negative multiplier for a supported target.
 
void setPriority (int priority)
 Set budget order; higher values are processed first.
 
int getPriority ()
 Return the emitter budget priority.
 
void setMinimumQuality (int quality)
 Set the minimum runtime quality tier in [0,3].
 
int getMinimumQuality ()
 Return the minimum runtime quality tier.
 
void setCullingMode (const std::string &mode)
 Set offscreen simulation policy: automatic, pause, or always.
 
std::string getCullingMode ()
 Return the offscreen simulation policy.
 
void setCullDistance (float distance)
 Set camera distance cutoff in world units; zero disables it.
 
float getCullDistance ()
 Return the camera distance cutoff.
 
void setMaxSpawnPerFrame (int count)
 Cap automatic spawns per frame; zero is unlimited.
 
int getMaxSpawnPerFrame ()
 Return the automatic per-frame spawn cap.
 
void setCollision (const std::string &mode, float radius=0.f, float restitution=0.6f, float lifetimeLoss=0.f)
 
void setCollisionBounds (bool enabled, float minX, float minY, float maxX, float maxY)
 
void setWorldCollision (bool enabled)
 
void setSdfField (eve::IParticleSdfField *field)
 Bind a borrowed SDF field for particle collision sampling.
 
eve::IParticleSdfField * getSdfField ()
 Return the borrowed SDF field, or null. @ownership Borrowed. The emitter does not own the field; do not delete it. @lifetime Valid until setSdfField replaces or clears it, or the emitter is destroyed. Clear the binding before destroying the field.
 
void setMotionVectorPolicy (const std::string &policy)
 Set motion-vector policy: none, velocity, or spawn_delta.
 
std::string getMotionVectorPolicy ()
 Return the normalized motion-vector policy.
 
bool isMotionVectorActive ()
 True when a graphics path is actually writing motion vectors.
 
void setRenderMode (const std::string &mode, float stretchFactor=1.f)
 
void setRibbon (float width=1.f, float minSegmentLength=1.f)
 Configure connected ribbon rendering and switch to ribbon mode.
 
void setSoftParticles (bool enabled, float particleDepth=0.5f, float fadeDistance=0.05f)
 Fade resident particles where they intersect sampled scene depth.
 
bool isSoftParticlesActive ()
 True when soft particles have both a resident renderer and scene depth.
 
void setRenderAxis (float degrees)
 Set the fixed screen-space orientation used by render mode "axis".
 
void setSortMode (const std::string &mode)
 Select stable per-emitter transparent ordering.
 
std::string getSortMode ()
 Return the configured transparent ordering policy.
 
void setMaterialMode (const std::string &mode)
 Select particle shading: "unlit", "lit", or scene-color "distortion".
 
std::string getMaterialMode ()
 Return the normalized particle shading mode.
 
void setDistortionStrength (float strengthPixels)
 Set the maximum scene-color refraction offset in screen pixels.
 
float getDistortionStrength ()
 Return the configured scene-color refraction offset in screen pixels.
 
void setOverflowMode (const std::string &mode)
 
void setMaxDeltaTime (float seconds)
 
void addSubEmitter (ParticleEmitter *target, const std::string &trigger, float inheritVelocity=0.f)
 
void clearSubEmitters ()
 
void addForceField (float x, float y, float radius, float strength, float falloff=1.f)
 
void clearForceFields ()
 
void setShader (graphics::Shader *shader)
 
graphics::Shader * getShader ()
 
void setLights (bool enabled, float radius=120.f, float intensity=1.f, float r=1.f, float g=1.f, float b=1.f, int maxLights=4)
 
bool getLightsEnabled ()
 
void setBlendMode (const std::string &mode)
 
std::string getBlendMode ()
 
void setFlipbook (int hframes, int vframes, float framesPerSecond=0.f, float randomStart=0.f)
 
void clearColorGradient ()
 
void addColorStop (float t, float r, float g, float b, float a)
 
void clearSizeCurve ()
 
void addSizeCurvePoint (float t, float v)
 
void clearRotationCurve ()
 
void addRotationCurvePoint (float t, float v)
 
void setColorStart (float r, float g, float b, float a=1.f)
 
void setColorEnd (float r, float g, float b, float a=1.f)
 
void setTexture (graphics::Texture *texture)
 
graphics::Texture * getTexture ()
 
void setNormalTexture (graphics::Texture *texture)
 Set an optional tangent-space normal map for lit particles.
 
graphics::Texture * getNormalTexture ()
 Return the configured particle normal map.
 
void setCanvas (graphics::Canvas *canvas)
 
void setCamera (graphics::Camera2D *camera)
 
void setLayer (int layer)
 
int getLayer ()
 
void setVisible (bool visible)
 
bool isVisible ()
 
void start ()
 
void stop ()
 
void pause ()
 
void reset ()
 
void emit (int count)
 
eve::Result< void > advance (const eve::SimulationStep &step)
 Advance this emitter by one scheduler-owned simulation step.
 
eve::SimulationTick currentSimulationTick () const noexcept
 Last scheduler tick consumed by the checked emitter API.
 
bool isActive ()
 
bool isPaused ()
 
bool isStopped ()
 
int getCount ()
 
int getBufferSize ()
 
void applyPreset (const std::string &name)
 Named preset: "spark" / "smoke" / "fire". Unknown → no-op.
 
bool applyConfig (const std::string &json)
 
bool loadConfig (const std::string &path)
 
bool reloadConfig ()
 
void setAutoReload (bool enable)
 
bool getAutoReload ()
 
std::string getConfigPath ()
 
std::string getConfigReloadObservation () const
 Return the explicit config reload observation state.
 
void attachToBone (animation::AnimPose *pose, int boneIndex)
 
void attachToBoneByName (animation::AnimPose *pose, animation::AnimSkeleton *skeleton, const std::string &boneName)
 
void attachToSpineBone (animation::SpineSkeleton *spine, int boneIndex)
 
void attachToSpineBoneByName (animation::SpineSkeleton *spine, const std::string &boneName)
 
void attachToSkeleton2D (eve::ik::Skeleton2D *skeleton, int boneId)
 
void attachToSkeleton3D (eve::ik::Skeleton3D *skeleton, int boneId)
 
void setAttachOffset (float x, float y, float z)
 
void setAttachPlane (const std::string &plane)
 
void setAttachScale (float scale)
 
void setFollowBoneRotation (bool enable)
 
void detach ()
 
bool isAttached ()
 
int getAttachBone ()
 
std::string getAttachKind ()
 "none" | "anim" | "spine" | "ik2d" | "ik3d"
 
void syncAttach ()
 Sync Config.x/y (and direction) from the attached bone. Also called by ParticleSimSystem.
 
void setSkinSource (animation::AnimSkin *skin, animation::AnimPose *pose)
 
void setSkinBoneFilter (int skeletonBoneIndex, float minWeight=0.f)
 
void setSkinBoneFilterByName (animation::AnimSkeleton *skeleton, const std::string &boneName, float minWeight=0.f)
 
void setSkinPlane (const std::string &plane)
 
void setSkinScale (float scale)
 
void clearSkinSource ()
 
bool hasSkinSource ()
 
void emitFromSkin (int count)
 Burst-emit count particles from the current skinned surface.
 

静态 Public 成员函数

static ParticleEmitter * createEmitter (int bufferSize=1000)
 

详细描述

ECS emitter entity. Script configures components; ParticleSimSystem / ParticleRenderSystem drive per-frame update & draw.

在文件 ParticleEmitter.h 第 71 行定义.

成员函数说明

◆ addBurst()

void eve::particles::ParticleEmitter::addBurst ( float  time,
int  count 
)

在文件 ParticleEmitter.cpp 第 850 行定义.

引用了 count , 以及 time.

◆ addColorStop()

void eve::particles::ParticleEmitter::addColorStop ( float  t,
float  r,
float  g,
float  b,
float  a 
)

在文件 ParticleEmitter.cpp 第 1129 行定义.

引用了 a, b, g, r , 以及 t.

◆ addForceField()

void eve::particles::ParticleEmitter::addForceField ( float  x,
float  y,
float  radius,
float  strength,
float  falloff = 1.f 
)

◆ addRotationCurvePoint()

void eve::particles::ParticleEmitter::addRotationCurvePoint ( float  t,
float  v 
)

在文件 ParticleEmitter.cpp 第 1139 行定义.

引用了 t , 以及 v.

◆ addSizeCurvePoint()

void eve::particles::ParticleEmitter::addSizeCurvePoint ( float  t,
float  v 
)

在文件 ParticleEmitter.cpp 第 1135 行定义.

引用了 t , 以及 v.

◆ addSubEmitter()

void eve::particles::ParticleEmitter::addSubEmitter ( ParticleEmitter *  target,
const std::string &  trigger,
float  inheritVelocity = 0.f 
)

◆ addVelocityCurvePoint()

void eve::particles::ParticleEmitter::addVelocityCurvePoint ( float  t,
float  v 
)

在文件 ParticleEmitter.cpp 第 879 行定义.

引用了 t , 以及 v.

◆ advance()

eve::Result< void > eve::particles::ParticleEmitter::advance ( const eve::SimulationStep &  step)

Advance this emitter by one scheduler-owned simulation step.

参数
stepInjected tick and duration; no wall clock or private fixed-step accumulator is consulted by this checked path.
返回
Checked status; repeated/rewound ticks and invalid durations are rejected without changing simulation state.
备注
ParticleSimSystem::advance is the preferred path when GPU residency and global budgets are enabled. This method is the CPU emitter-domain adapter.

在文件 ParticlePlayback.cpp 第 64 行定义.

引用了 eve::particles::advanceEmitterSim() , 以及 step.

◆ applyConfig()

bool eve::particles::ParticleEmitter::applyConfig ( const std::string &  json)

在文件 ParticleEmitter.cpp 第 1221 行定义.

引用了 eve::particles::applyConfigText().

◆ applyPreset()

void eve::particles::ParticleEmitter::applyPreset ( const std::string &  name)

◆ attachToBone()

void eve::particles::ParticleEmitter::attachToBone ( animation::AnimPose *  pose,
int  boneIndex 
)

◆ attachToBoneByName()

void eve::particles::ParticleEmitter::attachToBoneByName ( animation::AnimPose *  pose,
animation::AnimSkeleton *  skeleton,
const std::string &  boneName 
)

◆ attachToSkeleton2D()

void eve::particles::ParticleEmitter::attachToSkeleton2D ( eve::ik::Skeleton2D *  skeleton,
int  boneId 
)

◆ attachToSkeleton3D()

void eve::particles::ParticleEmitter::attachToSkeleton3D ( eve::ik::Skeleton3D *  skeleton,
int  boneId 
)

◆ attachToSpineBone()

void eve::particles::ParticleEmitter::attachToSpineBone ( animation::SpineSkeleton *  spine,
int  boneIndex 
)

◆ attachToSpineBoneByName()

void eve::particles::ParticleEmitter::attachToSpineBoneByName ( animation::SpineSkeleton *  spine,
const std::string &  boneName 
)

◆ bindFloatParameter()

void eve::particles::ParticleEmitter::bindFloatParameter ( const std::string &  name,
const std::string &  target,
float  scale = 1.f,
float  offset = 0.f 
)

Bind a parameter to emission, speed, size, or playback scaling.

在文件 ParticleEmitter.cpp 第 946 行定义.

引用了 name, offset, scale , 以及 target.

◆ clearBursts()

void eve::particles::ParticleEmitter::clearBursts ( )

在文件 ParticleEmitter.cpp 第 855 行定义.

◆ clearColorGradient()

void eve::particles::ParticleEmitter::clearColorGradient ( )

在文件 ParticleEmitter.cpp 第 1127 行定义.

◆ clearFloatParameterBindings()

void eve::particles::ParticleEmitter::clearFloatParameterBindings ( )

Remove all parameter-to-runtime bindings.

在文件 ParticleEmitter.cpp 第 953 行定义.

◆ clearFloatParameters()

void eve::particles::ParticleEmitter::clearFloatParameters ( )

Remove all exposed float values.

在文件 ParticleEmitter.cpp 第 944 行定义.

◆ clearForceFields()

void eve::particles::ParticleEmitter::clearForceFields ( )

在文件 ParticleEmitter.cpp 第 1071 行定义.

◆ clearRotationCurve()

void eve::particles::ParticleEmitter::clearRotationCurve ( )

在文件 ParticleEmitter.cpp 第 1137 行定义.

◆ clearSizeCurve()

void eve::particles::ParticleEmitter::clearSizeCurve ( )

在文件 ParticleEmitter.cpp 第 1133 行定义.

◆ clearSkinSource()

void eve::particles::ParticleEmitter::clearSkinSource ( )

在文件 ParticleEmitter.cpp 第 1406 行定义.

引用了 s.

◆ clearSubEmitters()

void eve::particles::ParticleEmitter::clearSubEmitters ( )

在文件 ParticleEmitter.cpp 第 1057 行定义.

◆ clearVelocityCurve()

void eve::particles::ParticleEmitter::clearVelocityCurve ( )

在文件 ParticleEmitter.cpp 第 877 行定义.

◆ createEmitter()

ParticleEmitter * eve::particles::ParticleEmitter::createEmitter ( int  bufferSize = 1000)
static

◆ currentSimulationTick()

eve::SimulationTick eve::particles::ParticleEmitter::currentSimulationTick ( ) const
inlinenoexcept

Last scheduler tick consumed by the checked emitter API.

在文件 ParticleEmitter.h 第 654 行定义.

引用了 buffer , 以及 eve::detail::StrongUint64< detail::SimulationTickTag >::zero().

◆ detach()

void eve::particles::ParticleEmitter::detach ( )

在文件 ParticleEmitter.cpp 第 1348 行定义.

◆ emit()

void eve::particles::ParticleEmitter::emit ( int  count)

在文件 ParticlePlayback.cpp 第 168 行定义.

引用了 c, count, s, eve::particles::spawnParticle() , 以及 syncAttach().

◆ emitFromSkin()

void eve::particles::ParticleEmitter::emitFromSkin ( int  count)

Burst-emit count particles from the current skinned surface.

在文件 ParticleEmitter.cpp 第 1418 行定义.

引用了 c, count, s, eve::particles::sampleSkinSpawn(), eve::particles::spawnParticleAt(), sx , 以及 sy.

◆ getAttachBone()

int eve::particles::ParticleEmitter::getAttachBone ( )

在文件 ParticleEmitter.cpp 第 1353 行定义.

◆ getAttachKind()

◆ getAutoRandomSeed()

bool eve::particles::ParticleEmitter::getAutoRandomSeed ( )

Return whether start() generates a new random seed.

在文件 ParticlePlayback.cpp 第 102 行定义.

◆ getAutoReload()

bool eve::particles::ParticleEmitter::getAutoReload ( )

在文件 ParticleEmitter.cpp 第 1245 行定义.

引用了 resource.

◆ getBlendMode()

std::string eve::particles::ParticleEmitter::getBlendMode ( )

◆ getBufferSize()

int eve::particles::ParticleEmitter::getBufferSize ( )

在文件 ParticlePlayback.cpp 第 189 行定义.

◆ getConfigPath()

std::string eve::particles::ParticleEmitter::getConfigPath ( )

在文件 ParticleEmitter.cpp 第 1246 行定义.

引用了 resource.

◆ getConfigReloadObservation()

◆ getCount()

int eve::particles::ParticleEmitter::getCount ( )

在文件 ParticlePlayback.cpp 第 185 行定义.

引用了 g.

◆ getCullDistance()

float eve::particles::ParticleEmitter::getCullDistance ( )

Return the camera distance cutoff.

在文件 ParticleScalability.cpp 第 24 行定义.

◆ getCullingMode()

std::string eve::particles::ParticleEmitter::getCullingMode ( )

Return the offscreen simulation policy.

在文件 ParticleScalability.cpp 第 18 行定义.

◆ getDirection()

float eve::particles::ParticleEmitter::getDirection ( )

在文件 ParticleEmitter.cpp 第 772 行定义.

◆ getDistortionStrength()

float eve::particles::ParticleEmitter::getDistortionStrength ( )

Return the configured scene-color refraction offset in screen pixels.

在文件 ParticleEmitter.cpp 第 1036 行定义.

◆ getEmissionAreaType()

std::string eve::particles::ParticleEmitter::getEmissionAreaType ( )

在文件 ParticleEmitter.cpp 第 815 行定义.

◆ getEmissionAreaX()

float eve::particles::ParticleEmitter::getEmissionAreaX ( )

在文件 ParticleEmitter.cpp 第 816 行定义.

◆ getEmissionAreaY()

float eve::particles::ParticleEmitter::getEmissionAreaY ( )

在文件 ParticleEmitter.cpp 第 817 行定义.

◆ getEmissionRate()

float eve::particles::ParticleEmitter::getEmissionRate ( )

在文件 ParticleEmitter.cpp 第 757 行定义.

◆ getEmissionRateOverDistance()

float eve::particles::ParticleEmitter::getEmissionRateOverDistance ( )

Return particles emitted per world unit travelled.

在文件 ParticlePlayback.cpp 第 72 行定义.

◆ getEmitterLifetime()

float eve::particles::ParticleEmitter::getEmitterLifetime ( )

在文件 ParticleEmitter.cpp 第 769 行定义.

◆ getFixedTimeStep()

float eve::particles::ParticleEmitter::getFixedTimeStep ( )

Return the fixed step in seconds, or zero for variable stepping.

在文件 ParticlePlayback.cpp 第 88 行定义.

◆ getFloatParameter()

float eve::particles::ParticleEmitter::getFloatParameter ( const std::string &  name,
float  fallback = 0.f 
)

Return a named float parameter, or fallback when absent.

在文件 ParticleEmitter.cpp 第 935 行定义.

引用了 found , 以及 name.

◆ getGpuFallbackReason()

std::string eve::particles::ParticleEmitter::getGpuFallbackReason ( )

Explain CPU fallback; empty means GPU active, "pending_activation" means eligible.

在文件 ParticleEmitter.cpp 第 922 行定义.

引用了 draw.

◆ getGpuSimulation()

bool eve::particles::ParticleEmitter::getGpuSimulation ( )

在文件 ParticleEmitter.cpp 第 914 行定义.

◆ getLayer()

int eve::particles::ParticleEmitter::getLayer ( )

在文件 ParticleEmitter.cpp 第 1161 行定义.

引用了 draw.

◆ getLightsEnabled()

bool eve::particles::ParticleEmitter::getLightsEnabled ( )

在文件 ParticleEmitter.cpp 第 1088 行定义.

◆ getLooping()

bool eve::particles::ParticleEmitter::getLooping ( )

Return whether the finite emitter timeline repeats.

在文件 ParticlePlayback.cpp 第 75 行定义.

◆ getMaterialMode()

std::string eve::particles::ParticleEmitter::getMaterialMode ( )

Return the normalized particle shading mode.

在文件 ParticleEmitter.cpp 第 1030 行定义.

◆ getMaxSpawnPerFrame()

int eve::particles::ParticleEmitter::getMaxSpawnPerFrame ( )

Return the automatic per-frame spawn cap.

在文件 ParticleScalability.cpp 第 30 行定义.

◆ getMinimumQuality()

int eve::particles::ParticleEmitter::getMinimumQuality ( )

Return the minimum runtime quality tier.

在文件 ParticleScalability.cpp 第 12 行定义.

◆ getMotionVectorPolicy()

std::string eve::particles::ParticleEmitter::getMotionVectorPolicy ( )

Return the normalized motion-vector policy.

在文件 ParticleEmitter.cpp 第 991 行定义.

◆ getNormalTexture()

graphics::Texture * eve::particles::ParticleEmitter::getNormalTexture ( )

Return the configured particle normal map.

在文件 ParticleEmitter.cpp 第 1155 行定义.

引用了 draw.

◆ getParticleHeight()

float eve::particles::ParticleEmitter::getParticleHeight ( )

在文件 ParticleEmitter.cpp 第 826 行定义.

◆ getParticleLifetimeMax()

float eve::particles::ParticleEmitter::getParticleLifetimeMax ( )

在文件 ParticleEmitter.cpp 第 766 行定义.

◆ getParticleLifetimeMin()

float eve::particles::ParticleEmitter::getParticleLifetimeMin ( )

在文件 ParticleEmitter.cpp 第 765 行定义.

◆ getParticleWidth()

float eve::particles::ParticleEmitter::getParticleWidth ( )

在文件 ParticleEmitter.cpp 第 825 行定义.

◆ getPlaybackSpeed()

float eve::particles::ParticleEmitter::getPlaybackSpeed ( )

Return the simulation time multiplier.

在文件 ParticlePlayback.cpp 第 79 行定义.

◆ getPrewarmSeconds()

float eve::particles::ParticleEmitter::getPrewarmSeconds ( )

在文件 ParticleEmitter.cpp 第 861 行定义.

◆ getPriority()

int eve::particles::ParticleEmitter::getPriority ( )

Return the emitter budget priority.

在文件 ParticleScalability.cpp 第 6 行定义.

◆ getRandomSeed()

int eve::particles::ParticleEmitter::getRandomSeed ( )

Return the configured deterministic seed.

在文件 ParticlePlayback.cpp 第 99 行定义.

◆ getResolvedParameterScale()

float eve::particles::ParticleEmitter::getResolvedParameterScale ( const std::string &  target)

Return the resolved non-negative multiplier for a supported target.

在文件 ParticleEmitter.cpp 第 955 行定义.

引用了 target.

◆ getSdfField()

eve::IParticleSdfField * eve::particles::ParticleEmitter::getSdfField ( )

Return the borrowed SDF field, or null. @ownership Borrowed. The emitter does not own the field; do not delete it. @lifetime Valid until setSdfField replaces or clears it, or the emitter is destroyed. Clear the binding before destroying the field.

在文件 ParticleEmitter.cpp 第 984 行定义.

◆ getShader()

graphics::Shader * eve::particles::ParticleEmitter::getShader ( )

在文件 ParticleEmitter.cpp 第 1074 行定义.

引用了 draw.

◆ getSimulationBackend()

std::string eve::particles::ParticleEmitter::getSimulationBackend ( )

Return "gpu" for active resident simulation, otherwise "cpu".

在文件 ParticleEmitter.cpp 第 920 行定义.

◆ getSizeVariation()

float eve::particles::ParticleEmitter::getSizeVariation ( )

在文件 ParticleEmitter.cpp 第 836 行定义.

◆ getSortMode()

std::string eve::particles::ParticleEmitter::getSortMode ( )

Return the configured transparent ordering policy.

在文件 ParticleEmitter.cpp 第 1024 行定义.

◆ getSpread()

float eve::particles::ParticleEmitter::getSpread ( )

在文件 ParticleEmitter.cpp 第 777 行定义.

◆ getTexture()

graphics::Texture * eve::particles::ParticleEmitter::getTexture ( )

在文件 ParticleEmitter.cpp 第 1152 行定义.

引用了 draw.

◆ getX()

float eve::particles::ParticleEmitter::getX ( )

在文件 ParticleEmitter.cpp 第 750 行定义.

◆ getY()

float eve::particles::ParticleEmitter::getY ( )

在文件 ParticleEmitter.cpp 第 751 行定义.

◆ hasFloatParameter()

bool eve::particles::ParticleEmitter::hasFloatParameter ( const std::string &  name)

Return whether a named float parameter exists.

在文件 ParticleEmitter.cpp 第 940 行定义.

引用了 name.

◆ hasSkinSource()

bool eve::particles::ParticleEmitter::hasSkinSource ( )

在文件 ParticleEmitter.cpp 第 1416 行定义.

◆ isActive()

bool eve::particles::ParticleEmitter::isActive ( )

在文件 ParticlePlayback.cpp 第 178 行定义.

引用了 s.

◆ isAttached()

bool eve::particles::ParticleEmitter::isAttached ( )

在文件 ParticleEmitter.cpp 第 1352 行定义.

◆ isGpuFeatureSetSupported()

bool eve::particles::ParticleEmitter::isGpuFeatureSetSupported ( )

Return whether the configured feature set can use resident GPU simulation.

在文件 ParticleEmitter.cpp 第 918 行定义.

引用了 draw.

◆ isGpuSimulationActive()

bool eve::particles::ParticleEmitter::isGpuSimulationActive ( )

Return true after this emitter has migrated to a resident GPU backend.

在文件 ParticleEmitter.cpp 第 916 行定义.

◆ isMotionVectorActive()

bool eve::particles::ParticleEmitter::isMotionVectorActive ( )

True when a graphics path is actually writing motion vectors.

在文件 ParticleEmitter.cpp 第 996 行定义.

◆ isPaused()

bool eve::particles::ParticleEmitter::isPaused ( )

在文件 ParticlePlayback.cpp 第 182 行定义.

◆ isSoftParticlesActive()

bool eve::particles::ParticleEmitter::isSoftParticlesActive ( )

True when soft particles have both a resident renderer and scene depth.

在文件 ParticleEmitter.cpp 第 1232 行定义.

◆ isStopped()

bool eve::particles::ParticleEmitter::isStopped ( )

◆ isVisible()

bool eve::particles::ParticleEmitter::isVisible ( )

在文件 ParticleEmitter.cpp 第 1164 行定义.

引用了 draw.

◆ loadConfig()

bool eve::particles::ParticleEmitter::loadConfig ( const std::string &  path)

在文件 ParticleEmitter.cpp 第 1238 行定义.

引用了 eve::particles::loadConfigFile() , 以及 path.

◆ moveTo()

void eve::particles::ParticleEmitter::moveTo ( float  x,
float  y 
)

在文件 ParticleEmitter.cpp 第 748 行定义.

引用了 setPosition(), x , 以及 y.

◆ pause()

void eve::particles::ParticleEmitter::pause ( )

在文件 ParticlePlayback.cpp 第 141 行定义.

引用了 s.

◆ release()

void eve::particles::ParticleEmitter::release ( )
override

Entity.

Release.

在文件 ParticleEmitter.cpp 第 730 行定义.

◆ reloadConfig()

bool eve::particles::ParticleEmitter::reloadConfig ( )

在文件 ParticleEmitter.cpp 第 1242 行定义.

引用了 eve::particles::reloadConfigFile().

◆ reset()

void eve::particles::ParticleEmitter::reset ( )

在文件 ParticlePlayback.cpp 第 146 行定义.

引用了 b, g, p , 以及 s.

◆ setAttachOffset()

void eve::particles::ParticleEmitter::setAttachOffset ( float  x,
float  y,
float  z 
)

在文件 ParticleEmitter.cpp 第 1325 行定义.

引用了 a, syncAttach(), x, y , 以及 z.

◆ setAttachPlane()

void eve::particles::ParticleEmitter::setAttachPlane ( const std::string &  plane)

在文件 ParticleEmitter.cpp 第 1333 行定义.

引用了 enabled , 以及 syncAttach().

◆ setAttachScale()

void eve::particles::ParticleEmitter::setAttachScale ( float  scale)

在文件 ParticleEmitter.cpp 第 1338 行定义.

引用了 enabled, scale , 以及 syncAttach().

◆ setAutoRandomSeed()

void eve::particles::ParticleEmitter::setAutoRandomSeed ( bool  enabled)

Generate a new random seed whenever start() is called.

在文件 ParticlePlayback.cpp 第 101 行定义.

引用了 enabled.

◆ setAutoReload()

void eve::particles::ParticleEmitter::setAutoReload ( bool  enable)

在文件 ParticleEmitter.cpp 第 1244 行定义.

引用了 resource.

◆ setBlendMode()

void eve::particles::ParticleEmitter::setBlendMode ( const std::string &  mode)

◆ setCamera()

void eve::particles::ParticleEmitter::setCamera ( graphics::Camera2D *  camera)

在文件 ParticleEmitter.cpp 第 1158 行定义.

引用了 camera , 以及 draw.

◆ setCanvas()

void eve::particles::ParticleEmitter::setCanvas ( graphics::Canvas *  canvas)

在文件 ParticleEmitter.cpp 第 1157 行定义.

引用了 draw.

◆ setCollision()

void eve::particles::ParticleEmitter::setCollision ( const std::string &  mode,
float  radius = 0.f,
float  restitution = 0.6f,
float  lifetimeLoss = 0.f 
)

在文件 ParticleEmitter.cpp 第 959 行定义.

引用了 c, radius , 以及 restitution.

◆ setCollisionBounds()

void eve::particles::ParticleEmitter::setCollisionBounds ( bool  enabled,
float  minX,
float  minY,
float  maxX,
float  maxY 
)

在文件 ParticleEmitter.cpp 第 970 行定义.

引用了 c , 以及 enabled.

◆ setColorEnd()

void eve::particles::ParticleEmitter::setColorEnd ( float  r,
float  g,
float  b,
float  a = 1.f 
)

在文件 ParticleEmitter.cpp 第 1147 行定义.

引用了 a, b, g , 以及 r.

被这些函数引用 applyPreset().

◆ setColorStart()

void eve::particles::ParticleEmitter::setColorStart ( float  r,
float  g,
float  b,
float  a = 1.f 
)

在文件 ParticleEmitter.cpp 第 1143 行定义.

引用了 a, b, g , 以及 r.

被这些函数引用 applyPreset().

◆ setCullDistance()

void eve::particles::ParticleEmitter::setCullDistance ( float  distance)

Set camera distance cutoff in world units; zero disables it.

在文件 ParticleScalability.cpp 第 20 行定义.

引用了 distance.

◆ setCullingMode()

void eve::particles::ParticleEmitter::setCullingMode ( const std::string &  mode)

Set offscreen simulation policy: automatic, pause, or always.

在文件 ParticleScalability.cpp 第 14 行定义.

◆ setDamping()

void eve::particles::ParticleEmitter::setDamping ( float  perSecond)

在文件 ParticleEmitter.cpp 第 869 行定义.

◆ setDirection()

void eve::particles::ParticleEmitter::setDirection ( float  radians)

在文件 ParticleEmitter.cpp 第 771 行定义.

被这些函数引用 applyPreset().

◆ setDistortionStrength()

void eve::particles::ParticleEmitter::setDistortionStrength ( float  strengthPixels)

Set the maximum scene-color refraction offset in screen pixels.

在文件 ParticleEmitter.cpp 第 1032 行定义.

◆ setEmissionArea()

void eve::particles::ParticleEmitter::setEmissionArea ( const std::string &  type,
float  x,
float  y 
)

在文件 ParticleEmitter.cpp 第 805 行定义.

引用了 c, type, x , 以及 y.

被这些函数引用 applyPreset().

◆ setEmissionRate()

void eve::particles::ParticleEmitter::setEmissionRate ( float  rate)

在文件 ParticleEmitter.cpp 第 753 行定义.

引用了 rate.

被这些函数引用 applyPreset().

◆ setEmissionRateOverDistance()

void eve::particles::ParticleEmitter::setEmissionRateOverDistance ( float  rate)

Set particles emitted per world unit travelled; zero disables it.

在文件 ParticlePlayback.cpp 第 68 行定义.

引用了 rate.

◆ setEmitterLifetime()

void eve::particles::ParticleEmitter::setEmitterLifetime ( float  seconds)

在文件 ParticleEmitter.cpp 第 768 行定义.

被这些函数引用 applyPreset().

◆ setFixedTimeStep()

void eve::particles::ParticleEmitter::setFixedTimeStep ( float  seconds,
int  maxSubSteps = 8 
)

Configure fixed stepping and the per-frame catch-up limit; zero seconds disables it.

在文件 ParticlePlayback.cpp 第 81 行定义.

引用了 c.

◆ setFlipbook()

void eve::particles::ParticleEmitter::setFlipbook ( int  hframes,
int  vframes,
float  framesPerSecond = 0.f,
float  randomStart = 0.f 
)

在文件 ParticleEmitter.cpp 第 1119 行定义.

引用了 c, h , 以及 v.

◆ setFloatParameter()

void eve::particles::ParticleEmitter::setFloatParameter ( const std::string &  name,
float  value 
)

Set a named gameplay/VFX float parameter without rebuilding the emitter.

在文件 ParticleEmitter.cpp 第 931 行定义.

引用了 name , 以及 value.

◆ setFollowBoneRotation()

void eve::particles::ParticleEmitter::setFollowBoneRotation ( bool  enable)

在文件 ParticleEmitter.cpp 第 1343 行定义.

引用了 enabled , 以及 syncAttach().

◆ setGpuSimulation()

void eve::particles::ParticleEmitter::setGpuSimulation ( bool  enable)

在文件 ParticleEmitter.cpp 第 899 行定义.

◆ setGravity()

void eve::particles::ParticleEmitter::setGravity ( float  x,
float  y 
)

在文件 ParticleEmitter.cpp 第 863 行定义.

引用了 c, x , 以及 y.

◆ setInheritVelocity()

void eve::particles::ParticleEmitter::setInheritVelocity ( float  fraction)

在文件 ParticleEmitter.cpp 第 883 行定义.

◆ setLayer()

void eve::particles::ParticleEmitter::setLayer ( int  layer)

在文件 ParticleEmitter.cpp 第 1160 行定义.

引用了 draw , 以及 layer.

◆ setLights()

void eve::particles::ParticleEmitter::setLights ( bool  enabled,
float  radius = 120.f,
float  intensity = 1.f,
float  r = 1.f,
float  g = 1.f,
float  b = 1.f,
int  maxLights = 4 
)

在文件 ParticleEmitter.cpp 第 1076 行定义.

引用了 b, c, enabled, g, r , 以及 radius.

◆ setLimitVelocity()

void eve::particles::ParticleEmitter::setLimitVelocity ( float  maxSpeed)

在文件 ParticleEmitter.cpp 第 873 行定义.

◆ setLinearAcceleration()

void eve::particles::ParticleEmitter::setLinearAcceleration ( float  xmin,
float  ymin,
float  xmax,
float  ymax 
)

在文件 ParticleEmitter.cpp 第 785 行定义.

引用了 c.

被这些函数引用 applyPreset().

◆ setLooping()

void eve::particles::ParticleEmitter::setLooping ( bool  looping)

Enable or disable repeating a finite emitter timeline.

在文件 ParticlePlayback.cpp 第 74 行定义.

◆ setMaterialMode()

void eve::particles::ParticleEmitter::setMaterialMode ( const std::string &  mode)

Select particle shading: "unlit", "lit", or scene-color "distortion".

在文件 ParticleEmitter.cpp 第 1026 行定义.

◆ setMaxDeltaTime()

void eve::particles::ParticleEmitter::setMaxDeltaTime ( float  seconds)

在文件 ParticleEmitter.cpp 第 1043 行定义.

◆ setMaxSpawnPerFrame()

void eve::particles::ParticleEmitter::setMaxSpawnPerFrame ( int  count)

Cap automatic spawns per frame; zero is unlimited.

在文件 ParticleScalability.cpp 第 26 行定义.

引用了 count.

◆ setMinimumQuality()

void eve::particles::ParticleEmitter::setMinimumQuality ( int  quality)

Set the minimum runtime quality tier in [0,3].

在文件 ParticleScalability.cpp 第 8 行定义.

◆ setMotionVectorPolicy()

void eve::particles::ParticleEmitter::setMotionVectorPolicy ( const std::string &  policy)

Set motion-vector policy: none, velocity, or spawn_delta.

备注
Policy is stored for assets/tools; GPU velocity-buffer emission is not active until isMotionVectorActive() reports true.

在文件 ParticleEmitter.cpp 第 986 行定义.

◆ setNoise()

void eve::particles::ParticleEmitter::setNoise ( float  strength,
float  frequency = 1.f,
float  speed = 1.f 
)

在文件 ParticleEmitter.cpp 第 892 行定义.

引用了 c , 以及 strength.

◆ setNormalTexture()

void eve::particles::ParticleEmitter::setNormalTexture ( graphics::Texture *  texture)

Set an optional tangent-space normal map for lit particles.

在文件 ParticleEmitter.cpp 第 1154 行定义.

引用了 draw.

◆ setOverflowMode()

void eve::particles::ParticleEmitter::setOverflowMode ( const std::string &  mode)

在文件 ParticleEmitter.cpp 第 1038 行定义.

◆ setParticleLifetime()

void eve::particles::ParticleEmitter::setParticleLifetime ( float  minLife,
float  maxLife 
)

在文件 ParticleEmitter.cpp 第 759 行定义.

引用了 c.

被这些函数引用 applyPreset().

◆ setParticleSize()

void eve::particles::ParticleEmitter::setParticleSize ( float  width,
float  height 
)

在文件 ParticleEmitter.cpp 第 819 行定义.

引用了 c, height , 以及 width.

被这些函数引用 applyPreset().

◆ setPlaybackSpeed()

void eve::particles::ParticleEmitter::setPlaybackSpeed ( float  speed)

Scale simulation time; zero freezes playback.

在文件 ParticlePlayback.cpp 第 77 行定义.

◆ setPosition()

void eve::particles::ParticleEmitter::setPosition ( float  x,
float  y 
)

在文件 ParticleEmitter.cpp 第 743 行定义.

引用了 x , 以及 y.

被这些函数引用 moveTo().

◆ setPrewarm()

void eve::particles::ParticleEmitter::setPrewarm ( float  seconds)

在文件 ParticleEmitter.cpp 第 857 行定义.

◆ setPriority()

void eve::particles::ParticleEmitter::setPriority ( int  priority)

Set budget order; higher values are processed first.

在文件 ParticleScalability.cpp 第 5 行定义.

引用了 priority.

◆ setRadialAcceleration()

void eve::particles::ParticleEmitter::setRadialAcceleration ( float  minA,
float  maxA 
)

在文件 ParticleEmitter.cpp 第 793 行定义.

引用了 c.

被这些函数引用 applyPreset().

◆ setRandomSeed()

void eve::particles::ParticleEmitter::setRandomSeed ( int  seed)

Select a deterministic seed and disable automatic seeding.

在文件 ParticlePlayback.cpp 第 90 行定义.

引用了 c, s , 以及 seed.

◆ setRenderAxis()

void eve::particles::ParticleEmitter::setRenderAxis ( float  degrees)

Set the fixed screen-space orientation used by render mode "axis".

在文件 ParticleEmitter.cpp 第 1018 行定义.

引用了 degrees.

◆ setRenderMode()

void eve::particles::ParticleEmitter::setRenderMode ( const std::string &  mode,
float  stretchFactor = 1.f 
)

在文件 ParticleEmitter.cpp 第 1002 行定义.

引用了 c.

◆ setRibbon()

void eve::particles::ParticleEmitter::setRibbon ( float  width = 1.f,
float  minSegmentLength = 1.f 
)

Configure connected ribbon rendering and switch to ribbon mode.

在文件 ParticleEmitter.cpp 第 1011 行定义.

引用了 c , 以及 width.

◆ setSdfField()

void eve::particles::ParticleEmitter::setSdfField ( eve::IParticleSdfField *  field)

Bind a borrowed SDF field for particle collision sampling.

参数
fieldBorrowed field, or null to clear. Does not take ownership.

在文件 ParticleEmitter.cpp 第 982 行定义.

◆ setShader()

void eve::particles::ParticleEmitter::setShader ( graphics::Shader *  shader)

在文件 ParticleEmitter.cpp 第 1073 行定义.

引用了 draw , 以及 shader.

◆ setSimulationSpace()

void eve::particles::ParticleEmitter::setSimulationSpace ( const std::string &  space)

在文件 ParticleEmitter.cpp 第 888 行定义.

◆ setSizes()

void eve::particles::ParticleEmitter::setSizes ( float  startScale,
float  endScale 
)

在文件 ParticleEmitter.cpp 第 828 行定义.

被这些函数引用 applyPreset().

◆ setSizeVariation()

void eve::particles::ParticleEmitter::setSizeVariation ( float  variation)

在文件 ParticleEmitter.cpp 第 833 行定义.

被这些函数引用 applyPreset().

◆ setSkinBoneFilter()

void eve::particles::ParticleEmitter::setSkinBoneFilter ( int  skeletonBoneIndex,
float  minWeight = 0.f 
)

在文件 ParticleEmitter.cpp 第 1384 行定义.

引用了 s.

被这些函数引用 setSkinBoneFilterByName().

◆ setSkinBoneFilterByName()

void eve::particles::ParticleEmitter::setSkinBoneFilterByName ( animation::AnimSkeleton *  skeleton,
const std::string &  boneName,
float  minWeight = 0.f 
)

◆ setSkinPlane()

void eve::particles::ParticleEmitter::setSkinPlane ( const std::string &  plane)

在文件 ParticleEmitter.cpp 第 1400 行定义.

◆ setSkinScale()

void eve::particles::ParticleEmitter::setSkinScale ( float  scale)

在文件 ParticleEmitter.cpp 第 1404 行定义.

引用了 scale.

◆ setSkinSource()

void eve::particles::ParticleEmitter::setSkinSource ( animation::AnimSkin *  skin,
animation::AnimPose *  pose 
)

在文件 ParticleEmitter.cpp 第 1375 行定义.

引用了 pose , 以及 s.

◆ setSoftParticles()

void eve::particles::ParticleEmitter::setSoftParticles ( bool  enabled,
float  particleDepth = 0.5f,
float  fadeDistance = 0.05f 
)

Fade resident particles where they intersect sampled scene depth.

在文件 ParticleEmitter.cpp 第 1225 行定义.

引用了 c , 以及 enabled.

◆ setSortMode()

void eve::particles::ParticleEmitter::setSortMode ( const std::string &  mode)

Select stable per-emitter transparent ordering.

在文件 ParticleEmitter.cpp 第 1020 行定义.

◆ setSpeed()

void eve::particles::ParticleEmitter::setSpeed ( float  minSpeed,
float  maxSpeed 
)

在文件 ParticleEmitter.cpp 第 779 行定义.

引用了 c.

被这些函数引用 applyPreset().

◆ setSpin()

void eve::particles::ParticleEmitter::setSpin ( float  minSpin,
float  maxSpin 
)

在文件 ParticleEmitter.cpp 第 838 行定义.

引用了 c.

被这些函数引用 applyPreset().

◆ setSpread()

void eve::particles::ParticleEmitter::setSpread ( float  radians)

在文件 ParticleEmitter.cpp 第 774 行定义.

被这些函数引用 applyPreset().

◆ setStartRotation()

void eve::particles::ParticleEmitter::setStartRotation ( float  minDeg,
float  maxDeg 
)

在文件 ParticleEmitter.cpp 第 844 行定义.

引用了 c.

◆ setTangentialAcceleration()

void eve::particles::ParticleEmitter::setTangentialAcceleration ( float  minA,
float  maxA 
)

在文件 ParticleEmitter.cpp 第 799 行定义.

引用了 c.

被这些函数引用 applyPreset().

◆ setTexture()

void eve::particles::ParticleEmitter::setTexture ( graphics::Texture *  texture)

在文件 ParticleEmitter.cpp 第 1151 行定义.

引用了 draw.

◆ setVisible()

void eve::particles::ParticleEmitter::setVisible ( bool  visible)

在文件 ParticleEmitter.cpp 第 1163 行定义.

引用了 draw , 以及 visible.

被这些函数引用 eve::particles::applyUnderwaterParticles() , 以及 eve::particles::applyUnderwaterSurfaceVfx().

◆ setWorldCollision()

void eve::particles::ParticleEmitter::setWorldCollision ( bool  enabled)

在文件 ParticleEmitter.cpp 第 980 行定义.

引用了 enabled.

◆ start()

void eve::particles::ParticleEmitter::start ( )

◆ stop()

void eve::particles::ParticleEmitter::stop ( )

在文件 ParticlePlayback.cpp 第 128 行定义.

引用了 s.

被这些函数引用 eve::particles::applyUnderwaterParticles() , 以及 eve::particles::applyUnderwaterSurfaceVfx().

◆ syncAttach()

void eve::particles::ParticleEmitter::syncAttach ( )

该类的文档由以下文件生成: