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.
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…
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.
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.
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.
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/’)
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.
Hi ! I know you can’t work full time on your addon (i’m in the same situation, my time is totally consumed by work and school), but a while ago, i tried to bake a model containing curves, and realized it didn’t bake curves.
I took a look into your code to see if i could fix it, (just five minutes ago), and i did it.
I just replaced you value_prop_filter function in your BakeWrangler_Socket_HighPolyMesh class by this:
def value_prop_filter(self, object):
return object.type in ['MESH', 'CURVE']
And it works like a charm
I wish i could help you financially, but it’s a bit hard for me. However i could maybe help you on some features if you wish.
I think this addon should be the way to bake in blender. From all the methods i’ve tried, this is by far the most convenient (though some things could be automated IMO).
Keep it up
By the way, i ran into a weird issue while baking today.
I modeled a router with Hops and KitOps, but though every parts were to be baked were inside the high poly node and them being all view/render enabled, only 3 of them were taken into account during the bake.
I’m back again.
I think i found the issue with my bake. I seems boolean modifier is not taken into account during the baking process (Modifiers not applied during export ?).
I kept experimenting with the code, and if you are interested i added a Collection node plugable in HighPolys sockets. Also added a property for each Collection input for recursive search of Renderable (mesh or curves not hidden for render to be precise) objects. Search Filter doesn’t show empty collections to make it easier for the user to browse collections.
I hadn’t really considered that people might want to bake a curve…
All modifiers that are enabled for rendering get applied before a bake pass is done (there were some problems with modifiers in some cases, so the easiest solution was to just apply them always). Are your booleans enabled for render? They should get applied…
I also planned on having a more verbose debugging mode that could be enabled from options, though there are logs made for every bake which would show any actual errors that get thrown.
If you want to donate code that is fine! I was planning on having collections select-able, I thought I might just make it part of the high poly meshs node… Do you want to get added to the github project or something so you can submit code?
I tried the addon yesterday and I found it quite useful.
Node approach to baking and informative logs help a lot. Hope you’ll find the motivation to continue working on this
There are a few things I’d like to ask about the addon.
-If I first bake to a 1024x1024 image and then without deleting the file bake a 2048x2048 it ends up with an error. I think it is because addon is trying to add an Alpha channel to a different sized texture. This happened with RGBA targa file. Not a big issue since I can just delete the previous bake file.
-I was testing High to Low mesh. I have multiple high poly meshes. Low poly is just a joined mesh of all high poly meshes with a single UV and one material. It is like baking down multi materials into one material workflow. In High meshes, Albedo textures are set as “SRGB” Color Space. In Bake node Editor, I set the Output Color Space as “SRGB” as well. But after baking if I imported the baked albedo texture and set it to “SRB”, colors don’t match (with high poly materials) but If I set it to “Linear” then the colors match. Is this a bug or am I doing something wrong? Would it be possible to transfer multiple albedo texture to a new UV without effecting its colors?
-What is “Mask” in “Bake Pass” node used for ? I read the tool-tip but still couldn’t understand.