Bake Wrangler - Node based baking tool set

1.2 Alpha 2 available for download now (Please backup your recipes or work on copies)

While I’m calling these alphas, everything should work without problems. It’s mainly that I haven’t decided on what features will be in this version. Nodes may be added, removed or changed before the release.

New Nodes:
bw-a2-newnode

New Panel with version info and Update recipe button (update can be undone, but I recommend using a copy or keeping a backup if you still want to use the previous version of BW):
bw-a2-update
There is still some work probably on the updating. Currently a settings node will be created for every node, but I will probably put something to consolidate ones with the same settings into a single node later.

Batch node also now has fields for pre and post bake scripts, but are not run in this version.

2 Likes

I did a simple bake test.
The Bake Image button on the OutputImagePath node succeeds, but the batchBake node fails.
But I get an error in the batchBake node.

Environment
windows10 blender2.92 1.2 Alpha 2

Thanks, I will check it out. For this version you may have to avoid using the batch bake…

Well… Drawing the properties automatically works… But it’s ugly:

If I was to actually do it, spending the time to copy the layout over for a few specific formats would probably be better… I would also need to figure out how to use the presets system…

1 Like

Okay so currently what I’m thinking with scripts:

Two global variables will made available (BW_TARGETS and BW_SOURCES). Each will be a list of unique objects (no duplicates) and each item in the list will itself be a list of 3 items: [Object, “UVMap”, Cage_Object].

More properties could made available if they are needed and I could get rid of the uvmap and cage object if no one cares about those (often they would be “” and None).

The Pre script will run before the copy of the blend file is made and will block interaction until its finished.

The Post script will run after everything has completed, because it’s already modal at this point it cannot block interaction (at least I don’t think it can and I’m not sure it needs to?).

Anyone see any problems with this?

1 Like

Is it possible to bake udims with bake wrangler?

Yeah, you can. There isn’t really anything special about udims when it comes to baking. You can just bake them like anything else.

Umm, maybe some sort of automatic naming and output sizing based on udim would be good. But blender doesn’t have great udim support last I checked, so I’m kinda constrained by that unless I want to roll my own implementation (which I don’t) :stuck_out_tongue:

Uhmm, Blender’s baking does not support UDIMs though. It only bakes into the default 0-1 square.

Yeah, each UDIM needs to be a separate UV map. So your object will have a separate UV map for each UDIM. Then in BW you add the object once for each UDIM and set each instance to use the different UDIM maps.

Other users have been doing it this way in their UDIM pipelines with success. Though I’m not sure what other tools if any they are using to create the UV maps.

It’s by no means automatic, but you can set it up to bake them fairly easily. When blenders UDIM support improves, I will improve the process as possible to make it more automatic.

I put this link because reasons https://github.com/anfeo/blender_addon_bake_UDIM

Reasons being that you want me to automate udim baking?

Please do it

I don’t really see how that add-on can work… All it does is subtract a whole int value from the UV maps X coord…

UDIMs displace in the Y direction as well… Or does blenders UDIM still only support X offset tiles? Hmm it doesn’t specify the tile size either…

Okay so here are the major problems in blenders current implementation of udims:

  1. Only supports X offset
  2. UDIMs are the property of an image and have no linkage to an object or its UV map
  3. Tiles are all the same size with no way to specify a size

From the perspective of baking, that makes it pretty useless…

I can see two possible implementations I could go with:

  • Use blenders udim tiles: Essentially it would be a template, you create a tiled image and specify it as your udim layout (since I can’t tell what layout an object is supposed to be paired with reliably). Potentially the name of the tile could be interpreted as an output size.
  • Ignore blenders tiles entirely and add some sort of udim checkbox: The UV location would automatically determine the tile (eg. X > 1 < 2, Y > 0 < 1 == 1002, Y being > 1 < 2 with the same X would be tile 2002, etc). Problem would be then I need to find a way to specify each tiles size…

I don’t know such subtle technical points. I will explain how I bake udims. I create material for each udim. Moving each udim to x-0 and y-0, bake and add the suffix 1001,1002 … to texture. Then I move the udims back to their places. Or I make a copy of the objects and build it with one material and with udims

Ive never really used udims but unless you are working with huge image sizes (like beyond whatever the max possible image size Blender can bake out or your targeting renderer supports) why not just scale up the islands you want higher resolution on before UV Packing?

Its give more more comfortable texturing compare with texturing with two or more materials, and maybe give more performance. 8196x8196 its a 67 174 416 pixels, 4096x4096 its a 16 777 216. One 8k texture = four 4k textures. WIth udims i can use two or tree 4k texture what is less than one 8k texture by pixels count. Its will be more comfortable to texture because no need jumping between materials in substance painter, just paint across textures

The point of udims is to have detail where you need it and to save memory where you don’t. I’m not up on all the technical details, but I understand how it works from a baking perspective.

Are people actually using the blender implementation to CREATE udims though? It doesn’t seem very good for that… It only really seems to exist in order to load existing ones.

That’s why I’m not really sure if I should be referencing it or not.

Nope, just to show that UDIM bake it is possible indeed, since people could have doubts about it.

Like I said, baking UDIM doesn’t require anything special. They are just individual images. The simplest way to bake them in BW is to just copy your UDIM uv into separate uv maps and move the parts into the 0-1 range.

But I get this is an annoying extra step, especially if you later want to change the layout.

It’s just blender doesn’t have good support for them currently. Is there a good UDIM add-on people are using? Do I need to make some sort of UDIM add-on?

To me ,it is a awesome bake add-on to blender, I am so glad to use it to bake some texrue,it has many useful function like nomal,ID,AO an others,but if it has one other thing,the add-on will be perfect
When I bake 3-5 high polys mesh to 1 low poly ,ok,it will be very useful

But when I want to bake 5 high poly to 5 low poly ,it will be some trouble

,I need to select one by one rather than select all in one time even they are in different collection,
So if it possble to add a option before bake that allow us to change bake one by one or bake everything to one ? Because if 2 high poly are so close the texture will make some mistake,so Bake one to one is important to me
Thanks!!