Smoke
A particle emitter with the visual aesthetic of smoke.
Memory category | Instances |
---|
Member index 11
Description
Smoke is one of several particle-emitting classes. Like other particle emitters of its kind, Smoke objects emit particles when parented to a BasePart (such as a Part) or an Attachment within such a BasePart. Compared to the ParticleEmitter class, Smoke lacks many different customization properties and special methods, such as ParticleEmitter.Lifetime or ParticleEmitter:Emit(). It is useful to create a quick special effect in a pinch; for more detailed work it is preferable to use a ParticleEmitter instead.
When Smoke.Enabled is toggled off, particles emit by this object will continue to render until their lifetime expires. When a Smoke object's Instance.Parent is set to nil (and/or Instance:Destroy()ed), all particles will instantly disappear. If this effect is not desired, try hiding the parent object at a far away position, then removing the Smoke after a few seconds using Debris to give the last particles a chance to expire. This object does not have a ParticleEmitter:Clear() method, but it is possible to set the Instance.Parent to nil and back to the exact same object for the same effect.
Smoke particles are only emitted from the center of BasePart to which they are parented. Parenting a Smoke object to an Attachment instead allows customization of the particles' start position.
History 30
- 626 Add
- 573 Change ReturnType of FastForward from void to null
- 553 Add
- 553 Add
- 553 Add
- 553 Change Default of TimeScale from to 1
- 553 Change Default of Size from to 1
- 553 Change Default of RiseVelocity from to 1
- 553 Change Default of Opacity from to 0.5
- 553 Change Default of Enabled from to true
- 553 Change Default of Color from to Color3(1, 1, 1)
- 548 Add FastForward
- 508 Add TimeScale
- 486 Change ThreadSafety of Size from ReadOnly to ReadSafe
- 486 Change ThreadSafety of RiseVelocity from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Opacity from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Enabled from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Color from ReadOnly to ReadSafe
- 462 Change ThreadSafety of Size from to ReadOnly
- 462 Change ThreadSafety of RiseVelocity from to ReadOnly
- 462 Change ThreadSafety of Opacity from to ReadOnly
- 462 Change ThreadSafety of Enabled from to ReadOnly
- 462 Change ThreadSafety of Color from to ReadOnly
- 55 Change Tags of Smoke from [preliminary] to []
- 47 Add Size
- 47 Add RiseVelocity
- 47 Add Opacity
- 47 Add Enabled
- 47 Add Color
- 47 Add Smoke
Members 11
Color
Type | Default | |
---|---|---|
Color3 | 1, 1, 1 |
The Color property determines the color of all the particles emit by a Smoke object (both existing and future particles). It behaves similarly to ParticleEmitter.Color, except that it is only one color and not a ColorSequence. A color of white with some Smoke.Opacity makes for a nice fog effect, and a very opaque black color can compliment a Fire object nicely.
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | true |
Enabled
Type | Default | |
---|---|---|
bool | true |
The Enabled property, much like ParticleEmitter.Enabled, determines whether smoke particles are emitted. Any particles already emit will continue to render until their lifetime expires. This property is useful for keeping pre-made smoke effects off until they are needed later. Since smoke particles are destroyed when the Smoke object's Instance.Parent is set to nil, this property is useful in allowing existing particles the opportunity to expire before destroying the Fire object altogether. See the function below.
local Debris = game:GetService("Debris")
local part = script.Parent
function stopSmoke(smoke)
smoke.Enabled = false -- No more new particles
Debris:AddItem(smoke, 10) -- Remove the object after a delay (after existing particles have expired)
end
stopSmoke(part.Smoke)
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | true |
FastForward
Parameters (1) | ||
---|---|---|
numFrames | int | |
Returns (1) | ||
null |
Security | RobloxScriptSecurity |
---|---|
Thread safety | Unsafe |
History 2
- 573 Change ReturnType of FastForward from void to null
- 548 Add FastForward
Opacity
Type | Default | |
---|---|---|
float | 0.5 |
Opacity determines the opaqueness of the smoke particles. It must be in the range [0, 1]. This property works inversely in comparison to a part's BasePart.Transparency or ParticleEmitter's ParticleEmitter.Transparency: a value of 0 is completely invisible, 1 is completely visible.
The texture that Roblox uses for Smoke particles is partially transparent, so setting this property to 1 still yields transparency in rendered smoke.
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | true/false |
RiseVelocity
Type | Default | |
---|---|---|
float | 1 |
RiseVelocity behaves similarly to ParticleEmitter.Speed and Fire.Heat: it determines how fast the smoke particles move during their lifetime. It must be in the range [-25, 25]. Negative values will cause particles to emit in the bottom (-Y) direction of the parent BasePart.
When using a Smoke effect to create fog, set this property to 0. For large smoke effects, make the rise subtle (2 to 8). For chimneys and smokestacks, higher values are appropriate.
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | true/false |
History 4
- 553 Change Default of RiseVelocity from to 1
- 486 Change ThreadSafety of RiseVelocity from ReadOnly to ReadSafe
- 462 Change ThreadSafety of RiseVelocity from to ReadOnly
- 47 Add RiseVelocity
Size
Type | Default | |
---|---|---|
float | 1 |
The Size property of Smoke determines the size of the newly emit smoke particles. Unlike Smoke.Color, this property will not change the size of existing particles. It must be in the range [0.1, 100]. Unlike ParticleEmitter.Size, this property is only a number (not a NumberSequence). Also note also that the size of the particles is not 1-to-1 with studs; in fact, the size of the smoke particle is more than twice as large. At the largest size, smoke particles can render larger than 200 studs wide!
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | true/false |
TimeScale
Type | Default | |
---|---|---|
float | 1 |
A value between 0-1 than controls the speed of the particle effect. At 1 it runs at normal speed, at 0.5 it runs at half speed, and at 0 it freezes time.
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | true |