Hey everyone,
Back in June we shared our vision for bringing 3D-native vector data into the 3D Tiles ecosystem and asked for your feedback. A lot of you responded, and it shaped what we built. Today we’re releasing the first public Vector Tiles Technology Preview across the Cesium ecosystem, and we’d love for you to put it through its paces.
You can read more in the blog post here: Vector Tiles: A Technology Preview for Cesium and 3D Tiles – Cesium
The short version: this is an end-to-end pipeline for tiling massive vector datasets in Cesium ion and rendering them at high fidelity, including clamping to terrain and 3D Tiles, in CesiumJS and Cesium for Unreal.
Your feedback pointed us at three things, and this release is built around them: a scalable way to stream massive, high-precision points, lines, and polygons in true 3D (while still supporting 2D/2.5D workflows); a flexible styling system to match your existing symbology and colors; and support for the common file formats vectors are stored in.
What’s in this initial release:
Tile and host vectors in Cesium ion: upload GeoJSON, GeoPackage, Shapefiles, and more to be processed into optimized 3D Tiles. Input properties are preserved, so you get property-based LOD during tiling and property-based styling at runtime.
Vector rendering in Cesium Viewers: high-performance rendering of massive 3D-native vector datasets in the browser and Unreal Engine, flexibly styled using the CesiumJS Styling Language.
Initial MVT support in CesiumJS: load and drape existing 2D Mapbox Vector Tiles in a 3D context. This was a popular request from the community, thanks again for your input!
Vector clamping: drape lines and polygons onto both global terrain and 3D Tiles like reality meshes and photogrammetry, for things like aligning design strings to a scanned bridge or overlaying extracted features on a reality mesh.
Metadata-driven styling: because tiles are built on glTF (EXT_mesh_features, EXT_structural_metadata), you can style features by real-world attributes using the 3D Tiles Styling language, with per-feature control and dynamic runtime visuals.
This is a preview, so it’s a starting point, and we want your feedback to continue to guide our roadmaps.
A few things we’d genuinely like to hear about:
- What formats and data sources do you most need us to support?
- What styling capabilities are missing for your use cases?
- Do you have vector data stored in databases you would like to visualize directly?
- How does your application approach layering of vectors?
Drop your experiences, questions, and requests in this thread; we’re reading everything. Thanks again to everyone who gave input in June.
Cheers,
Austin
Resources: