Increase floating point precision with large scene and parented objects

So I have a pretty large scene with ships flying towards a canyon, the ship has pilots in side but they are jittering around. I know this is a floating point issue but fixing it is proving hard.

The scene was massive (real scale) so I tried scaling it down, but it's still jittering. I've moved everything as close as I can to world origin.

You'll notice the scale is small so now the ships are around 1m in length instead of 30 odd, but if I go smaller the jitter gets worse. Is there anything else I can try? How do people do big scenes and not have this issue? Thanks

• How are the pilots related to the ship? Are they animated independently? The ship, itself, is not jittering? Commented Jan 13, 2023 at 10:36
• I don't think you can improve this by descaling everything, you move your floating point, but precision is determined by float's number of digits. We had such a problem in our project in Unity. We solved it by fixing the camera to zero point and moving everything else instead. Jittering remains but only for farthest vertices, that can be mitigated by limiting visibility. But in blender easier could be to divide your scene to sectors and write a script that would move everything when camera approaches a boundary. Commented Jan 13, 2023 at 13:12
• @RobinBetts Found my issue, I had parented the pilots to the hull bone of the ship, one character wasn't jittering and was parented to the ship object but not any bone, so I changed the way they were parented and it fixed the jittering. I wonder what the difference is? Thanks for reminding me to double check that! Commented Jan 15, 2023 at 4:02
• "I wonder what the difference is? " parenting to different objects can differ based on the effect I call distant relative jitter (when a parent of an object is far enough away its jitter is transmitted to its siblings). Also, scaling will scale any jitter problems in proportion: it does not solve jitter, as @Vajtus indicated. Commented Jan 27 at 3:24