CesiumGS / cesium-native

Apache License 2.0
432 stars 212 forks source link

load and parse 3dtiles error #788

Closed arvrschool closed 9 months ago

arvrschool commented 10 months ago

I have printed some logs in TilesetJsonLoader.cpp/parseExternalTilesetInWorkerThread method, and I found some strange things, codes like below: const auto& tileUrl = pCompletedRequest->url(); std::cout << "tileUrl = " << tileUrl << std::endl; the print message is below: [2024-01-07 14:02:59.372] [error] [TilesetJsonLoader.cpp:698] Error when parsing tileset JSON, error code 1 at byte offset 0 tileUrl = xxxxx/Tile+010+011_L18_000.b3dm:0

In my opinion, there shouldn't be b3dm files here, they should all be JSON files. So i am confusing about that, but i do not know what's the problem?? by the way, my 3dtiles file is local.

kring commented 10 months ago

That does seem odd, but it depends on your tileset. cesium-native doesn't identify a b3dm by file extension, it identifies it by content. So if the b3dm is corrupt (or compressed, perhaps?) and doesn't have the expected four identifying bytes at the start (b3dm), then it won't be identified as a b3dm. External tileset is kind of the fallback when the file doesn't appear to be anything else.

j9liu commented 9 months ago

@arvrschool are you still experiencing trouble with this issue? If not, or if this thread doesn't get an update, we'll close it.

arvrschool commented 9 months ago

Nope. But I will check the data refer to CesiumforUnity3d.