UDIMs export
Is your feature request related to a problem? Please describe. GLTF currently doesn't support UDIMs export
Describe the solution you'd like The best outcome would be a glb file with all the UDIMs integrated. A separated bin format with textures is also good enough.
Describe alternatives you've considered I already found a solution to export UDIMs from Blender = the USD format
Additional context Make blender pack UDIM textures into the .blend file? kidding
thank you and good bye
Hello, UDIM is not something that is supported in glTF specification. One solution that might work to export from Blender is splitting each UDIM tile in a different primitive (instead of only splitting by material). It can work, as each primitive can have a different material assigned. List of impact still need to be investigated. I first think about impact on variant extension currently in developpement.
those people from chronos, can't they make gltf v2+ with UDIM specifications? things evolve and so should the specifications
This is a common question. glTF is a runtime format, close to the metal. There's no UDIM support natively on the GPU, UDIMs always require client-side processing. So for these reasons I think it unlikely that raw UDIMs will be placed directly inside glTF.
That said, perhaps the Blender exporter can break them up using multiple glTF primitives as Julien suggested. This makes them into separate draw calls, which may resemble how some client software ultimately implements them, which is a great use of glTF.
See a method to bake udims to like gltf2. This should not be done in godot engine because we don't have that information anymore.
This is part of the fbx format.
https://github.com/sinbad/FbxUdimUnpack
This tool takes a UDIM-enabled model in FBX format makes it cheap and easy to use in real-time engines.
Any polygon UVs which reference UDIM tiles trigger the splitting of the material "Foo" into "Foo_U1001", "Foo_U1002", "Foo_U1010" and so on based on the UDIM tile. That poly is then changed to reference that split material and the UVs adjusted back to the 0-1 range.
This means that a real-time engine just needs to have a separate material for each UDIM tile and can render the model normally, without any complex UDIM tile selector shaders, and in the case of Unreal, without enabling virtual texturing.
@fire Yes, this is what I suggested above
One solution that might work to export from Blender is splitting each UDIM tile in a different primitive (instead of only splitting by material). It can work, as each primitive can have a different material assigned. List of impact still need to be investigated. I first think about impact on variant extension currently in developpement.
This is a common question. glTF is a runtime format, close to the metal. There's no UDIM support natively on the GPU, UDIMs always require client-side processing. So for these reasons I think it unlikely that raw UDIMs will be placed directly inside glTF.
That said, perhaps the Blender exporter can break them up using multiple glTF primitives as Julien suggested. This makes them into separate draw calls, which may resemble how some client software ultimately implements them, which is a great use of glTF.
glTF is an interchange format, and is meant to be used to transfer model/scene information between applications or game engines. This answer that its a runtime format is always used when glTF lacks something. Real game engines, rather than small runtime apps like a "glTF Model Viewiers" don't use glTF as their internal data format, it is only used to interchange the data. The fact that glTF isn't UDIM aware is not by design, its just a lacking a feature. An engine should be able to import the model data from the glTF doc and do what it sees fit with the UDIM information.
This repository is used for implementation of the specification for Blender I/O For any topic about the specification itself, you can open a ticket in the glTF specification itself: https://github.com/KhronosGroup/glTF
BTW, this ticket can now be closed, as Blender 4.1 beta is now able to export UDIM by splitting tiles into separated primitives/materials