I am trying to make a horse rotate, but it rotate a bit and it just stuck to this

I want the horse to rotate full circle

This is the code

local function HorseRotateMain()
	local horse,HRP,bodyGyro,bodyVelocity = HorseSetup()
	if horse then
		local Z,Y,X = bodyGyro.CFrame:ToEulerAnglesXYZ()
		bodyGyro.CFrame = CFrame.fromEulerAnglesXYZ(X,Y- math.rad(60),Z )
	end
end

This is what happens after a certain rotation

I mean.
You are just rotating 60 radians, what did you expected, a full circle should be 360.

2 Likes

No I meant like if I rotate 60 degree like 6 times, 180 degree in 2 times, you get it, it should come to a full circle, not just be like that

1 Like

Y - math.rad(360)
Should work perfectly, can you trying adding a 360 exchange of 60?

1 Like

I dont want that, this code is how the player ride and steer the horse, they dont want the horse to rotate 360 degree right?

1 Like

Ah, you want to make a custom horse?
I would recommend doing a while loop (while player hold key to turn)
and than, well, the turn should be minimium, like 1.

This is in a while loop, did you watch the gif

are you sure youre manipulating the same bodygyro? if bodygyro is created every HorseSetup() then it wouldnt continuously turn.

can try:
bodyGyro.CFrame = bodyGyro.CFrame * CFrame.Angles(0,math.rad(60),0)

2 Likes