Getting the correct name of submeshes / nodes in tilesets glb files

Hi, I use 3d-tiles tools to convert a folder of glb files into tileset. Every glb file have submeshes / nodes in them with real names like building 1, building 2 etc but when I use the tileset in Cesium for Unity project it seems to convert the glb’s submeshes / nodes names into something like this: Mesh 0 Primitive 0, Mesh 0 Primitive 1, Mesh 1 Primitive 0 etc.

How could I get the correct names for the glb submeshes / nodes? I am using a bit old version too and was thinking that is this solved in the latest packages of cesium for unity or cesium native?

I’d recommend updating to the latest version of Unity and Cesium for Unity (if you are able).

Like you said, your problem may be solved, but at the very least, we need to know what versions you are using.

Hi, I just tested with the latest Cesium for Unity Samples v1.8.0 and there seems to be same behaviour and the naming for the gameobjects under tile (glb-file) is like this:
Mesh 0 Primitive 0, Mesh 1 Primitive 0, Mesh 2 Primitive 0

image

Unity version is 2023.2.14f1. It would be great that users could access the correct naming that is in glb-file.

Hi @Tkorho89,

I just want to clarify my understanding: in the glTF files of your tileset, your nodes and meshes have defined "name" properties, and you want to be able to retrieve these.

Currently, this isn’t possible in the Cesium for Unity package, but we’d like to know more about your use case. In other words, what do you need these names for? This helps us gauge what the correct “solution” for your problem would be, as well as our timeframe for fixing it. Let us know!

Hi,

Here is a test tileset with glb which have this information in the beginning of the file (I do not know much about the gltf-file structure/properties but this much I see in notepad):

test_tileset.zip (56.8 KB)

“scenes”:[{“name”:“Scene”,“nodes”:[6]}],“nodes”:[{“mesh”:0,“name”:“3D Solid.2536”},{“children”:[0],“name”:“*A3819”},{“mesh”:1,“name”:“3D Solid.2537”},{“children”:[2],“name”:“*A3820”},{“mesh”:2,“name”:“3D Solid.2538”},{“children”:[4],“name”:“*A3821”}

Those A3819, A3820 and A3821 represent subobjects in the model hiearchy and in Unity if I click that geometry it will be separate gameobject in hierarchy tree but the name just is converted into Mesh 0 Primitive 0 and I would like that it would have the same name than in glb file (for e.g. A3819). The idea is that if I convert CAD-model into tileset and I have one tile per object like for example “door” I would then like to know what is the name of the “door handle” which is a subobject of the “door” in original cad-model but in Unity it looks like this:

image

Where:
Mesh 0 Primitive 0 should be A3819
Mesh 1 Primitive 0 should be A3820
Mesh 2 Primitive 0 should be A3821

as in the original cad-file. I think this would add great value for end users to get access some more information data that cad-files might have. If needed I can provide more example files or tilesets.