Is it theoretically possible to create a 1:1 of the Solar System, in a single worldspace, in UE5?

I know with Unreal 4 it’s impossible as the precision is 32-bit floats, meaning the map size only gets to around 20x20km before you start seeing serious errors. However, I hear it is confirmed that UE5 is going to be using 64-bit doubles, meaning that you can have millions of km of playable space before encountering issues.

If I were to use Unreal 5, would I be able to use this massively increased play space, and couple it with rebasing in a 3D grid with square ‘chunks’ of a few million km around (so when you enter a chunk, the game rebases the origin to the centre of said chunk), to create a 1:1 scale model of the Solar System without needing to cut it up into separate worldspaces?

This is purely theoretical, obviously, but I want to know if I’m even on the right track or if this is just completely impossible within UE5 and I should stop hypothesizing it. Thanks.

I mean, you could, but why? Why would you do that? Why would you do any of that? You could just… NOT do that.

But… with my limited knowledge of the engine, I dont think it’d be impossible. You’d just have to figure out how to move fast enough to not make the player hate life without killing their pc

It would be a lot of fun to have a game like that one from Penn and Teller where you drive a bus to Las Vegas for hours with nothing much to do but in space with a trip from Earth to Neptune.

Lmao.

you could just test it. Sun in the center, two Pluto’s at opposite ends of the solar system. If it works then run with it. Would be a neat sci-viz project anyways.

You can actually do the same with ue4, world composition, and origin shifting.

The planet off at any distance is simply not going to be rendered. Even if emissive.

The engine doesn’t know that at extra long distances planets are essentially reflective. So in practice, even if you were to place the sun at 0,0,0, and earth at it’s appropriate distance with Mercury and Venus in between, you’d likely see nothing from earth.

The sun being so much larger (and probably emissive) would still display in theory.
However the accuracy of the rendering of the sphere of it may suffer - which is probably not a big deal considering you cannot directly look at the sun and see it spherical irl anyway.

The issues you’ll find is when you start to animate things.
Then again, the sun would be static. The earth would be moving. So that motion would be near the “origin” in theory.

Say that Venus was visible. If you tried animating that to move, you’d see it flickering about because of precision. Probably even with doubles.
How visible the glitch would be is something you should probably test…

1 Like

I’m not sure the sun would display, even in theory, because of the interaction between near and far clip planes. There’s only 24 bits worth of resolution in the conventional Z buffer, which means the near clip plane needs to be at 9 kilometers to make the sun representable. If you can do “infinite far Z” and other such tricks, and/or use floating point Z buffers, you might be able to do better.

Or you could just say “1 unreal unit == 1000 kilometers” and model everything in that space, and it’ll probably work out OK. You just can’t get particularly close to anything, nor do any kind of precise physical simulation.

with unreal physics what would even be the point?
There’s mathematical models to study orbits, because the study of orbits requires extra precision. Particularly if the intent is to do something useful like simulate a mars mission in which you set a satellite in geosynchronous orbit.

You could make the point that maybe Epic needs to produce a NASA version of the engine with near to no features, a calculator, and a rendering system that actually renders…
Then again, obviously NASA uses actually decent technology :stuck_out_tongue:

I wouldn’t be surprised if NASA uses some old scene graph library like Inventor, MultiGen, or somesuch. Probably with a 30 year support contract. (They probably also use a bunch of new stuff, too – lots of people with wildly varying needs :slight_smile:)

But, like Kerbal Space Program did alright (ish) with a 32-bit floating point simulation engine – the same PhysX that Unreal uses. And while I would have pushed in a 64-bit engine the very first day if I set out to build a space sim, not all games need that.

1 Like

im actually working on something similar, but it would only take like 30 seconds to get to neptune, it is gonna be a huge procedurally generated (hopefully) galaxy (maybe only a couple solar systems) and you control a near-future exploration ship