[Addon] Bake Wrangler - Node based baking tool set (Ver: b0.7 *imageset*)

bake_wrangler

Bake Wrangler is a nodes based extension and replacement for the inbuilt baking system. The aim is to provide a highly configurable but easy to use baking system with all the extra features you really wish you had.

Direct Download: BakeWrangler_b0_7.zip
Support development by donating at: www.ko-fi.com/bakewrangler
Or use Gumroad: https://gumroad.com/l/esrjv

Bake Wrangler beta 0.7 (imageset):
Adds support for all image format settings. Output to alpha channel will now work when using a format that supports alpha.

  • Choose Color Space (sRGB, Linear, Non-Color, etc)
  • Choose format (BW, RGB, RGBA)
  • Choose depth (8, 16, 32, etc)

Note: There are a lot of possible settings and I haven’t tested all the combinations, but they should be working. Report if you find any problems!

Bake Wrangler beta 0.6.1 (imagespeed):
Small update to fix an issue with multires and masks. Also improved the speed of the image manipulation step and made connections to image channels behave in a more useful and sensibile way:

Color socket to a R/G/B socket will now take that color (eg Color to B socket will take B channel from the Color). Channel (R/G/B) socket to a Color socket works the same, but in reverse (eg B to Color socket will write B channel to the Color).

Bake Wrangler beta 0.6:

This update fixes a number of bugs, improves the UI and feed back along with new features to fully support all bake types and options. This version should be much more robust and handle many weird cases that would cause the previous version to fail.

  • All built-in bake types supported with all options.
  • Additional bake passes for Principled shader: Albedo, Metalness
  • Bake and Save at different resolutions
  • Bake directly to specific image channels (alpha currently not working)
  • Masking with separate sample count for baking multiple passes to one image
  • Support for Multires and Cages
  • All baking takes place in the background using a separate copy of the data. Nothing is changed in your scene and you can continue working while images bake without problems.

Planned Features (by 1.0 release):

  • Implement the ‘Bake Image’ work flow (currently only ‘Bake Pass’ workflow is enabled)
  • Full batch grouping support to bake multiple passes and/or images with a single button

Desired Features (depending on community support):

  • As part of batch support, one click previewing of baked textures on selected model
  • Selecting of Collections in addition to objects (big time saving for very large projects)
  • Automatic file naming for batch output (%O, etc)
  • Additional node types for cleaner layouts, rerouting, grouping, etc
  • Additional post processing nodes, like Anti-aliasing (can already sort of do this by baking and saving at different sizes)
  • Add selected to High Poly node
  • Extra features as desired and requested by the users
14 Likes

When I send a file as fbx to another program are the baked textures sent along with the fbx? When I open the fbx in the other program what do I do to for example to apply the wood floor texture to the floor or a ceiling beam at a 22 degree angle. Thanks

That is more a question about the fbx exporter and importing into what ever the thing your using is. But generally fbx files don’t have image textures in them, they do usually have the name of the material that an object has.

I can’t really say how you would apply the texture in an unknown other program? Usually they have some option to pick images to use for what ever shading system it has…

There is a place to attach the image file. In the baking process is there a folder where the baked textures can be accessed and attached in the other program/ Thanks

Just discovered your addon today !
That’s a really nice work ! Got a feature idea. Could it be possible to create a High Poly Meshes node directly from the selected objects ?

Yes, that should be fairly straight forward…

I noticed all textures appear to be saved in Linear color space. While that’s fantastic for most textures, game engines expect base color input to be in sRGB. Perhaps adding a color space selector to the image output would be the best solution?

Otherwise, this is fantastic in my first tests!

Feature req: File name template options? So for example Tank_Normal.png and Tank_ORM.png (the latter would RGB mapped to Occlusion/Rough/Metallic for glTF format).

So something like
%O = mesh_object.name
so we could do %O_Normal.png and just use the same node setup for consistency.

1 Like

Yes, there is still a bit of work to be done on the image output stuff. Unfortunately the format settings aren’t easy to manipulate from an add-on (afaik you can’t make your own ImageFormatSettings data blocks). But I intend to provide a lot more control over the output in the next version!

As to additional features, there are a number that people want. But it’s difficult for me to add them without support from donations/sales.

Is the price in Australian dollars or something else on Gumroad? They don’t detail what “A$” means which put me off from buying it(because I didn’t know what the conversion is) the first time I saw it.

Yes it’s AUD. I didn’t mean to use that, but you can’t seem to change it without making a completely new product…

Ive been testing this out a bit. Really awesome so far. I like the idea of having mutliple bake groups all slotted with nodes into a Bake Pass. Really unique and useful.

The one issue I run into pretty consistently is that I get a “bake failed” error for seemingly no reason when I start to dupe or change around the “Output Image Path” node. Usually deleting and remaking seems to work but I’m not sure if there’s anything else going on in the backround.

Really looking forward to watching this develop. I still use Marmoset to bake for production assets but it would be nice to switch over to the Bevel node and this plug-in for non-first person assets.

I’m glad you like it!

If you can save some of the log files when the bake fails I will look into what is causing your issue. (The log location is displayed in the system console, on windows with default settings it will be in the usual ‘AppData/Local/Temp/blenderxxxx/’)

Oh awesome, I’ll try to find it and grab it next time it fails.

Thanks

I really like this - it’s a huge timesaver, but I have one question.

Is it capable of handling Mix Nodes?

I often encapsulate the Principled BSDF node in a Node Group that allows me to redirect any input to an Emission shader, so that I can bake all the different maps (Base Color, Metalness, Roughness, Clearcoat etc.) using Emit baking in Blender. The good thing is that I can use Mix Shader nodes to blend different “submaterials” together and it all gets baked properly.

BakeWrangler gave me a warning that there’s no Principled BSDF node in the end of the Material node tree - (but it’s baking something still, we’ll see how it goes).

Would it be possible to handle the materials using Mix Shader nodes?

Hi unfa, I also used to do a similar thing where my Principled would be in a group. The idea when creating Bake Wrangler was to avoid the need to do that, since I found it annoying to have to keep changing the outputs.

So the current three PBR targets (albedo, metalness, alpha) examine the texture node set up and try to find those inputs on the Principled BSDF. Probably people might want other targets, but those were the main ones I used.

How are you imagining it handles the Mix Shaders? Do you have multiple Principled BSDFs connected to mix shaders? It could probably handle that, I just need a way to determine what values contribute to the map and how they should be mixed.

Can you post an example texture set up?