A recent update to the Cesium plugin for Unreal (5.3) seems to have introduced a problem with instanced tilesets.
Included are two screenshots of the logs for when I tried to load the Rotterdam tree set, but similar sets that used to work fine in UE show the same problem.
You can also see they’re still working fine in our Cesium viewer. These are many tilesets that include trees, light posts, benches, bicycle storage, waste bins, etc, that we can no longer access in UE.
It is emitted because it cannot create a BatchIdSemantic object that is properly initialized (with a valid byteLength). The reason for that seems to be (from skimming over it) that it tries to access the componentType property in the feature table, and bails out if it doesn’t find it.
Indeed, the feature table of one if the I3DMs that is contained in that CMPT is shown here:
This seems to be the data set for which the issue was originally reported. @Timothy_Moore Did you have a chance to try out this data set? I’ve seen that there is test data in the PR, but maybe the data set contains something else that is throwing off the batch ID parsing, in addition to the missing data type. From skimming over the PR, it looks like the error is caused by byteSize==0, which could also be caused by numElements == 0, but I haven’t looked into the details yet.
Matrix decompose failed. Default identity values copied to instance buffer.
Some of the instance scale factors contain zeros in this dataset. In our Native integrations (Unreal, Unity, Omniverse and various 3rd party), i3dm instances are translated to glTF models that use the EXT_mesh_gpu_instancing extension. This process involves creating matrices from the source data, doing some manipulation, and then extracting translation, rotation and scale; if the matrices become singular, then these errors are produced.
Hey @Jorri, just an FYI that we’re dropping support for UE 5.3 because Fab only lets us publish the plugin for at most 3 versions of Unreal. However, for v2.17.0, we did release binaries for 5.3 on Github. You’ll just have to manually copy them into the folder of your Unreal Engine install, e.g., C:\Program Files\Epic Games\UE_5.3\Engine\Plugins\Marketplace.
Whoops, that text is definitely outdated. I just submitted an update and it should be published once approved by the Fab team. Thanks for bringing it to our attention!