PcoWSkbVqDnWTu_dm2ix
We use cookies on this site to enhance your user experience
Collapse Sidebar

ParticleEmitter

Show deprecated

ParticleEmitter

Show deprecated

A ParticleEmitter allows for the creation of particle systems. is a special effect object that emits customizable 2D billboard particles into the world. On Roblox, a particle is a 2D image rendered in the world so that it always always face the camera, much like a BillboardGui with a single ImageLabel in it.

A ParticleEmitter with default settings in a Part with default settings

ParticleEmitter must be parented to a BasePart (such as a Part) or an Attachment within such a part. Particles spawn randomly in the bounding box of its parent part (for attachments, this is a single point). Particles from a single emitter will render so long as this condition is met; setting a ParticleEmitter’s Instance/Parent to nil will remove all particles instantly, like how ParticleEmitter/Clear works. If an emitter is ParticleEmitter/Enabled and has a nonzero ParticleEmitter/Rate, it will emit particles on its own. Finer control on the number of particles can be accomplished using ParticleEmitter/Emit.

Roblox provides several pre-made particle effect objects - Fire, Smoke and Sparkles. They behave similarly to a ParticleEmitter, but they are not as customizable. They also lack certain particle-controlling methods: ParticleEmitter/Emit and ParticleEmitter/Clear. An Explosion also uses particles, but provides little-to-no control with regards to how the effect looks.

How to Insert a ParticleEmitter

In Studio, a ParticleEmitter can be inserted in several ways:

  • Using the “Effects” drop-down (Model tab)
  • From the Advanced Objects window (In the model tab, or CTRL+I)
  • The add menu within the Explorer window
  • Using the Command bar, run Instance.new("ParticleEmitter", workspace)
  • If you find you are inserting ParticleEmitters often, you can add a ParticleEmitter button to the Quick Access toolbar

Drop-down Efffects menu for inserting a ParticleEmitterAdvancedObjects window insertionExplorer window insertion

Properties

Vector3

Acceleration

Determines the global-axis acceleration of all alive particles, measured in studs per second squared

ColorSequence

Color

Determines the color of all particles emit over their individual lifetimes

float

Drag

Determines the rate at which particles will lose half their speed through exponential decay

NormalId

EmissionDirection

Determines the face towards which particles will be emit

bool

Enabled

Determines whether particles ought to be emit

NumberRange

Lifetime

Defines a random range of ages for newly emit particles

float

LightEmission

Determines how much particles’ colors are blended with the colors behind them

float

LightInfluence

Determines how much particles are influenced by the the environment light

bool

LockedToPart

Determines whether the particles rigidly move with the part they’re being emitted from.

float

Rate

Determines the number of particles emit per second

NumberRange

RotSpeed

Determines the range of angular speeds emitted particles, measured in degrees per second

NumberRange

Rotation

Determines the range of rotations in degrees for a newly emit particles

NumberSequence

Size

Determines the world size over individual particles’ lifetimes

NumberRange

Speed

Determines the random range of speeds a new particle will have when emit, measured in studs per second

Vector2

SpreadAngle

Determines the angles at which particles may be randomly emit, measured in degrees

Content

Texture

Determines the image rendered on particle billboards

NumberSequence

Transparency

Determines the transparency of particles over their individual lifetimes

float

VelocityInheritance

Determines how much of the parent’s velocity is inherited by particles when emitted

float

ZOffset

Determines the forward-backward render position of particles; used to control what particles render on top/bottom

Inherited from Instance: Show Hide

int

DataCost

[ReadOnly] [NotReplicated]
The cost of saving the instance using data persistence.
Instance

Parent

Determines the hierarchical parent of the `Instance`.
bool

RobloxLocked

If true, the `Instance` and its descendants cannot be indexed or edited by a `Script` or `LocalScript` and will throw an error if it is attempted.
string

ClassName

[ReadOnly] [NotReplicated]
A read-only string representing the class this `Instance` belongs to.
string

Name

A non-unique identifier of the `Instance`.
bool

Archivable

Determines if an `Instance` can be cloned using `/Instance/Clone` or saved to file.

Functions

void

Clear ( )

Clears all particles that have been emit

void

Emit ( int particleCount )

Emits a given number of particles

Inherited from Instance: Show Hide

RBXScriptSignal

GetPropertyChangedSignal ( string property )

Get an event that fires when a given property of an object changes.
Instance

FindFirstChildWhichIsA ( string className , bool recursive )

Returns the first child of the `Instance` for whom `Instance/IsA` returns true for the given className.
Array

GetDescendants ( )

[CustomLuaState]
Returns an array containing all of the `Instance`'s descendants.
bool

IsAncestorOf ( Instance descendant )

Returns true if an `Instance` is an ancestor of the given descendant.
bool

IsDescendantOf ( Instance ancestor )

Returns true if an `Instance` is a descendant of the given ancestor.
Instance

FindFirstChildOfClass ( string className )

Returns the first child of the `Instance` whose `Instance/ClassName|ClassName` is equal to the given className.
Instance

FindFirstChild ( string name , bool recursive )

Returns the first child of the `Instance` found with the given name.
Instance

FindFirstAncestorWhichIsA ( string className )

Returns the first ancestor of the `Instance` for whom `Instance/IsA` returns true for the given className.
Instance

FindFirstAncestorOfClass ( string className )

Returns the first ancestor of the `Instance` whose `Instance/ClassName` is equal to the given className.
Instance

FindFirstAncestor ( string name )

Returns the first ancestor of the `Instance` whose `Instance/Name` is equal to the given name.
bool

IsA ( string className )

Returns true if an `Instance`'s class matches or inherits from a given class
Instance

WaitForChild ( string childName , double timeOut )

[CustomLuaState] [CanYield]
Returns the child of the `Instance` with the given name. If the child does not exist, it will yield the current thread until it does.
string

GetFullName ( )

Returns a string showing the `Instance`'s ancestry.
string

GetDebugId ( int scopeLength )

[NotBrowsable]
Returns a coded string of the `Instance`s DebugId used internally by Roblox.
Objects

GetChildren ( )

Returns an array containing all of the `Instance`'s children.
void

Destroy ( )

Sets the `Instance/Parent` property to nil, locks the `Instance/Parent` property, disconnects all connections and calls Destroy on all children.
Instance

Clone ( )

Create a deep copy of a Roblox instance and descendants where `Archivable = true`.
void

ClearAllChildren ( )

This function destroys all of an `Instance`'s children.

Events

Inherited from Instance: Show Hide

RBXScriptSignal

DescendantRemoving ( Instance descendant )

Fires immediately before a descendant of the `Instance` is removed.
RBXScriptSignal

AncestryChanged ( Instance child , Instance parent )

Fires when the `Instance/Parent` property of the object or one of its ancestors is changed.
RBXScriptSignal

ChildAdded ( Instance child )

Fires when an object is parented to this `Instance`.
RBXScriptSignal

ChildRemoved ( Instance child )

Fires when a child is removed from this `Instance`.
RBXScriptSignal

DescendantAdded ( Instance descendant )

Fires when a descendant is added to the `Instance`.
RBXScriptSignal

Changed ( string property )

Fired immediately after a property of an object changes.