UE5: Floating point precision jitter with lat/lon doubles


I’m converting our flight simulator right now from UE4 to UE5 (UE 5.0.3, CESIUM plugin 1.17.0).

I have it working now, I removed all the rebasing and I’m setting the double lat/lon values directly in the CesiumGlobeAnchor component attached to our jet.

I set EnableLargeWorlds and UE_USE_UE4_WORLD_MAX according to the UE5 manual:

This works like a charm, I’m able to control the position of the jet via lat/lon doubles with absolute precision (in UE4 the same approach wouldn’t have worked, the jet would have jumped, not moved smoothly).

But (there always is a “but” :slight_smile: ):

I still have precision jitter affecting our jet when I fly a few miles away from the origin. The farther I get away from the origin (UE5 world coordinate system) the more the mesh faces start to jitter. Some years ago I had this problem with UE4 the first time, that’s when I started to use origin rebasing, and this solved it (with the cost of having some flicker every time the rebasing happened).

Have a look at e.g. the joystick button in the cockpit at the home airport, quite close to the origin:

The button looks fine, ignore the small cracks in the cockpit, this is development geometry, not cleaned up. And now have a look at the same button after I flew a few miles out:

Ugly as hell, and the cracks got bigger, too, the airplane is falling apart in mid flight …

The joystick mesh with the button is a child of the joystick, base, that is a child of a scene component for better position, that again is a child of the default scene root component.

And the scene root is driven by the CesiumGlobeAnchor using doubles - all should be fine, I thought.

Do you have any idea why the jitter is happening?

Thanks & best