Open 3D Engine LyShine Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
UiParticleEmitterInterface Class Referenceabstract

Bus for making requests to the UiParticleEmitterComponent. More...

#include <UiParticleEmitterBus.h>

Inherits AZ::ComponentBus.

Classes

struct  ParticleColorKeyframe
 
struct  ParticleFloatKeyframe
 

Public Types

enum class  EmitShape { Point , Circle , Quad }
 
enum class  ParticleCoordinateType { Cartesian , Polar }
 
enum class  ParticleInitialDirectionType { RelativeToEmitAngle , RelativeToEmitterCenter }
 
enum class  ParticleKeyframeTangentType { EaseIn , EaseOut , Linear , Step }
 

Public Member Functions

virtual bool GetIsEmitting ()=0
 Gets whether the emitter is emitting particles.
 
virtual void SetIsEmitting (bool emitParticles)=0
 Sets whether the emitter is emitting particles.
 
virtual bool GetIsRandomSeedFixed ()=0
 Gets whether the emitter uses a fixed random seed.
 
virtual void SetIsRandomSeedFixed (bool randomSeedFixed)=0
 Sets whether the emitter uses a fixed random seed.
 
virtual int GetRandomSeed ()=0
 Gets the emitter random seed.
 
virtual void SetRandomSeed (int randomSeed)=0
 Sets the emitter random seed.
 
virtual bool GetIsParticlePositionRelativeToEmitter ()=0
 Gets whether the particles move relative to the emitter position.
 
virtual void SetIsParticlePositionRelativeToEmitter (bool relativeToEmitter)=0
 Sets whether the particles move relative to the emitter position.
 
virtual float GetParticleEmitRate ()=0
 Gets the amount of particles emitted per second.
 
virtual void SetParticleEmitRate (float particleEmitRate)=0
 Sets the amount of particles emitted per second.
 
virtual bool GetIsEmitOnActivate ()=0
 Gets whether the emitter starts emitting on activate.
 
virtual void SetIsEmitOnActivate (bool emitOnActivate)=0
 Sets whether the emitter starts emitting on activate.
 
virtual bool GetIsHitParticleCountOnActivate ()=0
 Gets whether the average particle count is reached as soon as the emitter starts emitting.
 
virtual void SetIsHitParticleCountOnActivate (bool hitParticleCountOnActivate)=0
 Sets whether the average particle count is reached as soon as the emitter starts emitting.
 
virtual bool GetIsEmitterLifetimeInfinite ()=0
 Gets whether the emitter lifetime is infinite.
 
virtual void SetIsEmitterLifetimeInfinite (bool emitterLifetimeInfinite)=0
 Sets whether the emitter lifetime is infinite.
 
virtual float GetEmitterLifetime ()=0
 Gets the lifetime of the emitter (in seconds)
 
virtual void SetEmitterLifetime (float emitterLifetime)=0
 Sets the lifetime of the emitter (in seconds)
 
virtual bool GetIsParticleCountLimited ()=0
 Gets whether there is a cap on the amount of active particles.
 
virtual void SetIsParticleCountLimited (bool particleCountLimited)=0
 Sets whether there is a cap on the amount of active particles.
 
virtual AZ::u32 GetMaxParticles ()=0
 Gets the maximum amount of active particles.
 
virtual void SetMaxParticles (AZ::u32 maxParticles)=0
 Sets the maximum amount of active particles.
 
virtual EmitShape GetEmitterShape ()=0
 Gets the shape of the emitter.
 
virtual void SetEmitterShape (EmitShape emitterShape)=0
 Sets the shape of the emitter.
 
virtual bool GetIsEmitOnEdge ()=0
 Gets whether the particles are emitted on the edge of the emitter shape.
 
virtual void SetIsEmitOnEdge (bool emitOnEdge)=0
 Sets whether the particles are emitted on the edge of the emitter shape.
 
virtual float GetInsideEmitDistance ()=0
 Gets the inside distance from the emitter shape edge that particles should emit from.
 
