Multiple Tile sets combine into 1 dataset in cesium ion


I have split a 400 acre geo fenced photogrammetry scan into 225 separate cesium tiles through reality capture. My question is how to now get them into cesium as 1 piece.

I have tried zipping them individually and uploading them at the same time (3 tile test) but cesium ion asks for the json to reference, all the tiles upload but only the selected json model is visible.

Is there a way to merge all my tiles for upload or tell cesium to class these as one dataset ?


colkel, welcome to the forum!

You should be able to upload a single zip with all files (or even all files individually unzipped, but zipping makes for a smaller upload), just make sure you choose “3D Capture” in the drop down.

See Photogrammetry – Cesium for some additional information and let us know how it goes.

Hi Matt,

When I export from reality capture as cesium tiles - it exports the JSON and a set of .b3dm files in a geometry folder set to the LOD I specify. When I zip these and upload I do not get a “3D capture” option.

If I export say as a FBX this does not let me set the LOD parameters and I was experiencing tearing and holes in the model if I went this route - which I did not get if I used the export cesium tiles option in RealityCapture.

Okay, that makes sense. If you are generating 3D Tiles from Reality Capture then there is no 3D Capture because the data has already been tiled.

Are you including the json in the zip? That’s the important part that lets us know how to read the other 225 tiles. You need to include all Reality Capture output in the zip for it to work.

HI Matt,

I am including all json files in the zip, when I uploaded it asks me to choose a JSON file - so for example if I choose the first tile it uploads all data but only shows the tile of the json I had to select during the upload process.

colkel, can you share the asset ID of your upload with all data zipped? If so, I can look at the data and help figure out what’s going on.

Sure - asset id - 1601685 contains 5 tiles but only displays the first

colkel, I think I understand the problem now. What you actually exported was 225 separate 3D Tiles tilesets. Cesium ion does not support uploading multiple pre-tiled 3D Tilesets into a single asset. If you wanted to merge them, you would need to create a new root tileset.json that pointed to all 225 as external tilesets. There was a branch of 3d-tiles-tools with a script that could do this, but I’m not sure it works with the latest version of node.

That being said, I’m confused. Why did you generate 225 separate tilesets through reality capture instead of 1 tileset that covers the entire area?

Hi Matt,

When I tried to upload the full map the process seemed to get stuck, so I presumed either the data set was either to large or cesium did not support multi UDIM. Therefore I decided to split it into approx 100 metre squared tiles with each around 200,000 polys and a single 4K map.

The original model is around 40 million polys with 28 16K texture maps, if you think this should be OK I can try again - maybe I wasn’t patient enough.

On a side note this is a test for a larger capture planned later this year, and due to process time will be divided across multiple systems so I could have the same issue later in the year.

HI Matt,

After some script writing to get the file structure correct I managed to upload all 225 tiles using the merge script in the tools you linked too. I may try a full map test again to see if there is any performance / data usage difference between the two methods. Thanks for your help.

Awesome! Glad to hear it. We are actually in the process of completely rewriting the model tiler, so if your large model doesn’t work, let me know and I can try to test it with the new tiler internally and work with the team to make sure it does work in the future.

HI Matt,

Think I wasn’t patient enough - this time it uploaded fine - its about 1GB larger than the separate tiles version which pushed me over our 5G allowance which is probably why it did not go up the first time.

We tend to use this area for testing and demo purposes as we recommend cesium as a platform to our clients.