Change 'shiny' surface quality

I’ve generated some 3D Tiles, using FME software to convert OBJ to 3D Tiles. When viewed the textured surfaces have a very shiny appearance. From reading other posts this seems to be related to the value assigned to MetallicFactor property. It seems FME cannot alter this value.
Is there a way to modify the 3D Tiles (b3dm), for example, read the b3dm file and change the property of MetallicFactor and save the file?
Or can this change be done somewhere in Cesium ion to change the appearance?
Ideally I’d like the change to be permanent in the b3dm files.
Any help is appreciated.

It seems like the tiles that are generated with FME all have this issue of the metallicFactor being 1, although it should probably be 0 in most cases. The same question came up a while ago, and I posted a workaround that can change the metallicFactor in all GLBs in B3DMs: 3D-tiles get very dark textures - #17 by Marco13

Note that this is really a workaround, and not part of any functionality that is officially supported.

But considering that it already came up twice, I opened an issue to track it at Consider a command to change the metallic value of GLBs in B3DM · Issue #65 · CesiumGS/3d-tiles-tools · GitHub . Maybe we can add a functionality to the 3D Tiles tools that can reliably fix these FME tilesets.

Many thanks Marco13 for the quick reply and the solution. It has worked perfectly, the data now looks much better.

Just to let you know of a small typo in the script, see below highlighted. Once this was fixed it ran perfectly.


In the commit state that I linked to, the class still had the wrong name. It was fixed in Fixed typos in file names that did not match the class names · CesiumGS/3d-tiles-tools@415574a · GitHub (so you probably checked out the main branch - again, there is no guarantee that it will work with the main state, it was only a workaround that was only supposed to work on the specific commit that I linked to). But when it (still) worked, everything’s fine for now.