Extension | Notes |
---|---|
3DTILES_bounding_volume_S2 | Written against 3D Tiles 1.1 and 1.0 |
Extension | Notes |
---|---|
3DTILES_content_gltf | Promoted to core in 3D Tiles 1.1 |
3DTILES_multiple_contents | Promoted to core in 3D Tiles 1.1 |
3DTILES_metadata | Promoted to core in 3D Tiles 1.1 |
3DTILES_implicit_tiling | Promoted to core in 3D Tiles 1.1 |
3DTILES_bounding_volume_S2 | Written against 3D Tiles 1.1 and 1.0 |
3DTILES_batch_table_hierarchy | Deprecated in 3D Tiles 1.1 |
3DTILES_draco_point_compression | Deprecated in 3D Tiles 1.1 |
Extensions allow the base 3D Tiles specification to be extended with new features. They may add new properties to a 3D Tiles JSON object, and may add functionality a tile format or the 3D Tiles Styling expression language.
Extensions may not remove existing properties or features, nor redefine existing properties or features to mean something else.
The optional extensions
dictionary property may be added to a 3D Tiles JSON object, which contains the name of the extensions and the extension specific objects.
The following example shows a tile object with a hypothetical vendor extension which specifies a separate collision volume.
{
"transform": [
4.843178171884396, 1.2424271388626869, 0, 0,
-0.7993325488216595, 3.1159251367235608, 3.8278032889280675, 0,
0.9511533376784163, -3.7077466670407433, 3.2168186118075526, 0,
1215001.7612985559, -4736269.697480114, 4081650.708604793, 1
],
"boundingVolume": {
"box": [
0, 0, 6.701,
3.738, 0, 0,
0, 3.72, 0,
0, 0, 13.402
]
},
"geometricError": 32,
"content": {
"uri": "building.b3dm"
},
"extensions": {
"VENDOR_collision_volume": {
"box": [
0, 0, 6.8,
3.8, 0, 0,
0, 3.8, 0,
0, 0, 13.5
]
}
}
}
All extensions used in a tileset or any descendant external tilesets must be listed in the tileset JSON in the top-level extensionsUsed
array property, e.g.,
{
"extensionsUsed": [
"VENDOR_collision_volume"
]
}
All extensions required to load and render a tileset or any descendant external tilesets must be listed in the tileset JSON in the top-level extensionsRequired
array. Extensions in extensionsRequired
must also be listed in extensionsUsed
.