CesiumGS / CesiumGS/cesium

Organizing More than one Voxel Contents in 3DTILES_content_voxel Extension

Open
#12,003 3 comments 0 reactions 0 assignees View on GitHub
category - voxels type - bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.