Emitting particles from a bone rig

Hello y’all!

I have this rig made of meshes, limbs connected by bones, and, while playing, I noticed if I put particle emitters on these body parts, they will be emitted out of the character’s default position rather than the position it is at the moment. How can I prevent this behavior?

2 Likes

You may need to put them into attachments which are at the center of all of the bodyparts.

Would that not make it impossible to emit them at the surface?

1 Like

No, particles in attachments still work. My own game for example:

Edit: And I can move the attachment and the particles move with it.

1 Like

Given the enemy’s size and some of the mesh’s proportions, I think the attachment looks a little weird. Can I make it emit from the mesh’s surface, somehow?

1 Like

Yep, increase the Z-index of the particle emitter.

1 Like

That does not help what I want to do. I want it to emit from the mesh surface as to make it seem like a balanced emission, not from a specific point of the part. Changing the Z-Index only makes it appear on top of the part.

1 Like

Are you trying to say you want particles coming out of the SURFACE? of a mesh? Because that is basically impossible to do in ROBLOX as far as I know.

It will only come out of the center of what the ParticleEmitter is parented to.

While I am not so sure about being possible to do so on the surface of a mesh, I am sure it is possible on parts by changing the ShapeStyle property.

It is also possible to at least have it distributed, which is far better for what I am doing than releasing at the center of a part.

1 Like

I just looked it up, it sounds completely new to me. However, does the following script not work the way you want it to?:

local particles = script.Parent:WaitForChild("ParticleEmitter")

particles.ShapeStyle = Enum.ParticleEmitterShapeStyle.Surface

The official documentation is here: New Procedural Particle Emitter Shapes

Edit: This is what the following script does to particles:

Check the video I included in the original post.

Essencially, what is happening, is that my rig’s bone animations seem not to change the part position itself, and thus the particles are emitted from the default pose the rig would have without animations.

1 Like

Oh, I see what you mean. The first thing I would check is if this is a possible server-client bug? Like on the server it is standing but the client the animation is playing? Highly unlikely but just making sure.

The next thing would be to clone 6 parts, left arm, right arm, left leg, right leg, head, torso, name them “FakeLeftArm” and “FakeRightArm”, etc, and set their CFrame to be the same as their real counterparts. Then put the particles in the fake ones. If that doesn’t work then sadly I don’t know.

1 Like

This unfortunetly happens in the server too. Relating to your other answer, I actually had a similar issue when I was creating contact hitboxes for the enemies, and saw myself forced to do what you described.

I am gonna try this and return with an answer. Be right back.

1 Like