I want to make a particle effect go between 2 parts, kind of like a RopeConstraint, but with particles.
Ive tries seeing if anyone else could do it, but as far as I know no one does, so does anyone know how to do this? Thanks!
I want to make a particle effect go between 2 parts, kind of like a RopeConstraint, but with particles.
Ive tries seeing if anyone else could do it, but as far as I know no one does, so does anyone know how to do this? Thanks!
ParticleEmitters don’t have this built in, unless your 2 objects are fixed relative to each other and also happen to fit one of the existing geometries (unlikely). Your best option is probably to try to implement your idea with a Beam connecting the parts. It may not look exactly how you imagined, but it might be the easiest way to get something close. Otherwise, you’re basically left having to write a custom Lua system that positions things every RenderStep.
Technically there is also the ancient FloorWire instance. You probably don’t want to use that though
Yea I thought so lol, thanks anyways!
I guess there is technically a way to do it without scripting if you make a chain of 1 or more parts with ParticleEmitters and existing physics constraint (springs, ropes, rods, ballsockets, etc.) and connect them between the Parts. It kinda depends on what look your after, what the relationship is between the two parts. Beam is still probably the answer if the particles are primarily going between the 2 parts on a curved or straight path.
You could try creating a part that its Size.Z is the distance between the objects and in the object, add a ParticleEmmiter
local part1 = -- The part you want the 'chain' to start
local part2 = -- The part you want the 'chain' to end
-- There is no difference putting in part1 or part2 at all
local particle = -- Here, your particle
local distance = (part1.Position - part2.Position).Magnitude -- Distance between the parts
-- I don't really know how you want to customize it
local ParticlePart = Instance.new("Part", workspace)
ParticlePart.Size = Vector3.new(1,1,distance) -- If you want to the particles be
--more in a straight line, you can set this to Vector3.new(0.05, 0.05, distance),
--fore example.
ParticlePart.Anchored = true
ParticlePart.CanCollide = false
ParticlePart.Transparency = 0.5 -- change this to 1 to make invisible
ParticlePart.CFrame = CFrame.new(part1.Position, part2.Position)
ParticlePart.CFrame = ParticlePart.CFrame * CFrame.new(0,0,-(distance/2))
particle.Parent = ParticlePart
particle:Emit(100)