Trying to create a push effect

Hi, so I am trying to make a push. I am currently using BodyForce and the problem I have is that friction is playing a huge part on the force. The Push looks okay when the player is grounded, but if the player was in the air, or if the player jumps, they will go flying. I am pretty sure that this is because of the friction of the ground and the player’s feet. Below is what it currently creates.
BodyForce Code:

local total_mass = 0
for index, part in pairs(characterOfPush:GetDescendants() ) do
	if part:IsA("BasePart") then
		total_mass += part.Mass
	end
end
	
local bv = Instance.new("BodyForce")
bv.Parent = characterOfPush.PrimaryPart
bv.Force = (angle * total_mass * 1000)
wait(.5)
bv:Destroy()

BodyForce Video:

I have tried using BodyVelocity with the MaxForce set to math.huge. This works fine, but it does not create the effect I am looking for. It basically makes them fly, and then fall once the BV is destroyed.
BodyVelocity Code:

local bv = Instance.new("BodyVelocity")
bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
bv.Velocity = (angle * 50)
bv.Parent = characterOfPush.PrimaryPart
wait(.5)
bv:Destroy()

BodyVelocity Video:

I want the push to be the same effect no matter the friction.

1 Like