Does unity support Procedural level rendering?

What I mean is, a game I wish to make takes place in Space, but the player can travel between the station they are at in space and a planet below. I wish to have the planet rendered procedurally, so the player can fly out of the planet and dock back at the station without it taking eons to load, but then can return to the same point and continue what the player was doing, or even move to a new area on the planet and start something else.

Does Unity support this kind of action? If so, Is it simple to set up (not a problem if not)? Also, does anyone know of any training material for this kind of an idea?

I appreciate any help and advice given.

It’s not something that Unity needs to “support”, it’s something that you need to code. :slight_smile:

Start with something simple: http://www.gameprogrammer.com/fractal.html

I know how to render out infinite terrains and generate fractal landscapes. I have animated scenes that fly through large mountain scenes that never end (until the video does of course ;))

Don’t know much on coding, but I believe I understand the basics, just not sure how to implement that into a game engine…

If it helps, I’m thinking of something like Outerra http://www.outerra.com/

But developed for a game and not a simulator. Hopefully that makes sense.

Of course it’s possible, look at Kerbal Space Program. It’s made in unity. But unfortunately there’s a lot of fun things you’ll learn about, one of them is Floating Point errors.

The basic idea is computers usually deal with numbers that are pre-determined to take up X amount of memory. You can have a number that changes how much memory it takes up on the fly, but these are slower and you won’t have a game using only them.

It’s something to work around, as KSP did. I think what they do is move the world back to 0,0 every so often, while having another simulation in the background which does use the big numbers.

i dont know much about this, just speculating here, but it sounds like you might be able to accomplish this with some type of level of detail system, so when you’re way out in space you just get a flat image of the planet, and as you get closer you get different models of increasing quality. im pretty sure unity pro has a built in LOD system, so if you’re using free you would have to code something yourself [eg if (distanceFromPlanet < x and > y) showThisModel() ] or see if theres something in the asset store

This makes sense. I have been able to do this in the CRY Engine, and would be very helpful as well, especially when loading in a huge “zone” of the map. Is something like Occlusion Culling similar to this? Looks like that dynamically renders objects that are only visible to the camera and can be set to a distance. This would be helpful as well. But I don’t think it’s the same thing that I am thinking of.

This though, when I investigate it more may be what I am looking for? http://docs.unity3d.com/Documentation/ScriptReference/Application.LoadLevelAdditiveAsync.html

Can anyone confirm?

If you have a bit of money to spend, it sounds like this may be just what you are looking for: http://planetaryterrain.com/

This looks interesting, and is exactly what I am looking for. It says it’s available soon on the page, maybe I will wait and check up on it. I can always design my own planet. If I do that, it just comes down to having the correct ability to make the terrain load as the camera gets closer and keeping the details low where it’s not needed.

Thanks again guys!

I think I understand what needs to be done now.