# ParticleEmitter

Roblox Engine API class from Roblox Studio 0.744.0.7441077 (version-7aaa6838d36c4448).

- Inherits from, nearest first: [Instance](https://rapi.sleaze.dev/classes/Instance.md), [Object](https://rapi.sleaze.dev/classes/Object.md)
- Memory category: Instances
- HTML page: https://rapi.sleaze.dev/classes/ParticleEmitter/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter

A special object that emits customizable 2D particles into the world.

## Properties

### Brightness

```luau
ParticleEmitter.Brightness: number = 1
```

- Tags: Read capabilities: Basic

Scales the light emitted from the emitter when [`ParticleEmitter.LightInfluence`](https://rapi.sleaze.dev/classes/ParticleEmitter.md) is 0.

### Color

```luau
ParticleEmitter.Color: ColorSequence = 0 1 1 1 0 1 1 1 1 0
```

- Tags: Read capabilities: Basic

Determines the color of all active particles over their individual lifetimes.

### LightEmission

```luau
ParticleEmitter.LightEmission: number = 0
```

- Tags: Read capabilities: Basic

Determines how much particles' colors are blended with the colors behind them.

### LightInfluence

```luau
ParticleEmitter.LightInfluence: number = 0
```

- Tags: Read capabilities: Basic

Determines how much particles are influenced by the environmental light.

### LocalTransparencyModifier

```luau
ParticleEmitter.LocalTransparencyModifier: number = 0
```

- Tags: Hidden, Not replicated, Read capabilities: Basic

Determines a multiplier for [`ParticleEmitter.Transparency`](https://rapi.sleaze.dev/classes/ParticleEmitter.md) that is only visible to the local client.

### Orientation

```luau
ParticleEmitter.Orientation: Enum.ParticleOrientation = Enum.ParticleOrientation.FacingCamera
```

- Tags: Read capabilities: Basic

Specifies how to orient particles.

### Size

```luau
ParticleEmitter.Size: NumberSequence = 0 1 0 1 1 0
```

- Tags: Read capabilities: Basic

Determines the world size over individual particles' lifetimes.

### Squash

```luau
ParticleEmitter.Squash: NumberSequence = 0 0 0 1 0 0
```

- Tags: Read capabilities: Basic

Allows for non-uniform scaling of particles, curve-controlled over their lifetime.

### Texture

```luau
ParticleEmitter.Texture: string = "rbxasset://textures/particles/sparkles_main.dds"
```

- Tags: Read capabilities: Basic

Determines the image rendered on particles.

### TextureContent

```luau
ParticleEmitter.TextureContent: Content
```

- Tags: Capabilities: Basic

The image rendered on particles. Supports [asset URIs](https://create.roblox.com/docs/projects/assets#asset-uris).

### Transparency

```luau
ParticleEmitter.Transparency: NumberSequence = 0 0 0 1 0 0
```

- Tags: Read capabilities: Basic

Determines the transparency of particles over their individual lifetimes.

### ZOffset

```luau
ParticleEmitter.ZOffset: number = 0
```

- Tags: Read capabilities: Basic

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

### EmissionDirection

```luau
ParticleEmitter.EmissionDirection: Enum.NormalId = Enum.NormalId.Top
```

- Tags: Read capabilities: Basic

Determines the face of the object that particles emit from.

### Enabled

```luau
ParticleEmitter.Enabled: boolean = true
```

- Tags: Read capabilities: Basic

Determines if particles emit from the emitter.

### Lifetime

```luau
ParticleEmitter.Lifetime: NumberRange = NumberRange.new(5, 10)
```

- Tags: Read capabilities: Basic

Defines a random range of ages for newly emitted particles.

### Rate

```luau
ParticleEmitter.Rate: number = 20
```

- Tags: Read capabilities: Basic

Determines the number of particles emitted per second.

### Rotation

```luau
ParticleEmitter.Rotation: NumberRange = NumberRange.new(0)
```

- Tags: Read capabilities: Basic

Determines the range of rotations in degrees for newly emitted particles.

### RotSpeed

```luau
ParticleEmitter.RotSpeed: NumberRange = NumberRange.new(0)
```

- Tags: Read capabilities: Basic

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

### Speed

```luau
ParticleEmitter.Speed: NumberRange = NumberRange.new(5)
```

- Tags: Read capabilities: Basic

Determines a random range of velocities (minimum to maximum) at which new particles will emit, measured in studs per second.

### SpreadAngle

```luau
ParticleEmitter.SpreadAngle: Vector2 = Vector2.zero
```

- Tags: Read capabilities: Basic

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

### VelocitySpread

```luau
ParticleEmitter.VelocitySpread: number = 0
```

- Tags: Deprecated, Not replicated, Read capabilities: Basic, Load only
- Use instead: [`ParticleEmitter.SpreadAngle`](https://rapi.sleaze.dev/classes/ParticleEmitter.md)

**Deprecated:** This property has been superseded by [`ParticleEmitter.SpreadAngle`](https://rapi.sleaze.dev/classes/ParticleEmitter.md) which should be used in all new work.

Determines how offset a particle can be fired from the local emitter direction of its parent.

### Shape

```luau
ParticleEmitter.Shape: Enum.ParticleEmitterShape = Enum.ParticleEmitterShape.Box
```

- Tags: Read capabilities: Basic

Sets the shape of the emitter to either a box, sphere, cylinder, or disc.

### ShapeInOut

```luau
ParticleEmitter.ShapeInOut: Enum.ParticleEmitterShapeInOut = Enum.ParticleEmitterShapeInOut.Outward
```

- Tags: Read capabilities: Basic

Sets whether particles emit outward only, inward only, or in both directions.

### ShapePartial

```luau
ParticleEmitter.ShapePartial: number = 1
```

- Tags: Read capabilities: Basic

Influences particle emission from cylinder, disc, sphere, and box shapes.

### ShapeStyle

```luau
ParticleEmitter.ShapeStyle: Enum.ParticleEmitterShapeStyle = Enum.ParticleEmitterShapeStyle.Volume
```

- Tags: Read capabilities: Basic

Sets particle emission to either volumetric or surface-only emission.

### FlipbookBlendFrames

```luau
ParticleEmitter.FlipbookBlendFrames: boolean = true
```

- Tags: Capabilities: Basic

Determines whether the flipbook frames are blended between.

### FlipbookFramerate

```luau
ParticleEmitter.FlipbookFramerate: NumberRange = NumberRange.new(1)
```

- Tags: Read capabilities: Basic

Determines how fast the flipbook texture animates in frames per second.

### FlipbookIncompatible

```luau
ParticleEmitter.FlipbookIncompatible: string = "Particle texture must be 1024 by 1024 to use flipbooks."
```

- Tags: Read capabilities: Basic

The error message to display if the [`Texture`](https://rapi.sleaze.dev/classes/Texture.md) is incompatible for a flipbook.

### FlipbookLayout

```luau
ParticleEmitter.FlipbookLayout: Enum.ParticleFlipbookLayout = Enum.ParticleFlipbookLayout.None
```

- Tags: Read capabilities: Basic

Determines the layout of the flipbook texture. Must be None, Grid2x2, Grid4x4, Grid8x8 or Custom.

### FlipbookMode

```luau
ParticleEmitter.FlipbookMode: Enum.ParticleFlipbookMode = Enum.ParticleFlipbookMode.Loop
```

- Tags: Read capabilities: Basic

Determines the type of the flipbook animation. Must be Loop, OneShot, PingPong, or Random.

### FlipbookSizeX

```luau
ParticleEmitter.FlipbookSizeX: number = 1
```

- Tags: Read capabilities: Basic

Defines the number of horizontal frames in a custom flipbook layout.

### FlipbookSizeY

```luau
ParticleEmitter.FlipbookSizeY: number = 1
```

- Tags: Read capabilities: Basic

Defines the number of vertical frames in a custom flipbook layout.

### FlipbookStartRandom

```luau
ParticleEmitter.FlipbookStartRandom: boolean = false
```

- Tags: Read capabilities: Basic

Determines whether the animation starts at a random frame chosen per particle instead of always starting at frame zero.

### Acceleration

```luau
ParticleEmitter.Acceleration: Vector3 = Vector3.zero
```

- Tags: Read capabilities: Basic

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

### Drag

```luau
ParticleEmitter.Drag: number = 0
```

- Tags: Read capabilities: Basic

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

### LockedToPart

```luau
ParticleEmitter.LockedToPart: boolean = false
```

- Tags: Read capabilities: Basic

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

### TimeScale

```luau
ParticleEmitter.TimeScale: number = 1
```

- Tags: Read capabilities: Basic

Value between 0 and 1 that controls the speed of the particle effect.

### VelocityInheritance

```luau
ParticleEmitter.VelocityInheritance: number = 0
```

- Tags: Read capabilities: Basic

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

### WindAffectsDrag

```luau
ParticleEmitter.WindAffectsDrag: boolean = false
```

- Tags: Read capabilities: Basic

Whether emitted particles follow the [`Workspace.GlobalWind`](https://rapi.sleaze.dev/classes/Workspace.md) vector.

## Methods

### Clear

```luau
ParticleEmitter:Clear()
```

- Tags: Capabilities: Basic

Clears all particles that have been emitted.

### Emit

```luau
ParticleEmitter:Emit(particleCount: number? = 16)
```

- Tags: Capabilities: Basic

Emits a given number of particles.

Parameters:

- `particleCount`: The number of particles to emit.

### FastForward

```luau
ParticleEmitter:FastForward(numFrames: number)
```

- Tags: Roblox script security, Capabilities: Basic

## Events

### OnClearRequested

```luau
ParticleEmitter.OnClearRequested: RBXScriptSignal<()>
```

- Tags: Hidden, Capabilities: Basic

### OnEmitRequested

```luau
ParticleEmitter.OnEmitRequested: RBXScriptSignal<(particleCount: number)>
```

- Tags: Hidden, Capabilities: Basic

## Inherited members

- From [Instance](https://rapi.sleaze.dev/classes/Instance.md): `Archivable`, `archivable`, `Attributes`, `AttributesReplicate`, `AttributesSerialize`, `HistoryId`, `Name`, `Parent`, `PredictionMode`, `PropertyStatusStudio`, `RobloxLocked`, `SerializedOverrides`, `SourceAssetId`, `Tags`, `UniqueId`, `numExpectedDirectChildren`, `DataCost`, `Capabilities`, `DefinesCapabilities`, `IsInSandbox`, `Sandboxed`, `AddTag`, `ClearAllChildren`, `Clone`, `Destroy`, `FindFirstAncestor`, `FindFirstAncestorOfClass`, `FindFirstAncestorWhichIsA`, `FindFirstChild`, `FindFirstChildOfClass`, `FindFirstChildWhichIsA`, `FindFirstDescendant`, `GetActor`, `GetAttribute`, `GetAttributeChangedSignal`, `GetAttributes`, `GetChildren`, `GetDebugId`, `GetDescendants`, `GetFullName`, `GetStyled`, `GetStyledPropertyChangedSignal`, `GetTags`, `HasTag`, `IsAncestorOf`, `IsDescendantOf`, `IsPropertyModified`, `QueryDescendants`, `RemoveTag`, `ResetPropertyToDefault`, `SetAttribute`, `WaitForChild`, `Remove`, `children`, `clone`, `destroy`, `findFirstChild`, `getChildren`, `isDescendantOf`, `remove`, `AncestryChanged`, `AttributeChanged`, `ChildAdded`, `ChildRemoved`, `DescendantAdded`, `DescendantRemoving`, `Destroying`, `StyledPropertiesChanged`, `childAdded`
- From [Object](https://rapi.sleaze.dev/classes/Object.md): `ClassName`, `className`, `GetPropertyChangedSignal`, `IsA`, `isA`, `Changed`
