UE5: Floating point precision jitter with lat/lon doubles

Hi,

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
Andreas

Hi @Lildreas,

It’s hard to say at first glance what might be causing this. Two questions:

  • Is it only the mesh that’s showing the jitter? You mentioned the jet movement itself is okay - are there any other elements of your application that seem to be having problems far from the origin?
  • Is there any way to test the same mesh in a standard (not georeferenced) UE5 scene, to see if it shows the same issue when far from the origin?

It would definitely be useful to figure out if this is specifically caused by Cesium for Unreal scenes, or might be stemming from UE5 itself.

-Alex

Hi @agallegos ,

thanks for your answer. And you’re dead on target, it’s only the mesh that jitters. In the meantime I found a post about this (had to search for a while) and an engine issue in the UE bug tracker:

So it seems it’s an UE5 bug that they already know about. But they flagged the issue as solved for 5.1, but apparently it isn’t (the guy who made the post build UE5 5.1 from source and tested it). So I will try to make EPIC aware of this, that the issue is not yet solved.

CESIUM is not to blame, sorry about my slight suspicion. :slight_smile: But hopefully this might make other users aware of this bug.

Best
Andreas

1 Like

Thank you for following up! Fingers crossed that they solve the issue for real in the next release.

-Alex

1 Like