Best Way to make a Smooth and Fast Elevator

Hello,

I am looking for a good way to make a fast, smooth, not laggy, moving elevator. I have a couple of ideas in mind. Please keep in mind that all ways will be done locally and not on the server to have the best performance.

Constraints: Taking prismatic constraints and essentially making a piston low powered elevator.

CFrame: Probably the worst out of all, tends to be pretty laggy and have unrealistic movements.

TweenService: Promising, almost never glitches out, however, limitations are applicable to realism and performance.

I’m not sure if there are any others if there is please let me know as well as what you think would be the best. Thanks.

1 Like

as long as you’re using CFrame on RenderStep, and account for delta. it’ll move every frame.

something like

game["Run Service"].RenderStepped:connect(function(delta)
Elevator.CFrame = CFrame.new(Elevator.CFrame.p+(Velocity*Delta),Elevator.CFrame.p+Elevator.CFrame.lookVector)
end)

(there are probably better algorithms to use for this, but this is the one i can rattle out of my brain without testing it)

1 Like

I would use a vector force connected to the elevator and the roof, or I would use tweenservice with a sine animation.

3 Likes

I’m currently making one using prismatic constraint (set to Servo) for elevator movement and CFrame for exterior doors and mesh for interior doors. I used to have PrismaticConstraint (also Servo setting) for doors but this makes them prone to glitches and cause performance issues, so it’s now only limited to elevator movement.