We have just started making rocket simulator) and we have small rocket on a large planet so we have all kinds of problems with fp32 precision(
It seems that UE5 engineers are aware of that problem and maybe even working on it)
I’ve compiled UE5 from UE5-main repository and hoped that there are some solutions, but I found none( maybe I’m searching in a wrong place?
I’ve been using Unreal for science projects as well and ran into similar issues.
It’s called Large World Coordinates LWC, seems to coming with ue5
The only engine I know that supports 64bit precision is Unigine with Engineering license and that is expensive.
but don’t let that stop you no, in single player(Local) you only need a couple of tricks to give user the illusion of seemingly endless or huge world, just use LOD proxies for distant terrain and load it up as you get close to it, to tackle the precision you can reset the coordinates back to origin.
I made a space ship game in Unity, I used camera layers to stack up different views, there was a miniature solar system which only rendered the planets and once I overlapped it with the main camera it gave the illusion of big worlds, As the ship gets closer you only need to generate a procedural plane with collision (my project was low poly so it was easy) based on the coordinates to load the correct heightmap for terrain.
P.S. I tried doing that in UE4 as well but turns out the Run time terrain editor is disabled for shipping builds and also I couldn’t find how to stack up cameras so they may render different layers.
initial work to support rendering with LWC-scale position:
https://github.com/EpicGames/UnrealEngine/commit/14ea9b00e53e091ecfced27bff7aab984479339a
very cool