How do I convert my data to 3D Tiles?

I just noticed when I converted from obj to gltf, I did not include the .mtl file. I believe the color information is stored in this material file.

Yes, but usually it’s referenced from .obj and obj2gltf links it properly, if it’s not moved.


I've followed your method and managed to generate the tiles for Finland. However I'm seeing some very poor performance rendering the tiles compared to your New York example linked higher up in this thread. Frame rate drops significantly from the get go, and tiles take a long time to load. Any ideas what might cause that? I've already ruled out bandwidth issues.

Hi Johan,

  1. Check the subtiles. The whole structure should look like this:


  • z12-tile-tileset.json
  • z14 tile
  • subtile level 0
  • subtile level 1
  • z14 tile
  • subtiles…
    The actual data (3d models) split in portions. So not the whole content of z14 tile loaded at once.

First subtile should have just 5-10 biggest buildings. Next level subtile should have next 20 and so on.

Subtiles generation should be in the last few commits to my fork of OSM2World in tiled_out branch.


Thanks for sharing osm-cesium-3d-tiles. I added it to the list of 3D Tiles projects at

I also took at quick look at

It looks like the code in WGS84Util was ported from Cesium. Do you know if this is the case? If it is, can you please include the Cesium file?



Hi Patrick, thanks for adding a link onto my project.

Yes, I’ve used Cesium code and port it to java.

I’ll ask the owner of OSM2World about adding Cesium license to the list of used code and it’s licenses. Since it’s Apache license, it shouldn’t be a problem.

Or if adding Cesium license is an issue for OSM2World I’ll remove meta data generation from OSM2World and add it as separate project with appropriate license.

Sounds good, thanks Dmitry!


Privet Dmitry,

Thanks for that pointer - spasibo. I think I'm making progress.
On a relate note, do you happen to know how I can make 3D tiles clamp to terrain, i.e., how do I get buildings to sit on top of the terrain?

Best regards,


Hi Johan,

as I understand, OSM2World doesn’t support elevated terrain for now.

I’ll ask the owner is that possible or easy to add.

I can suppose some workaround, but it will require some manual data preprocessing.

  1. Download OSM area, open it in QGIS (or ArcGIS but I worked only with QGIS)

  2. Get elevation data (from stamen for instance)

  3. Find minimal elevation of building and write it as ele argument, export back to osm, write ele as ele osm tag.

  4. OSM2World should support ele tag from osm data

Oh sorry

  1. Get elevation data (from stamen for instance)

from mapzen not from stamen

I did some tests filling the ele tags in osm, but without luck. Seems that using them is turned off in latest OSM2World. Was working fine in 0.1.9, but that version doesn't produce tileset metadata. Maybe someone was successful with this?

Hi Patrick,

   Recently I want to cover the imagery wmts tile to photogrammetry 3d tiles.

The imagery layer and photogrammetry 3d tiles have the same WGS84 geographic coordinates.

I have three steps to implement this function. First step, I convert 3D tiles model coordinates into logitude and latitude coordinates.

Second step,according to the model latitude and longitude coordinates and image tile geographical coordinates, I can compute the image

UV values for each 3d tile model vertex. Third step, render the model like GlobeFS.glsl. but the result is incorrect.

Can you give me some suggestion?

Hi Patrick,

I would like to talk to you about converting floor level polygon data for large cities into 3D tiles. I’ve been digging around and have had little success finding a way to do this conversion.

Any assistance would be welcomed.



James - reach me at


Hi Patrick I just sent you an email at but it did not resolve. Is that the correct email?



I don’t know why it was truncated. It is pcozzi at agi dot com.

Hi all,

I’ve been using cesium for 3d viewing.

**For Converting .LAS to 3D point tileset for Cesium, I’ve google it and got the reference link as **

Setup all the settings in my Ubuntu Server 16 LTS but I do have only .LAS file only but when running the conversion script

./ doll.las image.tif 15 viewer/data -20 2994

I’ve got errors because i don’t know what the image.tif parameter was actually referring to ?

Kindly help me

Hi Pradeep,

We don’t have any official connection with the cesium_pnt_generator project, you’ll need to ask the developer directly.




Is there any tool available to convert geographical data (SHP for instance) to 3D Tiles Next format (as presented here 3d-tiles/ at main · CesiumGS/3d-tiles · GitHub) that allows to manage large tileset.json file by splitting it into smaller tileset.json files attached to their corresponding bounding boxes ?