-
Notifications
You must be signed in to change notification settings - Fork 282
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Quest 2/Android build: Unable to parse EXT_structural_metadata extension (or perhaps any extension?) #1380
Comments
Hi @mikeucfl , we have a unit test for this extension here. From what you described, it sounds like the gltf is being corrupted, but only when running on your Quest 2, which is odd. I'm currently trying to modify that unit test to produce the same This wouldn't actually fix your corruption problem though (if that's what it is). |
Just a guess: does |
@kring Unfortunately the Cesium for Unreal Samples has a few issues when testing this out. It looks like it uses an older API as some of the blueprints have missing node links and deprecated calls. I removed those blueprint nodes to get past the error, as they seem to only be for displaying the attribution on screen, and I was able to see the buildings show up. With that said, when I look closer at the cesium ion dataset I notice the tileset.json references b3dms and they don't seem to contain this extension in the gLTF package. @csciguy8 I'm trying to see if I can put together a small model that has this extension filled out properly to replicate it elsewhere. I am also wondering if any of the extensions that class handles (like KHR_materials_unlit) would also cause this same issue as the code is similar for how it adds to the map and retrieves. |
@mikeucfl can you please check that you have the latest version of the Samples? That sounds like an outdated version. You can find the latest here: |
@kring Oh oops. I was using the one from the marketplace (https://www.unrealengine.com/marketplace/en-US/product/cesium-samples), didn't realize it was on github as well. I ran it just now on level 6 and got spammed with the bad any cast error: [2024.03.29-04.17.14:275][507]LogCesium: Error: [2024-03-29 00:17:14.275] [error] [TilesetContentManager.cpp:997] An unexpected error occurs when loading tile: bad any cast. Again works fine running on Windows, but packaging for the Quest 2 and running natively doesn't work. I also was able to take a simple cube glb and add some simple EXT_structural_metadata and EXT_mesh_features inputs. I've attached a zip containing the original cube and tileset.json (in the no-crash) folder, and the attributed cube and tileset.json (in the crash folder). Interestingly enough, I'm not getting the bad cast, but its actually just out right crashing. Works fine running on Windows. edit: Just wanted to add I am running this on Unreal Engine 5.3.2, upgrading the project from 5.1. Not sure if that matters or not but figured I'd mention it |
I have a 3D Tiles dataset that utilizes EXT_structural_metadata in the gLTF models, however when processing the models I see
[error] [TilesetContentManager.cpp:997] An unexpected error occurs when loading tile: bad any cast
I built cesium-native in debug to see what was going on and noticed this line was failing https://github.com/CesiumGS/cesium-native/blob/5efd7ba94f61f27a7663bb8ef558120e45bbe71f/CesiumGltfReader/generated/src/GeneratedJsonHandlers.cpp#L808. Puzzling to me as nothing looks wrong with that code to me, seems like something is getting corrupted?
This only happens when I build for the Quest 2, but if I run it on Windows (and or use Quest Link to display on the headset) there is no issue processing the models.
Unfortunately I'm unable to share the model, is there any small sample out there that uses EXT_structural_metadata that I could test with?
The text was updated successfully, but these errors were encountered: