|
|
class | ezParticleWorldModule |
| |
|
class | ezParticleEffectUpdateTask |
| |
|
|
class | ezParticleEffectController |
| |
|
bool | Update (const ezTime &diff) |
| | Returns false when the effect is finished.
|
| |
| ezTime | GetTotalEffectLifeTime () const |
| | Returns the total (game) time that the effect is alive and has been updated.
|
| |
|
|
bool | IsSimulatedInLocalSpace () const |
| | Whether the effect is simulated around the origin and thus not affected by instance position and rotation.
|
| |
|
void | SetTransform (const ezTransform &transform, const ezVec3 &vParticleStartVelocity) |
| | Sets the transformation of this instance.
|
| |
|
void | SetTransformForNextFrame (const ezTransform &transform, const ezVec3 &vParticleStartVelocity) |
| | Sets the transformation of this instance that should be used next frame. This function is typically used to set the transformation while the particle simulation is running to prevent race conditions.
|
| |
|
const ezTransform & | GetTransform () const |
| | Returns the transform of the main or shared instance.
|
| |
|
bool | NeedsToApplyTransform () const |
| | For the renderer to know whether the instance transform has to be applied to each particle position.
|
| |
| ezSimdVec4f | GetWindAt (const ezSimdVec4f &vPosition) const |
| | Returns the wind at the given position.
|
| |
|
|
bool | IsSharedEffect () const |
| | Returns true, if this effect is configured to be simulated once per frame, but rendered by multiple instances.
|
| |
|
|
void | SetIsVisible () const |
| | Marks this effect as visible from at least one view. This affects simulation update rates.
|
| |
|
void | SetVisibleIf (ezParticleEffectInstance *pOtherVisible) |
| |
|
bool | IsVisible () const |
| | Whether the effect has been marked as visible recently.
|
| |
|
void | GetBoundingVolume (ezBoundingBoxSphere &ref_volume) const |
| | Returns the bounding volume of the effect. The volume is in the local space of the effect.
|
| |
◆ FindNearbyAttractors()
| void ezParticleEffectInstance::FindNearbyAttractors |
( |
ezTime |
diff | ) |
|
Refreshes the nearby attractor list and reads live properties.
Must be called from the main thread before particle tasks are dispatched. The spatial query (which attractors exist) is repeated ~once per second; position and properties are resolved from stored handles every frame so moving attractors stay accurate.
◆ GetAttractorData()
Returns the pre-computed attractor data, valid for use on worker threads during the current frame.
Reads from the slot opposite to the one currently being written by the main thread, matching the double-buffer scheme used by the wind sampling system.
◆ GetTotalEffectLifeTime()
| ezTime ezParticleEffectInstance::GetTotalEffectLifeTime |
( |
| ) |
const |
|
inline |
Returns the total (game) time that the effect is alive and has been updated.
Use this time, instead of a world clock, for time-dependent calculations. It is mostly tied to the world clock (game update), but additionally includes pre-simulation timings, which would otherwise be left out which can break some calculations.
◆ GetWindAt()
Returns the wind at the given position.
Returns a zero vector, if no wind value is available (invalid index).
◆ RequestAttractorSamples()
| void ezParticleEffectInstance::RequestAttractorSamples |
( |
ezUInt8 |
uiMaxAttractors | ) |
|
Called by a behavior to signal that this effect needs attractor sampling each frame.
uiMaxAttractors limits how many of the closest attractors are tracked.
The documentation for this class was generated from the following files:
- /home/runner/work/ezEngine/ezEngine/Code/EnginePlugins/ParticlePlugin/Effect/ParticleEffectInstance.h
- /home/runner/work/ezEngine/ezEngine/Code/EnginePlugins/ParticlePlugin/Effect/ParticleEffectInstance.cpp