What solutions have you tried so far?
I tried changing the gravity, but that doesn’t work.
I also tried making the character massless but unfortunately, it’s the same thing.
I don’t know if this post belongs to bug reports, but I can’t post there either way so…
Anyway, this might be just another quirk of Roblox’s physics engine.
I really don’t want to make a custom one because that would take a whole lot of time.
I got pulled down quickly right before landing. There are no scripts affecting the character movement other than one rotating the HumanoidRootPart, but it also happened before I made it.
Also, I don’t have access to #bug-reports, and I wasn’t sure where to post this…
I believe @SubtotalAnt8185 is correct it is due to humanoids though for both R15 and R6.
Unfortunately we do not access to the internal code for humanoids, however I am assuming Roblox system is done similar to luanoids which achieves the same effect with forces which they used this equation for their hipheight equation.
--Luanoid method of hipheight, works great and rigid however cannot solve for overshoot, ends up bouncy
--Bouncy at low fps, solved using Physics substepping. Hopefully can get acces to 240 Hz physics engine one day.
local function calculateForces(targetHeight, currentHeight, currentYVelocity, t, mass, hipHeight, dt)
-- counter gravity and then solve constant acceleration eq
-- (x1 = x0 + v*t + 0.5*a*t*t) for a to aproach target height over time
local aUp = workspace.Gravity + 2*((targetHeight - currentHeight) - currentYVelocity*t)/(t*t)
--this is in luanoids, the reason for the downward force of -1.
--Presumably done to make the character stick to the ground when walking up slopes and stairs so probably not a bug just intended with humanoids.
aUp = math.max(-1, aUp) --Limit downward force
return aUp*mass
end
You could try setting math.max(0, aUp) to prevent downwards force.
Otherwise that recreates the phenomenon happening at low gravity as you mentioned.
It has been done before, but yes it did take a lot of time.