How to Apply Photorealistic Textures and Styles to 3D Tileset Buildings in CesiumJS and Cesium for Unreal

As already mentioned in a response in the previous thread: With 3D Tiles 1.1, there is hardly a reason to still use B3DM. While B3DM is supported and will always be supported in Cesium products, nearly all functionalities that it offered can now be implemented based on glTF, which has much broader tooling support.

(Certain aspects are not part of “core glTF” - for example, the metadata that was stored in the Feature- and Batch Table in B3DM requires the use of an extension in glTF. But from what you described so far, this does not sound like the primary goal here).


Beyond that, one important question is: What is the structure of these glTF files?

glTF is a very versatile and generic format. It can contain plain, stupid, untextured triangle soups (like what you might have stored in .obj files a few years ago). Or it can contain highly structured scenes, with a scene graph and detailed material information (and much more).

The question may therefore also be phrased as: How have they been created?

When you created them from some photogrammetry scan, then you might have that “triangle soup”, which may in general be more difficult to handle than something that was, for example, created with some CAD tool (or created from some .FBX file or so).

Another related (and very fundamental) question therefore is: Do your glTF files already contain texture coordinates?

If they do, then the process of applying textures should be relatively easy: You can import the glTF in Blender (or many other 3D authoring tools), apply the textures that you want, and then re-export it. If the glTF does not yet contain texture coordinates … that’s more tricky. They have to come from somewhere. And while you can assign texture coordinates (e.g. with Blender) using different “mapping techniques”, the process may be far more involved.