Flinging horse, help

https://streamable.com/ai853y

I used bodyvelocity to make the horse move, but I can’t seem to fix the flinging. Is there anything I can do to fix this?

I have tried decreasing the speed, but the horse was extremely slow.

1 Like

Long shot, but maybe try giving the horse some mass? Check the horses limbs and make sure they are ticked to “Massless: Off”. If that doesn’t work or the horse needs to be massless/not massless I’m clueless.

3 Likes

I had a similar problem, it wasnt for a horse but rather a boat. The way I fixed it was to have a cap for its velocity/acceleration. if the magnitude of the acceleration (measured the scientific way) was > max speed it would make its magnitude that max speed

1 Like

You should add in a BodyGyro in with the BodyVelocity so it remains in an upright position. Then change the bodyGyro’s CFrame to match the direction the horse is moving in

so should i set a max speed for the bodyvelocity?

could you explain a bit more? I don’t get what you are saying.

@Dudeguy90539 It wouldent work
@CoderHusk Could you explain more about this? I don’t get waht you are trying to say
@Jeannecca I tried switching massless on and off, both seems to have the glitch.

Hey, are you still working on this project? I have found a solution to your question.

yeah, im still working on it, Not planning on giving up soon, whats the solution?

Try this, add a BodyGyro to the horses HumanoidRootPart or where ever your Bodys are.

	local upVector = BodyGyro.CFrame.UpVector
	local angleSlope = math.acos(upVector.Y)
	local maxAngle = math.rad(85)
	local mass = 0

	for _, v in ipairs(Horse:GetDescendants()) do -- Setting mass
		if v:IsA('BasePart') then
			mass = mass + v:GetMass()
		end
	end

	BodyVelocity.MaxForce = Vector3.new(0.5, 0, 0.5)* mass *workspace.Gravity * math.tan(maxAngle) / math.sqrt(2)
	if angleSlope > maxAngle then
		upVector = (math.sin(angleSlope-maxAngle) * Vector3.new(0,1,0) + math.sin(maxAngle) * upVector) / math.sin(angleSlope)
	else
		BodyVelocity.MaxForce = Vector3.new(1, 0, 1) * mass * workspace.Gravity * math.tan(maxAngle) / math.sqrt(2) + Vector3.new(500, 0, 500)
	end

ill try that and see if it works, ill get back to you when it’s done

1 Like

is this supposed to fire constantly while moving?

Thats what I do, but try and see if it works doing it once

1 Like