Coder Social home page Coder Social logo

Comments (6)

csciguy8 avatar csciguy8 commented on June 11, 2024

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 bad any cast. Ideally exceptions like that should be caught in the CesiumGltfReader and returned as in error in the GltfReaderResult.

This wouldn't actually fix your corruption problem though (if that's what it is).

from cesium-unreal.

kring avatar kring commented on June 11, 2024

Just a guess: does std::any require a compiler feature (such as RTTI) that is not available or disabled on the Quest 2? If that were the case, I would expect loading any tile with EXT_structural_metadata would fail on that device. So: does the Cesium for Unreal Samples project, particularly level 6 work for you on the Quest 2?

from cesium-unreal.

mikeucfl avatar mikeucfl commented on June 11, 2024

@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.

from cesium-unreal.

kring avatar kring commented on June 11, 2024

@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:
https://github.com/CesiumGS/cesium-unreal-samples/releases

from cesium-unreal.

mikeucfl avatar mikeucfl commented on June 11, 2024

@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.

cube.zip

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

from cesium-unreal.

kring avatar kring commented on June 11, 2024

Also reported here:
https://community.cesium.com/t/cesium-osm-building-load-bug-for-quest-3-build-android/32632

from cesium-unreal.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.