Looks like you cannot tween a CFrameValue, you can use a part in nil and then CFrame it, then make the model follow it
01 | local Ship = script.Parent |
02 | local Nodes = workspace.ShipNodes |
03 | local ShipNodes = workspace.ShipNodes:GetChildren() |
05 | local tweenService = game:GetService( "TweenService" ) |
08 | Enum.EasingStyle.Style, |
09 | Enum.EasingDirection.In, |
15 | local info = TweenInfo.new( unpack (infoArray)) |
17 | local function tweenModel(model, CF) |
18 | local Part = Instance.new( "Part" ) |
19 | Part.CFrame = model:GetPrimaryPartCFrame() |
21 | Part:GetPropertyChangedSignal( "CFrame" ):Connect( function () |
22 | model:SetPrimaryPartCFrame(Part.CFrame) |
25 | local tween = tweenService:Create(Part, info, { CFrame = CF } ) |
28 | tween.Completed:Connect( function () |
35 | for i = 1 , #ShipNodes do |
36 | tweenModel(Ship, Nodes:FindFirstChild( "Node" .. i)) |
What we basically do is make a part and Tween it, and listen for every time its CFrame changes, so the model follows it.
If this answered your question mark it as the answer!