I’m testing out Cesium’s Google Map Tiles in Unreal 5.0.3 and before I bring this workflow forward I wanted to see if there are ways to minimize Google API requests? As they charge based on requests monthly, I’ve just been experimenting and I’m already at 42,000 requests just from a few scenes! I’m guessing that each time I move the camera Cesium unloads and then needs to reload each tile, creating a whole new set of requests.
I guess I can use the Suspend Updates option in the 3DTileSet Actor so I just load it once at startup to get the general location and then turn it back on for exporting images from the movie render queue? It would be nice to have some live updates that maybe used less requests?
Has anyone paid for the Google Map Tile API and have you found it to be epxensive when using Cesium for Unreal?
Other than that it’s really a deam to have access to the Google Map Tiles in Unreal, thanks to the Cesium team for this!
That’s the nature of Photorealistic 3D Tiles, and it can’t be helped. The data contains numerous lightweight tiles, so streaming it does create many requests. But each tile should be relatively quick to parse.
There are also options in the tileset that can cause more tiles to be loaded than necessary. The “Forbid Holes” option requires that ancestors of tiles be loaded before the children. In other words, because it’s trying to prevent holes in the dataset, it loads lower-detail tiles to fill the holes, while trying to load higher-detail tiles at the same time. The “Preload Ancestors” option is similar – it loads the ancestors of the tiles you’re viewing so it is more seamless when you zoom out. These options are useful for situations where there are large movements of the camera, but you may not need them for your purposes.
If those settings don’t help, then try adjusting how tiles load using the culling options. If you want to only load tiles in your camera view (and not tiles around / behind it), make sure “Enable Frustum Culling” is checked. You’ll also want to check “Enable Fog Culling” so tiles that are beyond the horizon are culled.
Thanks for the quick answer! Those tips will help me minimize the API requests and I’ll see how I can manage the workflow to fit our needs a bit more. Is there a roadmap for Cesium for Unreal where we can see future features? For example a 3d masking tool (instead of the Polygon tool) for the tiles would be great to remove trees, etc.