I have a very large model that I need to tween all at once. I've used model:SetPrimaryPartCFrame inside of a for loop, but it's wayyy too jittery. Is there a way to utilize the tween service to make the movement of it smoother? I've tried some methods such as
local tweenService = game:GetService("TweenService")
local info = TweenInfo.new()
local function tweenModel(model, CF)
local CFrameValue = Instance.new("CFrameValue")
CFrameValue.Value = model:GetPrimaryPartCFrame()
CFrameValue:GetPropertyChangedSignal("Value"):Connect(function()
model:SetPrimaryPartCFrame(CFrameValue.Value)
end)
local tween = tweenService:Create(CFrameValue, info, {Value = CF})
tween:Play()
tween.Completed:Connect(function()
CFrameValue:Destroy()
end)
end
but it always returns and error with the CFrame value when I do tweenService:Create().
What is the most efficient way to accomplish this?

6 comments
Agreed
Paired with RenderStepped:wait(), it would run incredibly smooth, though not necessary.
I would not recommend using the tweening with any kind of loop
I would try that, the thing is there are so many objects (parts and unions) inside of this model that I don't want to mess it up.
Oh sorry, I thought he was moving it based on CFrame alone. You can tween parts now?
It wouldn't mess it up, what I usually do is just make an invisible part with collision off covering the whole model and make that my primary anchored part and weld all the parts to it