[UPDATE 0.2.0] Lumina - A custom particle system

Well that’s my goal since I’m also heavily interested in vfx

2 Likes

Docs Update

I have added a category in the docs that goes over my Planned Features.

1 Like

This is just absolutely amazing. Great work and I hope this gets the traction & publicity it deserves

5 Likes

UPDATE 0.0.3

Features

  • Multi connect support

8 Likes

Nice update! Btw will you add :Emit(), or is it already added? Also one more good thing to add would be that a particle could use the floor color

2 Likes

dude this is actually insane havent checked it out fully but just seeing the names of the parameters i can tell its gonna be good. there are tons of people in the vfx community that would be willing to help you if you want. im super excited for this man cant wait to get my hands on it

5 Likes

id love to contribute any way i can man just lmk

2 Likes

Emit does already exist by using Burst Spawn nodes.

And taking the color of the floor is a neat idea, I’ll add that onto my todos.

2 Likes

Impressive work! Do you plan on adding editablemeshes and editablesimages support once mesh support is added?

3 Likes

I don’t really have a way for others to contribute but I’m always open to hear about feature requests or any improvement ideas.

Also if you come across any bugs then please let me know.

2 Likes

Once they’re out of beta I’ll most likely take a look but I’m not too sure on how I could incorporate the ‘editable’ part.

3 Likes

Also I noticed that you spawn a lot of parts, but is it optimized? If not did you try looking at partcache:

2 Likes

This plugin is insane!!! I don’t think I’ve ever seen such a versatile VFX plugin with these features.

I recommend adding 3d particle support, so the ability to spawn in parts and mesh particles.

Kudos to the work put into this though, will be using! :smiley:

8 Likes

This plugin is absolutely amazing, wow.

4 Likes

The particles are actually parts.

2 Likes

I believe I am already using a method like this. I create a part, store it in memory, move it to like 0, 10000, 0, when i need it I move it to wherever it’s supposed to be and when it’s lifetime ends I move it back to that ‘storage’ location of 0, 10000, 0.

I’m also using BulkMoveTo to optimize all the moving.

From my testing most of the lag comes from updating individual properties of parts such as transparency and size. And this is something I sadly haven’t found a solution to. If I do come across a solution to it then I’ll definitely implement it as soon as I can since I do want this plugin to be as optimized as possible. (though optimization as a whole is currently on low priority)

4 Likes

3D support is next on my todo! Though it will probably take a couple of days if not around a week.

4 Likes

3D support will be a great feature hope you finish it in around a week :pray:

3 Likes

Hello, you’ve made a very good plugin here. However I have some thoughts.

The main bottleneck of this plugin will at some point be performance, you simply can’t get around it. Moving 100’s of parts/images in other systems is already a huge bottleneck, but this one relies almost entirely on it. Having more than a few of these particle emitters will grind any game to a halt, especially on mobile.

However, there are likely ways to improve performance that even you haven’t though of, but I could be wrong. Firstly, it seems you have added part pooling, but there is a way to optimize part pooling/property setting even further. On top of that, have you added frustum culling? Do you throttle particle updates based on distance? And of course parallel lua which you have mentioned.

If you manage to solve the performance issues, add add the new features you were hinting at, this plugin will be the future of vfx development on Roblox.

I suggest you set the plugin to paid-access before thousands of people install it :smile:, you deserve to be paid for your work.

4 Likes

I fully agree with this. What annoys me the most with optimization currently is that roblox doesn’t offer (at least to my knowledge) any optimized ways to update other properites besides CFrames.

Could you elaborate on this? If it’s something relatively simple I’d love to implement it.

Currently I am not doing any of these but I’m planning to add all of these (and later look into more forms of optimizations).

Though as I’ve said in a previous post optimization is currently on low priority. I first want to make this plugin be something more than a 2D particle emitter clone, then make it more stable and lastly I plan to heavily focus on optimization. This is because in my head if there isn’t a good product to optimize then I’d be more or less wasting my time. I was once working on a game and spent 2 months optimizing it only for it to later be forgotten (it was my own choice to abandon that project).

Not sure if I’ve properly expressed this but setting it to paid access is something I absolutely wish to avoid. As long as I’m the owner it WILL be free (it’s will also stay open source). I’m not making this to earn money. I simply wish to create an accessible, beginner friendly yet really powerful tool that would improve the creation of vfx.

If I’d make it paid then it would be a tool that’d more or less be focused for professional work and wouldn’t be as accessible to beginners, since after all how can you know if you should invest in the tool if you’re just getting started or aren’t even able to pay.

Though I do agree that some form of funding/payment would be nice and at some point I’ll probably set up ways to support the development of this plugin.

Thanks for you feedback!

9 Likes