ParticleEmitter moving weirdly with the players RootPart

I’m developing an aura around the player and for some reason the particle emitter which I built along with it moves around really weirdly along with the player. It rotates, stutters, does all sorts of just… strange things. Here’s a video demonstrating it


I made it move along with the root which I’m guessing is part of the issue but I’m not actually sure. Here’s the few lines of code I used to add it to the player

circatt = CreateParta(circp,1,1,"SmoothPlastic",BrickColor.random()) -- function
CreateWeld(circatt,root,circatt,0,3,0,math.rad(0),math.rad(0),math.rad(0),0,0,0,math.rad(0),math.rad(0),math.rad(0)) -- also a function.

attachcirc = Instance.new("Attachment",circatt)
attachcirc.Parent = circatt
circuparticles = game.ServerStorage.Auras.circuitAura.Attachment

for _, child in ipairs(circuparticles:GetChildren()) do
	local clone = child:Clone()
	clone.Parent = attachcirc
	clone.ZOffset = 0
end

Also I know the issue doesn’t have anything to do with attachments or no attachments, I’ve already attempted to fix it with changing between part and attachment

You should try using a part and making it not rotate with the rootpart. For Example, the rotation to be fixed at 0,0,0

i did make a part, however its welded to the rootpart, again causing the rotation issue. what can i weld it to?

Hello Dev

This problem has nothing to do with your code, the emitting particle is “blinking” because its ZOffSet is below what it can obtain from the ground, that is, if this number is for example -1 and the particle is almost touching the surface below, it will be blinking, to solve the problem increase its ZOffSet and leave the particle a little above the surface and not almost touching it as shown in the video

okay, that fixed that but what about the rotating issue? this is still bothering me. I was looking around and found basically a perfect showcase of what i want the aura to be like


In the video, it does NOT rotate with the player and rotates on its own

Regarding particle rotation, you can have 2 types of problems

The 1nd° problem is that you have welded the main part of the particle to any other part of your body instead of RootPart like “Torso”, if you have welded this block to your Torso when moving your character to some direction it will make an animation and he will walk while your torso is bent

The 2nd° problem is that if you welded this part with: “WeldConstraint” or “Weld” the main “Block” of your particle, it will move according to its original position

You can predict and prevent only 1 this way, because the movement and orientation of the particle are quite uncomfortable, and even today the orientation of it being “bugged” may be unknown

You can place the main “Part” of the particle in your “HumanoidRootPart” using “Motor6D”

the issue persists, even being welded to the root.

You can insert the main attachments inside the character itself instead of leaving them outside, particles like that wouldn’t make sense to stay outside of someone and then weld them together

You can take main elements like “Attachment” and insert them into your own HumanoidRootPart, and just check if there wasn’t another particle and destroy it

image

This is just one that I think would be more efficient to leave, you wouldn’t have to mess with “Welds”

i think that this isnt solvable because the rotation of the root is constant, keeping the particle in that rotation. I’d think we have to make the part while true do follow the root while being 3 studs under

**or keep the rotation constantly still

From the looks of the video. The part where you have the emitter is moving up and down. From the offset you placed on the effect … this is making it dip under the ground, cutting off some of the effect from view. Just move the effect up a bit to avoid that. Just a guess would have to test it to be sure.

we got that fixed but what about the rotations occuring?

The torso is turning, this is effecting the rotation point.

right, except its hooked up to the humanoidrootpart (irrelevant)

it is for a fact possible to prevent this… just… how??? i already showed a video earlier proving it is

Well that get’s complicated. You would need to place your effect in a part that isn’t turning with the player like that. Or adjust the effect rotation to that turn.

i already tried making it move with the player in a separate part, to no avail. the part simply fell out of the map

That would be the complicated part of this. Maybe try to look at how other auras deal with this. Or only spin the effect when they are not moving. Or no spinning at all. Possibly don’t base the spin off the part it is in. You would have to test to be sure of anything this.

1 Like

thank you! while the issue may not be resolved fully i will take this into consideration and explore what i can change. thank you for the help.

Good luck, keep in mind I’m just speculating here. Again you would have to test to be sure.
Found this:

game.Players.PlayerAdded:Connect(function(plr)
Plr.CharacterAdded:Connect(function(Char)
local aura = game.ReplicatedStorage.AuraEffect:Clone()
aura.Parent = Char
aura.CFrame = Char.GetPrimaryCFrame()
local weld = instance.new("WeldConstraint", aura
Weld.Part0 = Char.PrimaryPart
Weld.Part1 = aura
   end)
end)

Even the video tutorials I looked at don’t show the player moving around, kind of frustrating.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.