virtual void SetInsideEmitDistance (float insideEmitDistance)=0
 Sets the inside distance from the emitter shape edge that particles should emit from.
 
virtual float GetOutsideEmitDistance ()=0
 Gets the outside distance from the emitter shape edge that particles should emit from.
 
virtual void SetOutsideEmitDistance (float outsideEmitDistance)=0
 Sets the outside distance from the emitter shape edge that particles should emit from.
 
virtual ParticleInitialDirectionType GetParticleInitialDirectionType ()=0
 Gets how the initial direction is calculated for Cartesian movement.
 
virtual void SetParticleInitialDirectionType (ParticleInitialDirectionType initialDirectionType)=0
 Sets how the initial direction is calculated for Cartesian movement.
 
virtual float GetEmitAngle ()=0
 Gets the angle that particles are emitted from (in degrees clockwise measured from straight up)
 
virtual void SetEmitAngle (float emitAngle)=0
 Sets the angle that particles are emitted from (in degrees clockwise measured from straight up)
 
virtual float GetEmitAngleVariation ()=0
 Gets the variation in the angle that particles are emitted from (in degrees, with 10 degrees variation being +/- 10 degrees about the emit angle)
 
virtual void SetEmitAngleVariation (float emitAngleVariation)=0
 Sets the variation in the angle that particles are emitted from (in degrees, with 10 degrees variation being +/- 10 degrees about the emit angle)
 
virtual bool GetIsParticleLifetimeInfinite ()=0
 Gets whether the particle lifetime is infinite.
 
virtual void SetIsParticleLifetimeInfinite (bool infiniteLifetime)=0
 Sets whether the particle lifetime is infinite.
 
virtual float GetParticleLifetime ()=0
 Gets the particle life time (in seconds)
 
virtual void SetParticleLifetime (float lifetime)=0
 Sets the particle life time (in seconds)
 
virtual float GetParticleLifetimeVariation ()=0
 Gets the particle life time variation (in seconds, 1 second variation being up to +/- 1 second about the lifetime)
 
virtual void SetParticleLifetimeVariation (float lifetimeVariation)=0
 Sets the particle life time variation (in seconds, 1 second variation being up to +/- 1 second about the lifetime)
 
virtual ISpriteGetSprite ()=0
 Gets the sprite to be used by the particles.
 
virtual void SetSprite (ISprite *sprite)=0
 Sets the sprite to be used by the particles.
 
virtual AZStd::string GetSpritePathname ()=0
 Gets the source location of the image to be displayed by the particles.
 
virtual void SetSpritePathname (AZStd::string spritePath)=0
 Sets the source location of the image to be displayed by the particles.
 
virtual bool GetIsSpriteSheetAnimated ()=0
 Gets whether the sprite-sheet cell index changes over time.
 
virtual void SetIsSpriteSheetAnimated (bool isSpriteSheetAnimated)=0
 Sets whether the sprite-sheet cell index changes over time.
 
virtual bool GetIsSpriteSheetAnimationLooped ()=0
 Gets whether the sprite-sheet cell animation is looped.
 
virtual void SetIsSpriteSheetAnimationLooped (bool isSpriteSheetAnimationLooped)=0
 Sets whether the sprite-sheet cell animation is looped.
 
virtual bool GetIsSpriteSheetIndexRandom ()=0
 Gets whether the sprite-sheet cell (starting) index is random.
 
virtual void SetIsSpriteSheetIndexRandom (bool isSpriteSheetIndexRandom)=0
 Sets whether the sprite-sheet cell (starting) index is random.
 
virtual int GetSpriteSheetCellIndex ()=0
 Gets the sprite-sheet cell (starting) index.
 
virtual void SetSpriteSheetCellIndex (int spriteSheetIndex)=0
 Sets the sprite-sheet cell (starting) index.
 
virtual int GetSpriteSheetCellEndIndex ()=0
 Gets the sprite-sheet cell end index.
 
virtual void SetSpriteSheetCellEndIndex (int spriteSheetEndIndex)=0
 Sets the sprite-sheet cell end index.
 
