How to remove mutiplayer jitters when players are in a moving container

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By godotlearner

Please take a look at the video below

When the spaceship starts moving, the jitter begins.

Let me explain how I do this:

  1. Characters and spaceships are siblings. Characters are rigidbodies and spaceship is kinematicbody.
  2. In every physics frame, I change characters’ transforms when they are inside spaceship
  3. Network tick rate is 30fps. when the tick rate timer is timedout, client sends character transform to the server and server broadcast to all clients about puppet information including other characters and spaceship.
  4. Spaceship belongs to peer 1. For the sake of development convenience, the first character is also peer 1. the other character is network master of its own node only.

I tried below before I come here to ask and none of them works:

  1. Put characters inside spaceship so I don’t change passenger’s transform manually. Jitter still exists.
  2. Using tween. Tween makes movement more fluent but don’t fix jitters as characters position changes back and forth. Tween only make the back-and-forth-move more fluent but doesn’t remove the back-and-forth-move. Tween is used in the video.
  3. send character transform and spaceship transform in single rpc call and let the client handle the data in single frame. This doesn’t help either.

The only way I know, to remove the jitter when the spaceship starts moving, is to not move it at all. When spaceship doesn’t move, the jitter doesn’t show.

How can I remove the jitter, or this is an engine problem? Do I have to change the gameplay?