Rocket Discard Parts Movement Scripting

I currently have a rocket that moves by being anchored, and having its position updated every frame before the physics simulation, however it releases parts “stages” every once and a while. My current method is simply releasing the parts (unanchoring all of it, but having it remain welded to one central part), and then using AssemblyLinearVelocity and some information about the rocket’s current speed to attempt to get it to act like in real life, where it starts out close to the rocket, but ends up falling down due to gravity. Unfortunately, it doesn’t look great:
Screen Recording 2024-07-21 144938
Screen Recording 2024-07-21 144834

The green borders means that the physics of the object are owned by the client.
The white borders means that the physics of the object are owned by the server.

Does anyone have any better ideas to make it look smoother and nicer (preferably simpler than tweening them (or using the method I use for the rocket))?

I suppose what you do is that after some time the parts or models get unanchored falling to the ground. Resulting in stages right?

1 Like

Yes, I have the different parts fall off after specific lengths of time since the start of the flight. However, they don’t inherit the speed of the rocket due to the way I created it, and that is really my main goal (getting the disengaged parts to inherit the speed of the rocket in a way that looks smooth, with gravity pulling them away from the rocket).

Looking at the docs for AssemblyLinearVelocity I’ve found this

I dont know for certain how you are doing this, but it would seem that if you are setting LinearVelocity manually, it could cause problems.

Thank you for noting this. I will be sure to look into it. If it works, I’ll mark your comment as a solution once I have time to test it.