New Procedural Particle Emitter Shapes

Is there a reason the cylinder particle shape doesn’t follow the orientation of cylinder parts? It feels odd that it would take two parts to make the particles follow the actual rounded surface of the cylinder.

image image

8 Likes

Super cool!

It would also be awesome if we could create our own shapes. Perhaps one day it could be as easy as to model a mesh, upload it to Roblox then have the geometry of the mesh work as the shape for the particle emitter.

Something tells me the way this is setup currently that such a feature won’t be possible without quite a bit of work, but it would be pretty neat.

4 Likes

Absolutely no reason, other than an extremely embarrasing mistake on my part, not realizing that the default cylinder shape is one that’s lying horizontally, rather than standing up-right. I will absolutely fix this ASAP. Thank you!

20 Likes

Mesh-based emitter shapes are considered a separate feature from the procedural emitter shapes annouced today. We have mesh-based emitters on our roadmap (and have some internal experiments with them), but no ETA.

18 Likes

Would there be the possibility the volumetric ShapeStyle can be utilised to effect the appearance of 3d models? (unless you can do it already lol) Either way this is awesome!

Absolutely awesome that we’re getting cool new particle emitter functionality!

I’m curious though why the API was designed this way; there is the ability to hide properties that are not relevant to the current property settings, so more comfortably named properties could have been created for each shape rather than one shared ShapePartial property. What happens if a new shape is added that could have more than one control parameter? The name of this property is also very confusing, because it doesn’t actually produce a partial shape in all cases (i.e. Cylinder and disc radius), it’s more like a single shared modifier; a better name would have perhaps been ShapeModifier. When I found this property in Studio I was confused and could not figure it out, I only learned what it did when this announcement was posted; I shouldn’t have to consult documentation to understand what a property means, it should be mostly self-documenting.

Further, basing the functionality of this entirely on the parent’s size means these features cannot work at all when you parent a particle emitter to an attachment. This is extremely important to support because I do not want to have to e.g. have a big invisible part to apply a particle effect to a character, because this part will trigger .Touched, raycasts, etc. Cleaning up after this requires either extra code or collision group juggling. Moving the part outside of the character model to the correct position on RenderStepped is also really dirty. I would much prefer to simply use an attachment here.

I think that particle emitters would be much more powerful if there were a set of properties that allowed you to override the parent’s CFrame and size, and provide your own CFrame and size independently. I.e. UseBoundsOverride, BoundsCFrame, BoundsSize. Then these features could work with attachments, and ParticleEmitters would be more powerful than before; a big caveat with using attachments was the loss of spread.

19 Likes

Finally, this will be so useful for builds and even just fun to play with.

3 Likes

Thanks for finally adding this. Will be useful.

Oh wow, That seems to be very useful. I liked the cylinder one!

Are you guys planning on adding more part shapes?

Wow this is amazing roblox, Great Update!

Why not make it easier just by using the collisionfidelity component of the mesh to take its shape like that?

in all seriousness this is amazing and I am very excited to use this.

4 Likes

this needs to happen, it is in practically every game except for roblox.

video: https://gyazo.com/0cf1d0328d77c363e288d8c3095a42f1

13 Likes

Could it still be possible to emit particles from the volume of the part’s physics data or mesh surface? That way developers could make custom emitter shapes using unions or mesh parts.

4 Likes

This expands particle emitter’s limits a lot, it will make development so much easier. Thanks for this update, Roblox! :heartpulse:

1 Like

This is super useful. Really glad to see more particle possibilities. :smiley:

Is there a debug visualization option, and if not, do you know if there are there any plans for visualization of particle bounds?

It would be very useful for understanding how these different emitter shapes work. Some of the settings are a bit confusing to me without explicitly referencing this post.

1 Like

This update is going to be so fun to mess around with! Thank you guys so much for working so hard and publishing such a game-changing update!

Yeah, is it currently possible to detect if a player touched a particle? Because I want to make a flamethrower kind of thing.