Tween not rotating with object

Pretty much what the title says, basically I need the paper to print in the way that it does with the printer on the left, but when I rotate the printer model the paper still prints in the same way.

local PaperPositionDiff = Vector3.new(0, 0.274, 0.751)
local DownPositionDiff = Vector3.new(0, 0.02, 0)
local FinalPaperSize = Vector3.new(1.8, 0.01, 1.1)

local function MoveNewspaper(newspaper, PrintingTime)
	local Printer = newspaper.Parent.Printer
	local SoundPart = newspaper.Parent.SoundPart
	local PrinterStart = SoundPart.PrintStart
	local PrinterEnd = SoundPart.PrintEnd
	
	local finalproperties = {Size = FinalPaperSize, Position = newspaper.Position + PaperPositionDiff}
	local tweeninfo = TweenInfo.new(PrintingTime, Enum.EasingStyle.Sine, Enum.EasingDirection.Out, 0, false, 0)
	local tween = TweenService:Create(newspaper, tweeninfo, finalproperties)
	
	PrinterStart:Play()
	ChangePrinterTimeRemote.OnClientEvent:Connect(function(newtime)
		PrintingTime = newtime
	end)
	
	tween:Play()
	task.wait(PrintingTime - 1)
	PrinterStart:Stop()
	PrinterEnd:Play()
end

1 Like

Have you tried adjusting the CFrame instead of the Position for your finalproperties table. Position doesn’t influence part rotation, while CFrame does.

It shouldn’t be rotating it, just increasing its size and position simultaneously to make it look like its printing out paper

You are using position, which is a Vector3 and using the global axes. You would probably want to use CFrame to position the paper according to its local axes. This should be a simple change:

local PaperPositionDiff = CFrame.new(0, 0.274, 0.751)
...
...
...
local finalproperties = {Size = FinalPaperSize, Position = newspaper.CFrame * PaperPositionDiff}