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.
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.
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
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
is this supposed to fire constantly while moving?
Thats what I do, but try and see if it works doing it once