✓ Accepted answer
I have also encountered this issue before (when trying to make things spin forever) and I've found 2 solutions:
- Orientation
Though most of us would use CFrame, I found that by simplify using Orientation will solve the issue by Orientation = Part.Orientation + Vector3.new(360,0,0).
- CFrame
CFrame is indeed an option but math.angles(math.rad(360),0,0) will not work (I personally am unsure why). To use CFrame in case you are orientating a Model, you can do: ["CFrame"] = Part.CFrame*CFrame.fromEulerAnglesXYZ(360,0,0) (I'm not too sure if it's spelt exactly like that)
Anyway, if you are looking for a full rotation these are your options. If you are using TweenService, some properties may break it or buffer it such as reverse.
Hope this helped, please do note that these are options and there are probably other ways to do so either using your previous methods or new ones. All of these options have been tested by me so I'd assume it works. If it doesn't work comment your code or edit your question and I can get back to you.
2 comments
I actually use 3 tweens to make sure it rotates the right way. I just connect like this tween1.Completed:Connect(function() tween2:Play() end) and so on. I did not found any better way.
Would it be still more performant than loops?