UIParticle - A UI Particle Emitter

Forked from rParticle: The Light Weight, Open Source, GUI Particle System

UIParticle aims to replicate the built-in ParticleEmitter as closely as possible but in 2D GUIs. I found that rParticle gave the average user a bit too much freedom and some people may want something more familiar, so I created this

It has nearly every property that the 3D particle emitters have

Source code here

Feedback appreciated, please fix my bugs so it isnt as bad for others who want to use it

34 Likes

ive been updating this all night and i feel that it now perfectly mimics the 3d particle system, ive added support for color sequences, size sequences, transparency sequences, a range for speed, the ability to emit filling an entire frame vs a point, full typechecking, and changed much of how it works.

10 Likes

can you also make it like tween size? at the end?

size is a numbersequence so yes

This is really neat. I have been looking for something similar for this for a while, good work truly.

1 Like

Very nice module, I will probably use this in a game! :+1:

1 Like

natural disaster has something similar if I’m not mistaken on purpose it’s very interesting !!

This is really cool stuff! Maybe consider making a pull request onto the main repository.

Hey, just a small thing but in your constructors, you actually make a new table for the object’s metatable per-object which is probably not what you want with respect to memory. Instead you should define your metamethods inside of the class functions table like so:

local ParticleClass: Particle = {}
ParticleClass.__index = ParticleClass

--...
-- when creating the object
return setmetatable(self, ParticleClass)

I also made a pull request to add a version that supports method chaining if you’d like.

Edit: seems to be an issue with the original module so I made an issue ticket thing on the original module.

yeah i noticed that as i usually do it this way, but honestly it was like 3 am and i was too tired to question it. ill go ahead and edit it right now, thanks for pointing it out

1 Like

I love this system, also can you see if you can make one but for trails? it would be for a 2D platformer

I keep getting “Keypoints is not a valid member of Color3” error and im not sure why. I used a frame as the hook and a textlabel as the element and just ran the demo in the source code
particletest.rbxl (47.2 KB)

i attached the files and I also tried both your and 7z99’s solution as well, same problem