Hi,
I try convert b3dm file to glb file with metadata (“EXT_structural_metadata”,“EXT_mesh_features”). I use last version:
I use convertB3dmToGlb :
npx 3d-tiles-tools convertB3dmToGlb -i ./0.b3dm -o ./0.glb
glb file have all data, when I open in notepad, but UE cant see this metadata.
My question is:
- Does metadata work with glTF2.0 files in Cesium UE5.2?
Description My test
-
download Reichstag.gml from this link https://cesium.com/public/learn/SampleData.zip
-
convert Reichstag.gml to 0.b3dm file use Cesium server: https://ion.cesium.com/ and download:
-
Put this model to UE and print metadata:
- Next I change b3dm to glb use this:
npx 3d-tiles-tools convertB3dmToGlb -i ./0.b3dm -o ./0.glb
Model 0.glb have batch table and correct matrix translate,:
glTF 0Ä @ JSON{"asset":{"generator":"glTF-Transform","version":"2.0"},"accessors":[{"type":"SCALAR","componentType":5123,"count":11469},{"type":"VEC3","componentType":5126,"count":6091},{"type":"VEC3","componentType":5126,"count":6091,"max":[103.87069702148438,99.94428253173828,51.667388916015625],"min":[-43.64699935913086,-15.401000022888184,-68.08100128173828]},{"type":"SCALAR","componentType":5126,"count":6091},{"type":"SCALAR","componentType":5126,"count":8469,"bufferView":0,"byteOffset":0}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":33876},{"buffer":0,"byteOffset":33876,"byteLength":13122},{"buffer":0,"byteOffset":46998,"byteLength":4},{"buffer":0,"byteOffset":47002,"byteLength":4},{"buffer":0,"byteOffset":47006,"byteLength":4},{"buffer":0,"byteOffset":47010,"byteLength":4},{"buffer":0,"byteOffset":47014,"byteLength":8},{"buffer":0,"byteOffset":47022,"byteLength":12},{"buffer":0,"byteOffset":47034,"byteLength":8},{"buffer":0,"byteOffset":47042,"byteLength":9},{"buffer":0,"byteOffset":47051,"byteLength":8}],"buffers":[{"name":"buffer","byteLength":47059}],"materials":[{"name":"materialBatched_Building_BLDG_1140001MeshColoredPrimitiveGroundSurface","doubleSided":true,"pbrMetallicRoughness":{"roughnessFactor":0,"metallicFactor":0}}],"meshes":[{"name":"Batched_Building_BLDG_1140001Mesh","primitives":[{"attributes":{"NORMAL":1,"POSITION":2,"_FEATURE_ID_0":3},"mode":4,"material":0,"indices":0,"extensions":{"KHR_draco_mesh_compression":{"bufferView":1,"attributes":{"NORMAL":0,"POSITION":1,"_FEATURE_ID_0":2}},"EXT_mesh_features":{"featureIds":[{"featureCount":1,"attribute":0,"propertyTable":0}]}}}]}],"nodes":[{"mesh":0},{"translation":[3783816.4731581276,5038125.0065327035,-899774.5599196975],"children":[0]}],"scenes":[{"name":"defaultScene","nodes":[1]}],"scene":0,"extensionsUsed":["KHR_draco_mesh_compression","EXT_structural_metadata","EXT_mesh_features"],"extensionsRequired":["KHR_draco_mesh_compression"],"extensions":{"EXT_structural_metadata":{"schema":{"id":"ID_batch_table","name":"Generated from batch_table","classes":{"class_batch_table":{"name":"Generated from batch_table","properties":{"Height":{"name":"Height","description":"Generated from Height","type":"SCALAR","componentType":"FLOAT32","required":true},"Latitude":{"name":"Latitude","description":"Generated from Latitude","type":"SCALAR","componentType":"FLOAT32","required":true},"Longitude":{"name":"Longitude","description":"Generated from Longitude","type":"SCALAR","componentType":"FLOAT32","required":true},"bldg_rooftype":{"name":"bldg:rooftype","description":"Generated from bldg:rooftype","type":"STRING","required":true},"gml_id":{"name":"gml:id","description":"Generated from gml:id","type":"STRING","required":true},"gml_name":{"name":"gml:name","description":"Generated from gml:name","type":"STRING","required":true}}}}},"propertyTables":[{"name":"Property Table","class":"class_batch_table","count":1,"properties":{"Height":{"values":2},"Latitude":{"values":3},"Longitude":{"values":4},"bldg_rooftype":{"values":5,"stringOffsets":6},"gml_id":{"values":7,"stringOffsets":8},"gml_name":{"values":9,"stringOffsets":10}}}]}}}
but I cant read this metadata in UE5.