I’ve been attempting to make a tweened platform that can transport both parts and players, which has led me to setting the AssemblyLinearVelocity
and AssemblyAngularVelocity
properties of the platform every step (ie. connecting this function to RunService.Stepped
). Parts initially didn’t move with the platform, so I fixed that by setting the parts’ AssemblyLinearVelocity
and AssemblyAngularVelocity
properties to the platform’s.
This setup carries a couple of issues I’ve yet to solve. The most critical of which is that the parts lag behind the platform when updating their velocities. This is an issue in 2 aspects. One, is that it doesn’t look quite as good as I’d like it to be. Two, and more importantly, when the platforms move too fast and the part stops touching the platform, the part drops down when I don’t want it to, which occurs most frequently when the platform rotates and the axis of rotation is not through the center.
The documentation acknowledges this and suggests I use either mover constraints or the impulse methods instead, but I’ve tried that out and concluded that they present their own set of problems. Mover constraints are a bit too limiting for my use case, but I feel if I knew a bit more about impulse, those methods could indeed be a viable alternative.
All in all, should I improve on the current system I have in place or try to figure out how impulse would work? How would I go about either of these solutions? For the impulse one in particular, how would I handle the 0 seconds of change in time to calculate the impulse and 0 kilograms of mass to calculate the change in momentum?