Creating a Google Earth style client

As most of you know, when you open Google Earth you are presented with a screen showing the Earth in a zoomed out view and then you can zoom into specific sections to see it in more detail. This goes almost right down to the street level (in fact you can if street view is available in your area).

I'm looking to do something similar in my client application but I'm stuck on the best way of achieving it. Would the best way just be to create a huge globe object in Blender or something and then just add detail at the lower levels?

My main concern is how will Unity deal with that? Will it destroy performance of the engine? I can imagine it would be quite intensive for it to render (although obviously the further out you go the less detail needs rendering).

Any suggestions at all?


unity will render any object that some parts of it are visible in front of any enabled camera or camera component. if you want to have a feature like that you can use LOD. create different models with different polygon counts and change them based on distance. don't worry! when just a street is visible. the whole object will not render. if you create the whole object as one single mesh then it will render completely. see the optimization video of unite 07 for more information.

You could grid it. Make each scene one piece of the grid. It means you cannot get a smooth tranisition between two scenes/sections of the grid but it would work. Or, in your 3d modeling program, if youre using one, bake the detailed parts into the non detailed parts. I use Blender so i don't know how to do this with a different program, or even if your modeling program can do this. Some more details would help. Google earth just uses textures, not an actual model.