Smoothly change ParticleEmitter speed

  1. What do you want to achieve? Hello, i am searching on how i can smoothly increase or decrease a particleemitter speed.

  2. What is the issue? I can’t manage to do it.

  3. What solutions have you tried so far? I tried myself and looked on forums.

You can use tweenservice or for loops

Does TweenService works on ParticleEmitter speed ?

TweenService works on numbers, vector3,cframes,color and more. So yes.

1 Like

Well no i tried and the speed property does not support tweenservice because it’s a numberrange

U can create new ranges and apply it to speed properties

for i = 1,50 do
    local max = NumberRange.new(i, 50)
    local min = NumberRange.new(0, i)
    script.Parent.ParticleEmitter.Speed = max
    wait(.5)
	script.Parent.ParticleEmitter.Speed = min
end
2 Likes

https://developer.roblox.com/en-us/api-reference/property/ParticleEmitter/Speed
Tween the particle emitter’s ‘Speed’ property.

It’s not possible to tween the speed property

local Game = game
local Script = script
local RunService = Game:GetService("RunService")
local TweenService = Game:GetService("TweenService")
local ParticleEmitter = Script.Parent

local IntValue = Instance.new("NumberValue")
IntValue.Value = 5

task.wait(5)
local Tween = TweenService:Create(IntValue, TweenInfo.new(10), {Value = 100})
Tween:Play()

local function OnHeartbeat()
	ParticleEmitter.Speed = NumberRange.new(IntValue.Value)
end

local Connection = RunService.Heartbeat:Connect(OnHeartbeat)
task.delay(10, Connection.Disconnect, Connection)