Handling very large meshes

Hi,

For my project, I’m trying to create an open world system (can be based on a sphere - earth-like or any other shape).
I’d like to be able to view the whole “world” from afar, as well as being able to walk the word from a character point of view (that and some intermediate distances to get local overviews).

My problem is that, if I am to have details from a character point of view (lets say 1 unit is 1 meter, and ground details have that kind of scale), that makes about 4bn vertices for a sphere (of the size of the earth), which is not manageable.

So I’m looking for a strategy to limit the number of vertex to an amount that is relevant to the point of view :

  • When looking from afar, the mesh is “complete” but strongly decimated
  • When looking from middle range, only vertices in the camera fov are active, but decimated
  • When looking from a close distance, only vertices in the camera fov are active, and not decimated

An additional constraint is that I’d like to be able to edit my world, as well as navigate it (so splitting the mesh would require the pieces to keep working together to allow seamless transitions between parts).

Thanks for your suggestions !

This seems like a job for a hierarchical tile-based solution so that there are more tiles when you are close, less tiles when you are far. The smaller tiles have more detail and larger tiles have less detail. The implementation of this is not trivial, but maybe it’s a good starting point for research?

Hi,

Thanks, that’s what I had in mind (a tree structure of tiles).
I had hopped for an easy solution to create “projections” from a large mesh, without having to add metadata or to generate the mesh from structured data (as the tile solution does).

I’ll still wait a bit to see if someone comes with a better solution before starting my development.

Cheers !

I’m not sure what you mean by “projections”, but if you mean it will automatically decimate the large mesh, this is not a trivial task. There are multiple products (Simplygon, Pixyz, RapidCompact) that do this as part of their main business and this doesn’t include any tiling that I know of.

Yes, that’s what I meant.

Thanks for the links (that helped me to find out about the LOD concept, already supported by Babylon - I’m fairly new to 3D).

In my case, given the size of my complete object (billions of vertices), and the usage I want for it (to be editable), I need an integrated tool, so that at edition, all the tiles stay “aligned” with each other.

All in all, I think the tile system stays the best so far.

1 Like