Search Unity

Full planet sized local space (like KSP) and floating origin in Unity

Discussion in 'World Building' started by realdka13, Dec 23, 2021.

  1. realdka13

    realdka13

    Joined:
    Jun 19, 2018
    Posts:
    23
    Like many others, I'm working on my own large scale space game. I'm at the point where I need to start working on the scale. Now I understand floating origin, and utilizing a scaled space to render far off objects. What I have yet to find information on is how to go about the 1:1 scale local space, using real life sized planets. Say in KSP, Kerbin is 6000km radius, which would translate to 6 million units in Unity, assuming they used 1-1.

    So far I've thought of a couple possible solutions, the first being to just deal with smaller planets, which is pretty boring and I know people have actually accomplished making these large planets, so it's out. The other more promising solution is to, quite literally, only work with the local area. So say we are flying down to Duna, Duna starts as a scaled object at a much closer distance, then as we get closer scaling up, this can give the illusion of moving towards it. Then as we start approaching the surface, we stop rendering parts that the player cannot see while at the same time increasing the detail on what they can, kind of like this video here. Then essentially we just get very large terrain.

    But then I look at assets such as the Space Graphics Toolkit and they seem to be using a completely different method. Looks like they still render the whole planet but at a smaller scale, while increasing LOD in the areas the player is close to, and slowing down the camera to give the illusion of scale. Outside of this, I'm not sure what's going on.

    What are methods to go about accomplishing the 1:1 scale portion of these very large scale games?