Support 3D-tiles 1.1 export - not only the old 1.0 b3dm 3d-tiles standard

Currently, RC supports 3D-tiles export version 1.0 for Models (massive 3d-scans), which exports b3dm, the ancestor version of OGC/Cesium 3D-tiles spec. The 1.1 version of the format was released end 2021, see the release post introducing 3d-tiles next now 3d-tiles 1.1 spec - also see version history.

CesiumGS/3d-tiles-tools and donmccurdy/glTF-Transform are useful tooling to convert and upgrade tilesets from the 1.0 version to the newest 1.1 version.

It would be great if RC could support exporting to the latest version 1.1 of the 3d-tiles spec, rather than the stale/deprecated 1.0 version of the standard. Tiles would be glb rather than b3dm would be the easy way to differentiate between the two versions.

Hello @jochemla,
thank you for your post.
I added these information to our feature request database.

1 Like

Thanks for the feedback!
We did upgrade the tilesets exported from RC (which are v1.0) to 1.1, + did some draco and ktx2 compression for geometry and textures, and this resulted in way smoother loading times for 3d-tiles tilesets! The difference is really impressive for both web viewing and Unreal Engine integration via the Cesium for Unreal plugin.

Hopefully these settings can be added to RC 3D-tiles export dialog: default to 1.1, and allow for geometry/texture draco/ktx2 compression. These would be passed to gltf-transform gltf-pipeline during 3d-tiles-tools upgrade, via the options flag, see readme

Thank you for your help. But I had some other questions, I had a big project at RC, so I broke the scene into some blocks and reconstraction them through the script. I will use it for Cesiumjs program, but RC only exports these models one by one, and I wonder if the 3d tile tool can merge these models and keep the correct relative positions?

New thread with latest question

Note 3d-tiles-tools has a merge and mergeJson commands (the last one we did a PR for), to result in a master tileset, but these are usually not made for combining too many tilesets since the cesiumjs/3dTilesRendererJs/qgis libraries would do one request per child per tileset at a given viewport, which would lose the benefit of hierarchy of the hlod. Merging the meshes outside of RC (eventually via CLI rather than blender gui), importing to RC componnet and then exporting s 3dtiles might be a better option.

@OndrejTrhan

Two other important features for 3d-tiles export would be

  • to support using multiple texture image-layers, when one Model has been textured with multiple texture image-layers (texture01, texture names, etc). Demo here
  • to support packing labels from classification (either via the AI classification tool or Transfer labels from images) into tiles geometry since, quote glTF EXT_structural_metadata and EXT_mesh_features allow for storing and querying feature information from geometry attributes and textures. Demo here

See this showcase post of the 3DTilesRendererJS by Garrett Johnson for an illustration of both multiple texture layers and extra geometry attributes.

Hi Jo, the request was added to the database.

1 Like

Thanks for adding this!
The CesiumJS and some plugins of the ecosystem and 3DTilesRendererJS now enable loading and switching multi-texture 3D-tiles tilesets, so exporting image-layers would be a really nice addition!