Multi-object bake: slots

Hello

I am baking multiple objects using Blender 4.1’s own resources.
The problem is that these objects have multiple slots with different materials and the bake is only being performed in one of the slots.

How can I include all the slots in this multiple object bake?
I would like to have all slots in the same bake/material.

Thank you very much

I would liketo know that too. Maybe separate by material and then bake. You could do that with duplicates of the objects. The uvs stay the same

If you are familiar with “selected to active” bakes, you could use that.

Make a copy of your object, but with a single material that will receive the bake, set the bake mode to “selected to active”, then give the “extrusion” setting a very small number (like 0.001) so you don’t get any problem with 2 identical surfaces overlapping. Then, select both models, making sure the one receiving the bake is selected last and now you can bake.

Thanks for the help

but I think you didn’t consider that there are multiple objects and multiple materials to make the bake.

Do you know of any solution?

Thanks

It can still work, you would just need to join all the copies into a single “active” object that will receive the bake.

If I understand correctly, you are trying to combine all the objects in a single shared material? Then selected to active can work, you just need to make sure the “active” mesh is a single joined mesh with a single material and a single UV layout.

You can alway re-split it after the bake is done.

Is there an addon for this?

Just searching it on Google, I quickly found this one, but it’s not free.

When we have a UV with several objects, the larger ones have less space for baking, right?

How can we solve this difference in bake resolution?
Do you use TEXELS?
In TEXEL, can you cross the UV squares? Or does each part of the object have to be inside a single square?

in bake should we worry about white spaces?
or do these spaces in the texture take up little memory space to use with EEVEE GI?

Thanks

When making your UVs, there is a tool you can use called “average islands scale”. This tool will make each UV piece be the correct size compared with each other so they have constant density. You can then use the “pack islands” tool to automatically place the UVs in the square and they will keep the correct size difference.

“Texel” is just a word that refers to the pixel density of a texture on the model, so the very thing I have just been talking about. If you are using an image texture, you are using texels.

Or is there some tool or addon named that way I am not aware of?

Depends what you are doing with your texture. If you are baking or painting the texture, every part of the UVs has to be in the square and non-overlapping.

If you see a texture setup with multiple UV squares being used at the same time, that’s the “UDIM” system. Each UV square represents a separate texture, so same principle, the UVs have to fit inside each square.

However, if you are using a tiling (repeating) texture, you can scale and move a UV island outside the square with no problem and overlap multiple UVs. It’s just that if you use such a texture, you can’t directly paint on it (or what you paint would repeat with the rest).

Yes, but they are easy to fix. In the UV editor, just use the “pack islands” tool to make the pieces fill the space as well as possible before baking. You can use the concave option and it will probably even be more accurate than what you could do by hand if you took the time to manually stack the UVs. Just remember to have a little bit of “margin”, because if the UVs are too close to each other, the texture can leak a bit between them.

pack

When you use an image texture, the full image has to be loaded in memory no matter ho much of it is actually used. Just by having the image, you have already paid the price in memory, so you might as well make full use of that texture density.

There won’t be a performance difference if you don’t use the full space, you will just get less texture density than you could get for the memory cost which you have already paid.

I think you didn’t understand the last question.

The two images have the same resolution.

The first image has a photo and size: 95.1Kb
The second one has only one color and size: 15.6Kb

When we leave blank spaces in the bake image:
Do they have little use of VRAM memory and performance in EEVEE GI?
Or is it appropriate to leave no space in the bake in relation to rendering performance?

Thanks

If my understanding is correct, the 2 images will take the same memory once brought inside Blender. The only difference will be in how much storage space they take on your computer’s hard drive, not in the amount of memory used at render.

When rendering, the full, uncompressed image has to be used so the pixels can be accessed instantly, which means that the size of the file on your computer has nothing to do with the weight it will take at render.

When an image is saved as a jpeg file, it can use optimizations so it doesn’t have to store each pixel in flat color areas, but those kind of optimizations are only for storage purposes. When an image file is opened (or used in a render), each pixel has to be shown on screen individually, which means the image turns to its full uncompressed weight.

If you had a project where every texture had massive blank spaces, it would be a waste even if they are of a solid color, because those blank spaces are loaded into memory and they are uncompressed and treated as individual pixels no matter what they contain.

1 Like

What should we do when the object has a large face that we cannot cut in half to make the UV, which comes out blurry in the bake?
How can we have sharpness in this bake?

Thanks

There are a few options depending on the situation.

  • If the problem is that the face is very long and is preventing the UVs from evenly filling the square, like this:


    You can add some extra edge loops to the long face and split its UVs into sections so it fits better (you can split UVs without splitting the face itself on the model). Having a few extra seams is better than the UVs not fitting the space like in this screenshot.

  • If the problem is that the object is huge, like a large building or a landscape, you should use a texturing method other than baking. There is no computer that can support the resolutions that would be required to bake an entire landscape. The standard way to do it is to use multiple tiling image textures and to blend between them using masks. https://www.youtube.com/watch?v=_wwcdVjvCpQ

  • Maybe you are just using a texture that’s too small? If the thing you are baking is very important and will take a large part of the render, you can certainly afford 4k textures, maybe even 8k if it’s just for one central object. Large textures are allowed to be used, just don’t put them on every tiny detail in the background. Image textures have little performance cost, it’s just that the rendering will crash if your whole scene goes past your Vram amount. If in doubt, go for a higher resolution. It’s easier to reduce the resolution of a texture that was too high than it is to upscale an image that didn’t have enough detail.

  • If your scene is from a specific camera angle, maybe the resolution is fine from the camera? Can you actually tell the difference from the camera’s view? If you can’t tell, you may allow a bit of pixellation in the texture.

Procedural textures have infinite mathematical detail, but image textures have a finite number of pixels, so it’s to be expected that a little bit of quality will be lost in the bake when the mathematical details have to be reduced into a pixel grid. The question is how much loss is acceptable for the size and distance of the object?

The 2 types of texture are a tradeoff and each have their pros and cons. Image textures are fast to render, but take memory to store and have finite resolution. Procedural textures take almost no memory and have infinite resolution, but are slower to render.

Do you think it is good to use procedural maps in materials to have better quality rendering with EEVEE GI in static images?

Is it possible to know if the video card is overloaded to manage when we should moderate the use of procedural maps? It could be through an addon.

Thanks

In my opinion, no. If you can get image textures to a resolution good enough that it looks good from the camera, you will just overall get better performance. Procedural textures are useful as a way to create materials, but often get so slow you wouldn’t use them directly without baking their result.

Procedural maps don’t overload the video card, the rendering will just get slower and slower the more complex the procedural setup is.

Image textures (together with polygon count) can overload the video card if you use way to many of them or at a resolution too high. To know if you are close, just do a render and look at the statistics at the top of the render window.

render_stats

That “peak” number is the largest amount of Vram that was used at any point in the rendering. If this number gets past the amount of Vram on your GPU, the render will crash. But if you are still far from it, you know you have lots of space to add more textures or polygons.

Actually the mentioned video in the reply to somehting similar might be an answer to this (?):