I’ve made a system that can make a part and attach it to your character, and as this part is meant to represent a balloon it’s meant to float upwards slightly while still staying attached to you and following you.
The part floats, but it’s extremely shaky and jumping around will make it constantly flip around: if I make the antigravity even stronger it just stays at the top unmoving, and if I make it weaker it just constantly floats in circles. Is there any way to make it float upwards “softly” and not spin as much?
Code (unnecessary parts omitted):
local newFloatyPart = Instance.new("Part")
newFloatyPart.Parent = char
newFloatyPart.Massless = true
newFloatyPart.CanCollide = false
newFloatyPart.Size = Vector3.new(4, 4, 0.001)
newFloatyPart.Transparency = 1
local newAttatch1 = Instance.new("Attachment")
newAttatch1.Parent = char:WaitForChild("Head")
newAttatch1.Position = Vector3.new(0, 1, 0)
local newAttatch2 = Instance.new("Attachment")
newAttatch2.Parent = newFloatyPart
newAttatch2.Position = Vector3.new(0, -1.9, 0)
local newRope = Instance.new("RopeConstraint") --used for a visible connection
newRope.Restitution = 0
newRope.Length = 4
newRope.Attachment0 = newAttatch1
newRope.Attachment1 = newAttatch2
newRope.Parent = char:WaitForChild("Head")
newRope.Visible = true
local bodyForce = Instance.new("BodyForce") -- used for floatiness and anti-gravity
bodyForce.Force = Vector3.new(0, 0.7 * workspace.Gravity, 0)
bodyForce.Parent = newFloatyPart
Video of what happens: