This is what I’d like to achieve, except without having to manually move the lights.
Here is the hiearchy inside the explorer tab.
I literally have no understanding on how to do this, I tried TweenService but it just wasn’t moving the right direction and only one of the parts were moving.
If anyone could help steer me in the right direction, thank you!
-- welds two parts together in their current relative orientation
local function createWeld(part0, part1, weldType, offset)
local weld = Instance.new(weldType or "Weld")
offset = offset or CFrame.new()
weld.Part0 = part0
weld.Part1 = part1
weld.C0 = part0.CFrame:inverse() * part1.CFrame * offset
weld.Parent = part0
return weld
end
-- welds a list of parts in their current relative orientation to a root part
local function weldAll(root, model)
local welds = {}
for _, desc in pairs(model:GetDescendants()) do
if desc:IsA("BasePart") or desc:IsA("UnionOperation") then
welds[#welds+1] = createWeld(root, desc)
end
end
return welds
end
weldAll(partToWeldAllPartsTo, model)
I recommend taking a look at this article. It explains in depth how you can initiate a primary part and weld the remaining parts to the anchored part and tween just that one part.