virtual float GetSpriteSheetFrameDelay ()=0
 Gets the sprite-sheet cell frame delay (in seconds)
 
virtual void SetSpriteSheetFrameDelay (float spriteSheetFrameDelay)=0
 Sets the sprite-sheet cell frame delay (in seconds)
 
virtual bool GetIsParticleAspectRatioLocked ()=0
 Gets whether the aspect ratio of the particles is locked.
 
virtual void SetIsParticleAspectRatioLocked (bool aspectRatioLocked)=0
 Sets whether the aspect ratio of the particles is locked.
 
virtual AZ::Vector2 GetParticlePivot ()=0
 Gets the particle pivot (where 0,0 is the top left of the particle and 1,1 is the bottom right of the particle)
 
virtual void SetParticlePivot (AZ::Vector2 particlePivot)=0
 Sets the particle pivot (where 0,0 is the top left of the particle and 1,1 is the bottom right of the particle)
 
virtual AZ::Vector2 GetParticleSize ()=0
 Gets the particle size.
 
virtual void SetParticleSize (AZ::Vector2 particleSize)=0
 Sets the particle size.
 
virtual float GetParticleWidth ()=0
 Gets the particle width.
 
virtual void SetParticleWidth (float width)=0
 Sets the particle width.
 
virtual float GetParticleWidthVariation ()=0
 Gets the particle width variation (a variation of 1 being up to 1 either side of the given width)
 
virtual void SetParticleWidthVariation (float widthVariation)=0
 Sets the particle width variation (a variation of 1 being up to 1 either side of the given width)
 
virtual float GetParticleHeight ()=0
 Gets the particle height.
 
virtual void SetParticleHeight (float height)=0
 Sets the particle height.
 
virtual float GetParticleHeightVariation ()=0
 Gets the particle height variation (a variation of 5 being up to 5 either side of the given height)
 
virtual void SetParticleHeightVariation (float heightVariation)=0
 Sets the particle height variation (a variation of 5 being up to 5 either side of the given height)
 
virtual ParticleCoordinateType GetParticleMovementCoordinateType ()=0
 Gets the particle movement co-ordinate type.
 
virtual void SetParticleMovementCoordinateType (ParticleCoordinateType particleMovementCoordinateType)=0
 Sets the particle movement co-ordinate type.
 
virtual ParticleCoordinateType GetParticleAccelerationCoordinateType ()=0
 Gets the particle acceleration co-ordinate type.
 
virtual void SetParticleAccelerationCoordinateType (ParticleCoordinateType particleAccelerationCoordinateType)=0
 Sets the particle acceleration co-ordinate type.
 
virtual AZ::Vector2 GetParticleInitialVelocity ()=0
 Gets the particle initial velocity for Polar movement.
 
virtual void SetParticleInitialVelocity (AZ::Vector2 initialVelocity)=0
 Sets the particle initial velocity for Polar movement.
 
virtual AZ::Vector2 GetParticleInitialVelocityVariation ()=0
 Gets the particle initial velocity variation for Polar movement (a variation of (1,2) being up to (1,2) either side of the initial velocity)
 
virtual void SetParticleInitialVelocityVariation (AZ::Vector2 initialVelocityVariation)=0
 Sets the particle initial velocity variation for Polar movement (a variation of (1,2) being up to (1,2) either side of the initial velocity)
 
virtual float GetParticleSpeed ()=0
 Gets the particle speed for particles with a random initial direction for Cartesian movement.
 
virtual void SetParticleSpeed (float speed)=0
 Sets the particle speed for particles with a random initial direction for Cartesian movement.
 
virtual float GetParticleSpeedVariation ()=0
 Gets the particle speed variation for particles with a random initial direction for Cartesian movement (a variation of 1 being up to 1 either side of the given speed)
 
virtual void SetParticleSpeedVariation (float speedVariation)=0
 Sets the particle speed variation for particles with a random initial direction for Cartesian movement (a variation of 1 being up to 1 either side of the given speed)
 
virtual AZ::Vector2 GetParticleAcceleration ()=0
 Gets the particle acceleration.
 
