How can I move and rotate a part with TweenService?

I want a part to go forward in a direction and spin along the way. I want the spinning tween to repeat until the position has been reached. I tried this, the position part works, but the part doesn’t spin at all.

ts:Create(fireballmodel.PrimaryPart, ti, {CFrame = char.HumanoidRootPart.CFrame * (CFrame.Angles(0, 0, math.rad(45 * 9)) * CFrame.new(0, 0, -50))}):Play()

I tried messing around with the numbers but it still doesn’t seem to be doing anything.

1 Like

Maybe this would help -

1 Like

Tween service will interpolate things. If the angle is the same at the start of the tween and at the end of the tween then the tween will not do any unnecessary spinning. To achieve what you are trying to do, two solutions that I can think of are:

  1. Tween only the Position and not the CFrame, then make a seperate tween that tweens the orientation repeatedly until the Position is at the end position.

  2. Tween only the Position property then make a loop that will continuously update the orientation, then break from the loop when the Tween.Completed event is fired.