First of all: Blender 2.83 seems to be performing much better (**) at actually rendering game relevant textures from pretty dense high-res meshes. That’s awesome as it means I nearly (*)don’t have to leave blender to bake stuff.
On the way to the baking process there still are some terrible, terrible design decissions that made me question my sanity until I realized how it actually works, though
- To bake to a texture you have to have created an empty texture in blender, added it to the node tree of the relevant material somewhere and have it also active (clicked) in order to mark it as the texture that is being rendered to. Even finding out how this is supposed to work is paaaain.
- This whole process also makes it unfortunately easy to overwrite an existing map, as all you have to do is forget to click another one in the node editor (or switch the node). Intuitively you’d think that having the texture open in the image editor could dictate where to render to.
- Multi Property editing! I know it’s on the list of things to do, but please, please, please nudge it higher on the priority list, if possible. If you’re using a bake cage a good way to do it is to use a shape key. Which means that for an exploded mesh you have to click. every. single. piece. of. the. model. and. add. as. well. as. enable. your. cage. individually.
- (**) unless I was just lucky and by chance hit the sweet spot for my textures!
See this very interesting post: Why is texture baking so mind meltingly slow?
- (*) Blender still doesn’t render all the relevant maps. Some of them only from multires (which is not always an option). In particular there are a few vital maps missing:
- Curvature map (can be derived vrom normals but should be bakeable, really)
- Position Map
- Color/ID Map (based upon
- Displacement (only possible from Multires)
So yes. In theory it’s all there but in reality there are so many things you simply have to know in order to get good performance or even be able to bake at all.
There used to be a plugin from renderhjs called “TexTools” which got ported to Blender 2.8 by SavMartin but all in all this functionality should be in Blender natively. And even if it’s not realized in the same way - Points 1, 4 and 5 are super critical and should be attended. I think they could not even be considered Papercuts any more as they are super obscure if you don’t know what to do.