[UPDATE 0.2.0] Lumina - A custom particle system

You’re making me want to play around with editableMeshes even more and that plugin looks awesome, if it’ll release for free might even look into adding support for that to this plugin. Honestly I was even considering making a custom shader system for roblox using the editableMeshes and editableImages (something similar to unity’s shader graph) but my worry was always performance, I would’ve probably had to run thousands of calculations for each image each frame. (just my though, which in reality might be completely false)

As for what caused my concern for performance was that my first thought for editableImage was that I could maybe create some sort of raytracing since I could overlay it on the screen and have same quality. Though with it came more apparent than ever before that roblox runs on the cpu and doesn’t allow for custom gpu utilization. (I tried to cast tons of rays which didn’t work out)

That said my problem was with raycasting, which I believe is much more demanding than simple calculations.

Just gotta pray that roblox releases them soon so I’d have an excuse to start using them.

But for now my focus will stay on improving Lumina. Next update is a somewhat large one and should be done within a few days, haven’t had too much free time recently so it’s taking a bit longer than expected.

2 Likes

Does this plugin actually use editableMeshes/editableImages though? From what i can gather they were released in 2023 december but that video was uploaded 2022 december.

2 Likes

not sure asked they rlly didnt give a straight answer. this method is a baked dissolve but the plugin does it live so must be editable mesh or image and their rotating the image within the plugin so that must be the uv functions their using in editable mesh

2 Likes

Heard that this plugin was some kind of scam , I think bean was the one who said it but not sure if it’s true.

1 Like

UPDATE 0.1.0


New Features

  • Node reordering in groups
  • Update log built into the plugin
    *datastores need to be enabled for this to work, since it uses a datastore to check if it’s already showed update log

New Nodes

Initialize

  • AddPositionFromShape

Render

  • VolumetricParticle
  • MeshParticle

Logic

  • NumberOut
  • Add
  • Subtract
  • Multiply
  • Divide
  • Sin
  • Cos
  • Tan
  • Clamp
  • Remap
  • Time
  • Alivetime

Other

  • Cleaned up auto generated code

Docs will be updated within the next 12 - 24 hours, will put the savedata of this effect in the docs as well




Afterword

I do apologize for this update taking quite a bit longer than expected but what can you do, life is unpredictable and I am developing this all on my own.

I have also created a simple discord server. If you have any questions or ideas on what to add or just want to chat then feel free to join. I’m usually more active on discord than here. Link can be found in the Docs

My activiy and plans are also now available to view in Trello, which can also be found in the docs.

This plugin has gained much more positive attention than I could’ve expected and for that I am really thankful to everyone here! :heart:

9 Likes

wonderful stuff man. something like a delay function would be nice and for the random rotation of the parts why did you add extra nodes when you couldve done it in the random num node? or you wanted it so you jsut need to change 1 value instead of two? and the multiple node multiplies a to b?
image also weird bug with graph editor

2 Likes

Yes, this was because I feel it’s more tedious to change multiple numbers than one number, also wanted to show that this is possible and show some of the new logic nodes being used.

I don’t quite plan to add a delay like this but you should be able to create this delay with some small logic in the next bigger update.

Not sure how much I’ll cram into the next bigger update, currently planning to add some form of collisions/bounces, velocity and rotation changers, give more access to data for better use of logic and some UX + UI improvements, but it won’t be releasing for a while. I will most likely be posting progress updates in discord though.

I’ll also look into the bug.

4 Likes

This is currently one of the best plugins available, amazing work!

4 Likes

Though it seems like the new update broke the plugin; nothing is appearing.

2 Likes

Ugh this bug again, I’ve got no clue what causes it but try to resize the plugin or disable and enable again from plugins manager.

2 Likes

Neither of those worked, it worked the previous update though. Tried to restart the studio a few times and reinstall the plugin but it didn’t seem to work

2 Likes

did it give any errors in the console?

2 Likes

Updated Docs

I have updated docs to the latest version.

1 Like

This has so many potential and im definitely looking forward for it to be a better particle system.
I might use that at some point, it’s just that I’m concerned this uses BillboardGui for plane particles (im pretty sure you can make these via Attachments and ParticleEmitters that emit 1 particle upon creation which lasts for the duration of lifespan)
I’ve already had this situation where too much GUI’s ends up in breaking other GUI due to lack of buffer.

It’s still a solid project, again, I’m looking forward for it! Here’s an example of using 3D particles. They lack material definition and some shapes, but it’s cool regardless.
RobloxStudioBeta_2024-05-25_11-23-40-664

3 Likes

As a matter of fact, this does not, it uses surfaceGuis. And while using singular particle emitters could work I’m afraid I wouldn’t have enough control over their properties after I’ve spawned a particle and many properties are calculated live.

If GUIs end up laggy or odd I’ll swap them to plane meshes. Might even do this regardless of gui lag.

Lacking materials and shapes is kind of an oversight on my behalf but you could just use meshes which can have any shape and any texture. Also emission works with them.

I’m considering changing the volumetric shapes to just be pre defined meshes. Though for this I’d need a mesh browser, which is low on my todo.

Thank you for the feedback!

3 Likes

For that, a better way to do it would be using the SetSetting and GetSetting functions i think. Because DataStores are different for games, unless you actually need to update the content of the game and not only the plugin.

2 Likes

Awesome plugin!, can’t wait to make things like this :

sshit2

3 Likes

Yes absolutely! When I first made it I wasn’t aware of these functions but I’ll change it to use them at some point within the next couple of days.

3 Likes

Update 0.1.1

Changes

  • Update log no longer uses DataStores
4 Likes

Update 0.1.2

Changes

  • Fixed script auto generation breaking with certain nodes
5 Likes