Can i use gltf files in 3dtiles directly or do i have to convert to b3dm?

Newbie question: Can i use plain gltf files in 3dtiles directly or do i have to convert to b3dm?
I tried to swap in a box from gltf repro with a tile example using b3dm and got:
A 3D tile failed to load: [http://127.0.0.1:8085/Box.gltf?v=1.2.3]
Error: Cannot read property ‘content’ of undefined

“root”: {
“boundingVolume”: {
“region”: [
-1.3197209591796106,
0.6988424218,
-1.3196390408203893,
0.6989055782,
0,
88
]
},
“geometricError”: 70,
“refine”: “ADD”,
“content”: {
“uri”: “Box.gltf”,
“boundingVolume”: {
“region”: [
-1.3197004795898053,
0.6988582109,
-1.3196595204101946,
0.6988897891,
0,
88
]
}
},

The 3D Tiles specification requires wrapping glTF models as b3dm. There are plans to support glTF directly as a tile format, see: https://github.com/CesiumGS/3d-tiles/issues/385

Are you writing a 3D Tiles generator or client implementation?

Thanks for the quick reply, maybe i can use
https://github.com/CesiumGS/3d-tiles-validator for that.

Got my .b3dm. Is there a viewer for that format that isnt cesium?
I cannot see my tiles in sandcastle (no errors) and hard to tell if its the data or placement. I guess common problem.

And I a probably doing that ;D
If there’s no error, I’m guessing the problem is that the model itself isn’t in the bounding volume. If it’s origin is (0,0,0) then the model is going to be at the center of the earth. The region defined does not actually move or transform the model. You would need to either move the model itself (in the OBJ before exporting it) or by defining a transform to move it to the right location. So you can see how the tileset.json in this tileset defines a transform to move the model to the right location

Have you tried using the 3D Tiles inspector (see https://sandcastle.cesium.com/index.html?src=3D%20Tiles%20Inspector.html) to debug this?

Also, what’s the format of your source data? If it’s not something Cesium ion supports tiling yet we can consider it for the roadmap.

We have user defined data and that needs to converted on the fly. For development i would love to see just my processed mesh data in a viewer quickly but i couldn’t find one. Gltf viewers arent expected to work?
The transform matrix has no scale, so i have to do that in the mesh probably?
[ Xx, Xy, Xz, 0,
Yx, Yy, Yz, 0,
Zx, Zy, Zz, 0,
RTCx, RTCy, RTCz, 1]


dropped a cube in the dragon tileset. Blender doesnt like b3dm unfortunately

The tile inspector shows the wire frame of my regular triangle grid like this, I am puzzled how i see quads? There must be a b3dm reader out there … a bit complicated


image

Can you upload your b3dm here? Either attach a zip or upload the example tileset to Cesium ion and post a Sandcastle example.

Thanks, for looking. I am just trying to figure out my test workflow if i cannot see a real wire frame of my mesh. Or the mesh gets changed in the process… Would we expect conversion to b3dm simplifies meshes in that way?

I was looking at in inspector sandcastle example with
var tileset = new Cesium.Cesium3DTileset({
url: “http://127.0.0.1:8081/tileset.json”,
});

tileset.zip (400.0 KB)