Hello and thanks for your time. This is my first blender question.
Let me begin by quickly describing my issue, then afterward I will describe it again in detail. I’m struggling to word my question, so I will include as much detail as I can.
My question is about combining multiple textured objects into a single object to be exported to a game engine, in an efficient way that will allow me to re-use materials.
In Blender, I have created 7 unique “wooden planks”. Each of these is already textured, has the normal maps baked from a high poly sculpt, has a different material, has a uniquely named UV map,
Next, I would like to assemble these planks into a structure. This means duplicating and positioning each of these planks and using them like building materials.
Now for the final step, and here is where I am stuck (here is where my question begins).
If I were to export this to Unity, then it would result in 26 different game objects, possibly 26 draw calls, etc.
Instead, I would like to join these together into a single object. I could use ctrl + j
to join them into one mesh. Each of the wooden plank varieties has a uniquely named UV map, and each of their materials has a UV Map
node.
And in Blender, this looks great. It looks like it is working (but only in Blender). This is because procedural materials in blender cannot be exported, they must be first baked.
I don’t know how to do it, but my guess is that it’s possible to join them together, then UV unwrap the Joined mesh, and then somehow bake the details into that. This might create a single, final image with the entire structure UV unwrapped and textured. However, that means that all 26 planks would occupy a small part of the UV, meaning each plank would lose a significant amount of detail (resolution).
For instance, one of the wooded planks is duplicated 9 times in the final structure. So that single plank, would occupy 9 unique sections of the final UV map, even though it’s the exact same object.
But not only will the texture lose significant detail, the final result would be a unique image (PBR texture set), which can’t be used for anything else.
But I would like to create tons of structures from these 7 wooden planks, which results in only 7 materials in Unity. This way I could re-use the materials and textures across all of the structures.
So, my goal is to find an efficient way to build structures with these 7 planks (7 materials), and join them to be exported, while being able to re-use the 7 materials in Unity.
What are my options? How are game studios doing this? They can’t possibly have a separate 4k PBR texture set (3+ 4k images) for every single structure. There must be a way to re-use objects and re-use materials.
So, in case I wasn’t clear, I would like to create a toolbox of polished, textured building blocks. And then assemble them to create tens of structures. Export these to a game engine. And be able to re-use the materials efficiently.
Final Note: I do have access to Substance Painter, if that somehow unlocks options.
Thanks again!