AI to model buildings?

We’re developing a VR game that requires very low polys.
As a result, we can’t use the Google Buildings.

The only option has been to hand model buildings and place them on the satellite map.

My question is, is it possible to use some type of AI program to automatically create low poly 3D buildings based on satellite footprint, and a cross reference on Google for texturing?

Has anyone done anything like this?

Thanks

Hi @FlightMe - Great question; and yes, you’re thinking in the right direction. 3D Tiles is designed to stream large 3D geospatial content with LOD, so clients can load lower or higher detail based on view and performance budget [https://www.ogc.org/standards/3dtiles/\].

For your VR use case, though, there are two important caveats:

  1. Photorealistic 3D Tiles are still high-detail source meshes, so they may still be too heavy for strict low-poly targets on headsets without additional optimization/content strategy [SOURCE: https://developers.google.com/maps/documentation/tile/3d-tiles-overview\].
  2. Using Google tiles for machine extraction/derivation (e.g., AI-generated low-poly/textures from their data) may run into policy restrictions, since Map Tiles API is intended for visualization and restricts extraction/analysis use cases [SOURCE: https://developers.google.com/maps/documentation/tile/policies\].

A practical path is usually: use permitted source data you control, generate your own low-poly assets/tileset pipeline, then stream that as 3D Tiles tuned for VR.

If you share your target device + scene scale, we can suggest concrete LOD/tile-budget settings and a pipeline that fits your constraints.

Thanks for the reply! We have very strict Tri requirements unfortunately. We’ll likely have to do some custom modeling and see how it goes.

@FlightMe You might want to consider using Cesium OSM Buildings, which is exactly as you say - low poly 3D buildings based on footprint (though footprint from OpenStreetMaps data rather than from satellite view). You could likely find a way to train a model to extract these footprints from satellite data to fill in the gaps. The tricky part is texturing, as Google Photorealistic 3D Tiles pretty explicitly prohibits using their data for this purpose (or really anything other than just showing it on screen as Google provides it).

An alternative, as Jake mentioned, is tweaking the settings on the tileset (particularly increasing maximumScreenSpaceError) to encourage Cesium for Unity to fetch lower tri LODs of Google Photorealistic 3D Tiles.

Thanks, we’ll check it out. I appreciate the help