Organizing More than one Voxel Contents in 3DTILES_content_voxel Extension
- Dominant language
- JavaScript
- Stars
- 15.8k
- Forks
- 3.9k
- Avg merge
- 4d 6h
- Merged PRs (30d)
- 34
Description
I'm encountering an issue while utilizing the 3DTILES_content_voxel extension. I'm attempting to organize two voxels within the tileset.json file, but Cesium fails to load, indicating an error message: "Root must have content," despite the fact that my root node indeed lacks content. The specific voxel content is contained within the children array. How can this issue be resolved? Thanks for your assistance!
Below is the tileset.json file content and complete test dataset for reference:
[test-dataset.zip](https://github.com/CesiumGS/3d-tiles/files/15441281/test-dataset.zip)
```
{
"asset": {
"version": "1.1"
},
"geometricError": 40.0,
"schema": {
"id": "voxel",
"classes": {
"voxel": {
"properties": {
"aa": {
"type": "SCALAR",
"componentType": "FLOAT32"
}
}
}
}
},
"root": {
"boundingVolume": {
"box": [ 1.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0 ]
},
"geometricError": 40.0,
"refine": "REPLACE",
"children": [
{
"boundingVolume": {
"box": [ 2.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0 ]
},
"geometricError": 32.0,
"refine": "REPLACE",
"content": {
"uri": "voxel2/voxel_{level}__{x}_{y}_{z}.json",
"extensions": {
"3DTILES_content_voxels": {
"dimensions": [
4,
4,
4
],
"class": "voxel"
}
}
},
"implicitTiling" : {
"subdivisionScheme" : "OCTREE",
"subtreeLevels" : 1,
"availableLevels" : 1,
"subtrees" : {
"uri" : "subtrees/{level}.{x}.{y}.{z}.subtree"
}
}
},
{
"boundingVolume": {
"box": [ 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0 ]
},
"geometricError": 32.0,
"refine": "REPLACE",
"content": {
"uri": "voxel1/voxel_{level}__{x}_{y}_{z}.json",
"extensions": {
"3DTILES_content_voxels": {
"dimensions": [
4,
4,
4
],
"class": "voxel"
}
}
},
"implicitTiling" : {
"subdivisionScheme" : "OCTREE",
"subtreeLevels" : 1,
"availableLevels" : 1,
"subtrees" : {
"uri" : "subtrees/{level}.{x}.{y}.{z}.subtree"
}
}
}
]
},
"extensionsUsed": [
"3DTILES_content_voxels"
],
"extensionsRequired": [
"3DTILES_content_voxels"
]
}
```
---
(Edited by javagl for formatting)
Contributor guide
Research direction
Start with the provided test-dataset.zip and its tileset.json, then trace the source of the "Root must have content" validation error for a root containing child 3DTILES_content_voxels nodes. Confirm the expected tileset structure and verify that both voxel contents load without the error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend, web-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100