I’m currently creating a door system where a part ‘opens’ and ‘closes’ about a point, just like a real door.
I’ve managed to achieve the majority of this using TweenService like so:
local TweenService = game:GetService("TweenService")
while wait(1) do
local tween = TweenService:Create(script.Parent, TweenInfo.new(1,Enum.EasingStyle.Quart), {CFrame = workspace.dest.CFrame}) tween:Play() tween.Completed:wait()
wait(1)
local tween = TweenService:Create(script.Parent, TweenInfo.new(1,Enum.EasingStyle.Quart), {CFrame = workspace.start.CFrame}) tween:Play() tween.Completed:wait()
end
I’d recommend putting a part at the hinge, such that opening the door transforms this part in a pure rotation with no translation. Unanchor the rest of the door and weld it to the pivot, and use tweenservice on the pivot part.
I used to do that until I switched to PGS Physics / constraints. What I meant is that implies un-anchroing everything but the primary part, as you cannot use SetPrimaryPartCFrame with TweenService.
Aye - it’s an easy thing to do if you have a script setup like I do.
Constraints are good for interactives, but if you want to have a door pivot by its own accord PGS becomes messy and unreliable for consistent moment action
If I’m correct, he’s asking for stable doors without using Roblox physics. Try replacing the invisible parts to get the parts CFrame into having their corners touching each other instead of clipping into each other.