virtual void SetParticleAcceleration (AZ::Vector2 acceleration)=0
 Sets the particle acceleration.
 
virtual bool GetIsParticleRotationFromVelocity ()=0
 Gets whether the particle rotation is based on the current velocity.
 
virtual void SetIsParticleRotationFromVelocity (bool rotationFromVelocity)=0
 Sets whether the particle rotation is based on the current velocity.
 
virtual bool GetIsParticleInitialRotationFromInitialVelocity ()=0
 Gets whether the particle initial rotation is based on the initial velocity.
 
virtual void SetIsParticleInitialRotationFromInitialVelocity (bool rotationFromVelocity)=0
 Sets whether the particle initial rotation is based on the initial velocity.
 
virtual float GetParticleInitialRotation ()=0
 Gets the particle initial rotation (in degrees)
 
virtual void SetParticleInitialRotation (float initialRotation)=0
 Sets the particle initial rotation (in degrees)
 
virtual float GetParticleInitialRotationVariation ()=0
 Gets the particle initial rotation variation (in degrees, a variation of 10 being up to 10 degrees either side of the initial rotation)
 
virtual void SetParticleInitialRotationVariation (float initialRotationVariation)=0
 Sets the particle initial rotation variation (in degrees, a variation of 10 being up to 10 degrees either side of the initial rotation)
 
virtual float GetParticleRotationSpeed ()=0
 Gets the particle rotation speed (in degrees per second)
 
virtual void SetParticleRotationSpeed (float rotationSpeed)=0
 Sets the particle rotation speed (in degrees per second)
 
virtual float GetParticleRotationSpeedVariation ()=0
 Gets the particle rotation speed variation (in degrees, a variation of 5 being up to 5 either side of the rotation speed)
 
virtual void SetParticleRotationSpeedVariation (float rotationSpeedVariation)=0
 Sets the particle rotation speed variation (in degrees, a variation of 5 being up to 5 either side of the rotation speed)
 
virtual AZ::Color GetParticleColor ()=0
 Gets the particle color tint.
 
virtual void SetParticleColor (AZ::Color color)=0
 Sets the particle color tint.
 
virtual float GetParticleColorBrightnessVariation ()=0
 Gets the particle color brightness variation (from 0-1, 0 being no variation, 1 being random variation from the original color down to black)
 
virtual void SetParticleColorBrightnessVariation (float brightnessVariation)=0
 Sets the particle color brightness variation (from 0-1, 0 being no variation, 1 being random variation from the original color down to black)
 
virtual float GetParticleColorTintVariation ()=0
 Gets the particle color tint variation.
 
virtual void SetParticleColorTintVariation (float tintVariation)=0
 Sets the particle color tint variation.
 
virtual float GetParticleAlpha ()=0
 Gets the particle alpha.
 
virtual void SetParticleAlpha (float alpha)=0
 Sets the particle alpha.
 

Detailed Description

Bus for making requests to the UiParticleEmitterComponent.

Member Enumeration Documentation

◆ EmitShape

Enumerator
Point 

particles are emitted from the emitter position along the given angle

Circle 

particles are emitted from a circle whose radius is the minimum of the element width and height

Quad 

particles are emitted from the quad with the same size as the element width and height

◆ ParticleCoordinateType

Enumerator
Cartesian 

particles move using X,Y co-ordinates

Polar 

particles move using X: radial speed, Y: angular speed

◆ ParticleInitialDirectionType

Enumerator
RelativeToEmitAngle 

particle initial direction is based on the emit angle

RelativeToEmitterCenter 

particle initial direction is directed away from the emitter shape center

◆ ParticleKeyframeTangentType

Enumerator
EaseIn 

A zero/flat tangent, a keyframe with ease in + ease out would act like an x^3 curve at the origin.

EaseOut 

A zero/flat tangent, a keyframe with ease in + ease out would act like an x^3 curve at the origin.

Linear 

The curve moves linearly from this keyframe towards the next/previous keyframe.

Step 

The curve jumps from the current keyframe value to the next/previous keyframe value.


The documentation for this class was generated from the following file: