Access to extras data stored at glTF converted to a 3DTileset

Hi, I would like to know how I can access the information stored in the extras of a glTF that I convert to a 3DTileset in Cesium Ion.

I tried to examine this extra data but as far as I have seen they are the extras of the 3DTileset file and I don’t know how to access the extras defined in my glTF file before it was transformed.
image

Edit: Attached is a sample glTF containing the extras information that I would like to locate in the 3D Tileset.

image

glTF File.zip (1.1 MB)

@Yuyu55

Welcome to the community! :grinning: :rocket:

Given that your question is primarily related to Cesium ion, I changed the tag on your post from “CesiumJS” to “Cesium ion.” @Matt_Boyd-Surka or someone from the Cesium ion community will get back to you shortly.

-Sam

1 Like

Hi @Yuyu55,

I see that you are trying to access extras using tileset.asset.extras. Have you tried tileset.extras? That should let you access the data.

Here is some documentation and a link to the relevant part of the code:

  1. Cesium3DTileset - Cesium Documentation
  2. cesium/Cesium3DTileset.js at 1.86.1 · CesiumGS/cesium · GitHub

Please let me know if that helps or if you encounter further issues.

Thanks,
Matt

Hi Matt,

What I am trying is to access to the extras property that the glTF file had and that after having converted it to a 3DTileset by means of Cesium Ion I don’t know where they have been stored.

I convert the glTF into a 3DTileset after dragging it on Cesium Ion and selecting that it is a 3D Model (tile as 3D Tiles).

And after converting it I want to access to the extras that had that glTF file. When I access to the variable extras of the tileset as you comment me it returns undefined. I don’t know where they have been stored, if directly that information is lost during the conversion or if I have to redefine those extras in the glTF file in some concrete way so that the conversion process to 3DTileset recognizes it and keeps them.

Thanks for your answer.

Hi @Yuyu55,

Thanks for clarifying and apologies for the confusion. Unfortunately, our tilers do not capture extras from glTFs at the moment. The extras property is there because the property exists in the 3DTiles spec, but that data is not preserved by our tilers.

This is a capability we would like to add in the future, and it would be helpful for us to know more about how users plan to use the extras property. One thing we need to think through is how to handle a case where multiple glTFs have extras and how that data should get filtered to the tileset’s extras.

To help us understand your use case, can you let us know how you would like to use the data in extras? I’ll add any information you can share to the internal ticket we’re using to track this feature request.

Thank you,
Matt

I have the same problem and I think it could be addressed by using ext_mesh_features. Is this extension already available in the cesium ion pipeline?

Thanks

1 Like