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.
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.
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.
Also I noticed that you spawn a lot of parts, but is it optimized? If not did you try looking at partcache:
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!
This plugin is absolutely amazing, wow.
The particles are actually parts.
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)
3D support is next on my todo! Though it will probably take a couple of days if not around a week.
3D support will be a great feature hope you finish it in around a week
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 , you deserve to be paid for your work.
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!
Yes, the idea was to create plenty of instances when the particle emitter is created, each representing different property states of emitter. So for example if you have an emitter whose particles vary in size and color, you would create all possible combinations of size and color beforehand so you can avoid setting properties.
As the number of properties that vary increase, the number of combinations grows exponentially, but even a basic implementation, like creating instances for all versions of color for example, would reduce the number of property changes by a lot. Generalizing that to any properties of course is more difficult.
Also, are you directly reusing particles after they disappear to use as new ones? or are you moving them to the sky and then taking different ones when a new particle is spawned?
WOW! Really good looking plugin, reminds me of UE5 niagara system, good job with it!
Very nice plugin! Defenitely gonna use it for my games. Have you considered using the ImageAdornment object or billboardGUIs instead of parts for particle rendering? They take up less memory and are so more efficient.
I’ve never considered this. It sounds like a great solution to the problem of updating properties. Though already with a simple size over life and gradient it would create massive amounts of objects. I’ll have to play around with this idea and see what works best.
I believe I move them before checking for reuse. This is another thing I’d never considered and sounds like a great little optimization.
I tried ImageHandleAdornments but I believe I couldn’t get them to be glowy, in other words they would have lacked emission, which is an important part for vfx.
BillboardGUIs from my understanding always face towards the camera so I didn’t try them, I wanted control over their rotation. That being said if rotation is the only disadvantage of them then I could still use them for particles that are always facing the camera.
If there is a way to have a smaller object act as the particle then it’d be great but from my testing the only combination that allowed for emission/glow and wasn’t affected by global lighting is the setup I’m currently using. (Which is Part>SurfaceGui>ImageLabel)
Tried the plugin out its cool but causes extreme lag when u tab out then tab back in after a while.
Would be interesting to see applications of mesh deformation with this since ur using a plane for render we can do alpha erosion. Also i feature i always wanted was a scaling pivot for texture so i scale at the pivot i define it at. I usually have to offset the texture its self halfway which is tedious
I don’t seem to be able to reproduce this. I created a basic system, started it and let it run for around 5 minutes in the background (the system had a constant spawn with 300 and a lifetime of 1).
Are you sure that tabbing in and out was the cause of it, not inspecting the particles folder? Since that is one thing that causes massive amounts of lag and from my understanding it’s a problem with the explorer.
There’s also this weird kinda lasting lag that occurs from time to time, which I’m not sure what causes it and fiddling around with the UI usually seems to fix it.
If it is tabbing out and in then my best guess would be that it’s something to do with how roblox runs in the background and the particles attempting to still be created and updated. I checked out WindowFocused and WindowFocusReleased but these seem to only work for the main game window. So I’m not even sure on how I would fix it.
Do keep in mind that I am most likely using different hardware and that it’s also really difficult to fix bugs that I can’t reproduce.
actually after opening the folder it crashed but i think i was lagging before? not too sure
editable mesh has functions that allow you to manipulate the uvs of a mesh. in theory with ur plugin u can spawn mesh planes with an image on it then mess with uvs. this is an alternative to flipbooks so you keep the full resolution of the image but let the shader do all the leg work while maintaining the quality of the image heres the links
his comment right after the post talks about it Scrollable textures for MeshParts - #2 by Zomebody
plugin that i believe does this not released tho https://www.youtube.com/watch?v=fuXg11RrYxs
video about editable mesh https://www.youtube.com/watch?v=oKbLsWq6bVw&t=73s
this post goes on about shaders > flipbooks a lil What fluid sim tools are you using for your flipbooks? - #9 by Florian - VFX - Tech-Artists.Org