How would I change the orientation of a model to a specific orientation?

So I have a table with the exact orientations I want the model to rotate to. However I’m not sure how to do this as using CFrame.Angles just rotates the model in a weird way. Here’s my code:

local clock = player.PlayerGui:WaitForChild("Countdown"):WaitForChild("ViewportFrame"):WaitForChild("WorldModel"):WaitForChild("Clock")
local pivot = clock.MinuteHand:GetPivot()
events.Countdown.OnClientEvent:Connect(function(number)
	local minuteHandZones = {
		CFrame.Angles(-0.161, -90.115,76.702),
		CFrame.Angles(-0.161,-90.115, 70.653),
		CFrame.Angles(-0.161, -90.115, 64.016),
		CFrame.Angles(-0.161, -90.115, 57.656),
		CFrame.Angles(-0.161, -90.115, 52.299),
		CFrame.Angles(-0.161, -90.115, 45.82),
		CFrame.Angles(-0.161, -90.115, 38.395),
		CFrame.Angles(-0.161, -90.115, 31.078),
		CFrame.Angles(-0.161, -90.115, 25.032),
		CFrame.Angles(-0.161, -90.115, 18.78),
		CFrame.Angles(-0.161, -90.115, 12.959),
		CFrame.Angles(-0.161, -90.115, 5.182),
		CFrame.Angles(-0.161, -90.115, 0.525),
		CFrame.Angles(-0.161, -90.115, -4.705),
		CFrame.Angles(-0.161, -90.115, -9.513),
		CFrame.Angles(-0.161, -90.115, -15.519),
		CFrame.Angles(-0.161, -90.115, -22.44),
		CFrame.Angles(-0.161, -90.115, -29.519),
		CFrame.Angles(-0.161, -90.115, -35.887),
		CFrame.Angles(-0.161, -90.115, -42.157),
		CFrame.Angles(-0.161, -90.115, -46.268),
		CFrame.Angles(-0.161, -90.115, -54.963),
		CFrame.Angles(-0.161, -90.115, -61.406),
		CFrame.Angles(-0.161, -90.115, -67.615),
		CFrame.Angles(-0.161, -90.115, -74.614),
		CFrame.Angles(-0.161, -90.115, -78.517),
		CFrame.Angles(-0.161, -90.115, -82.813),
		CFrame.Angles(-0.161, -90.115, -87.547),
		CFrame.Angles(-0.161, -90.115, -92.898),
		CFrame.Angles(-0.161, -90.115, -99.393),
		CFrame.Angles(-0.161, -90.115, -106.233),
		CFrame.Angles(-0.161, -90.115, -111.454),
		CFrame.Angles(-0.161, -90.115, -116.485),
		CFrame.Angles(-0.161, -90.115, -123.233),
		CFrame.Angles(-0.161, -90.115, -129.439),
		CFrame.Angles(-0.161, -90.115, -135.642),
		CFrame.Angles(-0.161, -90.115, -142.932),
		CFrame.Angles(-0.161, -90.115, -148.513),
		CFrame.Angles(-0.161, -90.115, -154.101),
		CFrame.Angles(-0.161, -90.115, -161.342),
		CFrame.Angles(-0.161, -90.115, -165.388),
		CFrame.Angles(-0.161, -90.115, -173.385),
		CFrame.Angles(-0.161, -90.115, -178.312),
		CFrame.Angles(-0.161, -90.115, 174.476),
		CFrame.Angles(-0.161, -90.115, 168.377),
		CFrame.Angles(-0.161, -90.115, 161.589),
		CFrame.Angles(-0.161, -90.115, 156.151),
		CFrame.Angles(-0.161, -90.115, 151.738),
		CFrame.Angles(-0.161, -90.115, 145.221),
		CFrame.Angles(-0.161, -90.115, 140.416),
		CFrame.Angles(-0.161, -90.115, 135.345),
		CFrame.Angles(-0.161, -90.115, 127.664),
		CFrame.Angles(-0.161, -90.115, 121.67),
		CFrame.Angles(-0.161, -90.115, 115.975),
		CFrame.Angles(-0.161, -90.115, 110.003),
		CFrame.Angles(-0.161, -90.115, 106.124),
		CFrame.Angles(-0.161, -90.115, 101.259),
		CFrame.Angles(-0.161, -90.115, 97.564),
		CFrame.Angles(-0.161, -90.115, 95.293),
		CFrame.Angles(-0.161, -90.115, 90.65),
	}
	local minuteHandRotation = minuteHandZones[number]
	if minuteHandRotation then
		sounds.ClockTick:Play()
		clock.MinuteHand:PivotTo(pivot * minuteHandRotation)
	end
end)
1 Like

Why use a table when you can just add 6 degrees every minute?
360 degrees/60 minutes per 1 revolution = 6 degrees per minute.
Check this documentation and look at the Rotating a CFrame section: CFrames | Documentation - Roblox Creator Hub

Never even thought of this… lol. Thank you

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.