Faster baking when hp models are conjoined into one

I don’t know if this is the right place for asking this question but I think I have a problem with baking in Blender.

I have an HP asset consisting of 58 individual objects comprised in total of 3 million triangles that I tried baking to a low poly model and it literally takes more than couple of minutes for a 512x512 normal texture map, I’ve also noticed that the rendering progress bar goes dozens of times from 0% to 100%, my guess is it’s one time for each object.

On the other hand, when I apply all the modifiers and conjoin the individual HP objects into single one with a subsurf modifier attached to it and use that for baking, all of sudden it takes less than 4 seconds for the map to bake!

Is this an intended behaviour of Blender or a bug? Because if I’m not mistaken, once the baking buttons is pressed and before the BVH construction takes place, the merging of multiple objects into one HP should be done behind the scene, but looks to me this isn’t happening.

If this is how blender operates under the hood, does the Quick-Bake add-on address this issue automatically for you?

Why ??? It’s simply using cycles for this… so why should it change your scene objcts ??? And… it’s in the Docs-Blender Manual: render → cycles → baking :

Note:

There is a CPU fixed memory footprint for every object used to bake from. In order to avoid crashes due to lack of memory, the high-poly objects can be joined before the baking process.

In order to avoid the footprint that drastically slows down baking process? I mean, you answered your own question. You do realize how ridiculous it is to question the lack of an optional lossless/non-destructive merging operation that gets invoked by the press of a button? After all, it could all be stored in RAM easily for most practical applications, that’s what I naively believe at least. But I apologize if I’m criticizing you for no reason, after all, I wouldn’t be surprised if we’re misunderstanding each other.

Luckily I found a really convenient workaround around this limitation and it involves a really simple geometry node setup. And by simple, I mean a really simple setup, naturally provided below.

Due note that all of the HP objects you want to bake from have to be in the collection referenced by the ‘Collection Info Node’ and the object that has the geometry node attached to it has to be of ‘Mesh’ type since it otherwise won’t bake, but I think that’s a no-brainer.

For those wondering why I’m so keen to have all my HP objects conjoined non-destructively upon baking it’s because of the constant back and forth fine tuning of the HP objects’ topology, general shape as well as their unique per-object-modifier-stack and settings that takes place after consecutive baking attempts. But for more experienced Blender users I’m sure it’s a given why something like this is desirable since 55 objects significantly slow down baking.

2 Likes

Well… you seems to have been able to solve this… even with using the features which blender does provide itself.

But this may not work for every usecase and maybe that’s the reasosn why the comment in the docu was meant to tell people exactly that and if there would be such a button users only would complain about: why does my bake does not work when the standard render does ???

You may even publish this trick in the Tutorials, Tips & Tricks section of this forum ? (Or only mark this als solved so that others can find this more easily).

1 Like