← All ideas
  • Published 17 Sep 2020

Improved texture/map baking suggestions

Blenders baking is in a bit of a weird state at the moment, and it's pretty clear that it hasn't gotten the 2.8 treatment. I had another go at texture baking in blender for the first time in a while recently and i was surprised at how outdated and somewhat confusing it was:

  • Baking requires cycles as the selected render engine
  • It's at the bottom of the render tab alongside settings - even though it is a 'one-time' process
  • It requires an already created texture in a texture sample node, selected in a shader assigned to the 'low-poly' - this shader cannot be assigned to the high poly!
  • There is no built in heightmap, alpha map or curvature map support
  • There is no anti-aliasing options, though samples are controlled by the render samples
  • There is no reliable color map baking - apparently you can use the diffuse or emit baker and - disable direct and indirect but i could not get this to work
  • Baking does not seem to support the principled shader and instead uses the glossy, diffuse and emission shaders
  • These settings are global and cannot be set per object or saved - meaning if you would like to use more samples for ambient occlusion than normal, too bad.

Unfortunately there aren't really any open source, free and up to date baking options out there, xnormal is archaic and a better baker in blender would be great. I believe this lack could be greatly improved by:

  • Either moving baking settings to a modifier or to its own properties tab, or to a node based workflow like where particles are going
  • Having baking settings saved in their own object, like particle settings are currently so they can be reused.
  • Having separate sampling settings for baking, per baking settings
  • Having baking options for vertex color, material color, height, alpha and curvature
  • Having Separate anti-aliasing or denoising options for baking
  • Having a target texture property like other features in blender
  • Support for using Eevee to bake

I reckon these changes wouldn't be too difficult to make and would put blender up to par with other baking options This post was moved over from the reddit and it's my first time posting here. Sorry if it's somewhat off-format.

100%

Development Status: Open

Upvote 37 Downvote 0
Albarnie
17 Sep 2020

5 Comments

jacky2611

Honestly, I think this is a far bigger problem than you make it out to be. It kinda feels like baking stuff was added as an afterthought, using already existing code. Something I frequently have to do is to bake materials and textures to a completely new UV map in order to properly export the model. This requires me to:

  1. Create a new empty image (why can't this be created automatically?)
  2. Add an unconnected texture node to every material I want to bake. The fact that it is not connected to the graph itself breaks a lot of assumptions I, and probably most other users, have regarding how nodes work.
  3. Make sure all these unconnected texture nodes are selected. (Fun when you are baking multiple materials)
  4. Select the new (and unused) UV map. This has no noticeable effect, but apparently changes the UV used for the baked output.
  5. Bake each texture separately.
  6. Remove all the useless nodes we created for baking.

My current high to low poly workflow is similarly complex and unintuitive. In addition, sometimes even simple bakes (e.g. diffuse) are far more complex than you'd expect them to be.

Instead of trying to patch the existing baking system I would suggest that it is rewritten entirely, with full support for the Principled shader and it's own UI tab/window from the very beginning.

1
jim.conrad

I've been doing a lot of texture/light baking recently. I think the main gripe I have is the process of first creating a 'target' image to bake to. This is extremely unintuitive from a workflow perspective. I'm not exactly sure how to improve it, but I'm imagining some sort of 'New Image' dialog within the Bake section itself. But the dilemma is how you would specify which materials/objects it applies to. I think maybe baking is a complex enough set of operations that it might warrant its own Workspace tab--perhaps with its own unique set of interfaces for all the baking setup.

1
koko_ze

I'm guessing that your main problem is that it is not as automatic as something like substance painter. It is a bit clunky for newbies.

<ul> <li>Yep. Eevee would be nice.</li> <li>I would put it at the very bottom of the list so that it is not related to rendering at all.</li> <li>I don't understand.</li> <li>Yeah, Heightmap is currently only in the multires option which isn't perfect. I'm not sure what an alpha map is. I'm guessing it's just opacity. In that case, I would just use the emit technique. Use pointiness for the curvature with the emit technique</li> <li>I would add a sample input field to the bake panel and not use the render samples.</li> <li>It works just fine for me. Could you give an example?</li> <li>I didn't notice that.</li> <li>Yeah.</li> </ul>

kidtempo

* @Anže * As a rasterising engine, I think by its nature Eevee would struggle to be able to do baking (without a lot of hacky workarounds requiring considerable development effort)

1
mindinsomnia

* @Anže * I would describe baking in Blender as clunky in general, not just for newbies. It's a slow and painful process to bake a complex object down into a set of PBR textures.

5