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

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 StartPosition = Printer.CFrame:pointToWorldSpace(PaperPositionDiff)
    local finalproperties = {Size = FinalPaperSize, Position = StartPosition}

    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