Player is bouncing around after adjusting hipheight

i’ve made the player’s legs dissapear, and lowered their hipheight.

local part = script.Parent
local db = false
part.Touched:Connect(function(hit)
	if db == false then
		local hum = hit.Parent:FindFirstChild("Humanoid")
		if hum then
			local LL = hum.Parent:FindFirstChild("Left Leg")
			local RP = hum.Parent:FindFirstChild("HumanoidRootPart")
			LL.Transparency = 1
			hum.HipHeight = LL.Size.Y-(4)
			hum.Parent:FindFirstChild("Right Leg").Transparency = 1
			db = true
		end
	end
end)

however, whenever the player falls, it will bounce a bit. im assuming this has to do with density? The player’s torso is directly touching the ground (R6 player model)… the bounce starts at around .6 studs off the ground

local Enumeration = Enum
local Game = game
local Players = Game:GetService("Players")
local Player = Players.LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()
local Humanoid = Character:FindFirstChildOfClass("Humanoid") or Character:WaitForChild("Humanoid")
local LeftLeg = if Humanoid.RigType == Enumeration.HumanoidRigType.R6 then Character:FindFirstChild("Left Leg") or Character:WaitForChild("Left Leg") elseif Humanoid.RigType == Enumeration.HumanoidRigType.R15 then Character:FindFirstChild("LeftUpperLeg") or Character:WaitForChild("LeftUpperLeg") else nil
local RightLeg = if Humanoid.RigType == Enumeration.HumanoidRigType.R6 then Character:FindFirstChild("Right Leg") or Character:WaitForChild("Right Leg") elseif Humanoid.RigType == Enumeration.HumanoidRigType.R15 then Character:FindFirstChild("RightUpperLeg") or Character:WaitForChild("RightUpperLeg") else nil
if not (LeftLeg and RightLeg) then return end
LeftLeg:Destroy()
RightLeg:Destroy()
Humanoid.HipHeight -= LeftLeg.Size.Y

I’m not experiencing any bouncing with this but the animations are played too quickly.

id rather not Destroy() the legs because i want this to be undoable with another part, is setting the transparency fine?