Particle emission from Attachments

A constant issue with ParticleEmitter is that there’s no way to make the particles emit from a single point without using an extremely small part. In fact almost every time I’ve seen the minimum part size come up, someone wants it lower just for particles.

I think a great way to fix this would be to allow particles to emit from Attachments. Basically when parented to an Attachment, a ParticleEmitter’s particles would emit from it, just like if it were parented to a part.

It would also make it much easier to adjust the orientation and position, since using an extremely small part requires welding it to whatever it’s going to be attached to, and trying to move or rotate welded parts independently breaks the weld.

25 Likes

this is a great idea, surprised no one thought of it until now

You would be interested to know that I proposed this internally about a week ago and the proposal has almost made it through the API approval process. Here’s the text in full:

Right now, for a Light (PointLight, SpotLight or SurfaceLight), Sound or Particle (Fire, Sparkles, Smoke, ParticleEmitter) to work, it has to be parented to a part. This works well sometimes, but creates several issues:
  • To precisely position a light/sound object, you have to create a dummy part and weld it to the other part, or just create a dummy part and anchor it. This is bad for performance, memory and usability.
  • To orient a light/sound object, you have to rotate the said part, which is even worse (harder)
  • ParticleEmitter assumes the volume of the parent part as the emission source, making it hard to create point emitters

This proposal suggests a change in behavior as follows:

  • All of the aforementioned objects will work if they are parented to an attachment that is parented to a part (the part, as currently, has to be in Workspace)
  • All of the aforementioned objects will inherit the world-space position and, if applicable (Spot/Surface Light, all particle emitters), the forward direction of the attachment
  • For SpotLight object, Face property will not be used if it’s parented to Attachment
  • For SurfaceLight Object, the surface area will be 0 and Face will not be used, effectively making a SurfaceLight like this equivalent to a SpotLight (this is sort of redundant, but feels nice for consistency)
  • For ParticleEmitter object, the emission volume will be 0 - all particles will emit at the position of the attachment

When inserting any of the objects above in Studio, they will get inserted into the currently selected Attachment, if any (if more than one insertable object is selected, we will do what we do now - not sure what that is, insert into the first one?)

This will also let us use the existing Studio tools for placing, moving and rotating attachments, + dragger tool.

28 Likes

I requested this already

Maybe not from attachments but quite a similar topic

I was first
muahahahhhaha