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.

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