This post is solved.
Even if set to Massless, at least one part of every assembly will have some mass so that physics don’t fall apart. In the case of a player, that is the player’s HumanoidRootPart.
If you are trying to keep a platform at a certain height, perhaps you could try a BodyPosition with a Position of
(0,height,0) and a MaxForce of
Instead of solving unnecessary math problems to apply enough force to keep the part up on the height you want, you can use
BodyPosition instead, to keep the part in place with combination of
BodyGyro to prevent part from flipping. I made an example code below, I also commented it.
local FloatingPart = script.Parent -- Your part that you want to apply the body movers to local Height = 10 -- The height in studs to keep the floating part on local BodyPosition = Instance.new("BodyPosition") -- Create a body position object BodyPosition.MaxForce = Vector3.new(0, math.huge, 0) -- Do not allow to apply more than 0 force on x and z, but allow to apply infinite force on y BodyPosition.Position = Vector3.new(FloatingPart.Position.X, Height, FloatingPart.Position.Z) -- Apply force on x, keep it in position of the part, and same with z, but have static y force (aka our height) BodyPosition.Parent = FloatingPart -- Put the body position object into the floating part local BodyGyro = Instance.new("BodyGyro", FloatingPart) -- Make and put body gyro into the floating part, this will keep the part from flipping on all axis (x, y, z). If you don't want this, you can remove this line
Like always, if you have any questions about any part of the code, you can ask one!