BATS - Material Editing With Layers


(Joshua Knauber) #1

if you don’t want to go through the whole text, please read the end!

BATS - Blender Artistic Texturing and Shading
is an addon for blender 2.8, that I’ve been working on for the past month.

It allows you to have a substance-painter-like layer system with editable PBR channels and blending modes.

Obviously BATS makes use of blenders new eevee render engine, more specifically the lookdev view.
This means that the speed of which you can work in the viewport depends a lot on your hardware. If you can work smoothly with textured models in eevee normally, you can work smoothly with the addon as well.


The goal with the ui is, to keep it as clean as possible and to have as much space in the viewport as possible.
This is achieved with a workspace, that gets loaded from an asset file, which I will talk more about later.

Layer Panel:
The Layer Panel is where most of the action takes place.

The first row has two dropdowns to choose the material and the pbr channel your working on currently.
The ghost symbol allows you to toggle a preview mode on and of, which previews the active channel in the viewport.

The second row has two tabs to switch between the layer stack and editing the selected layer.

The third row has the layer operators for adding, removing and moving layers in the stack.

Then there are the layers:
The white dot shows if the layer is selected. All actions performed on a layer will happen accordingly to that selection. Then there’s the name of the layer which can be changed. The material ball icon allows switches the pane to the editing tab, with the correct layer selected. The next icon also switches to the editing tab, but for editing the masks of the layer. The following icon allows you to change the visibility and opacity of the layer or the channel. The last colored part can be used to tag layers with specific colors.

If you select a different channel instead of the layer overview, the ui will look a bit different:


As you can see, the color channel is now selected. This will add a dropdown to every layer, in which you can choose the blending mode for every channel of every layer.

Underneath the layer stack are a few more panels for other options and settings, like removing unused textures, or changing texture resolutions, but those aren’t all there yet. Eventually baking will go there as well, but I will talk about that later as well.

Editing Layers:

This is the view that you see when you switch to the edit tab.

While the first two rows stay the same, the third row now allows you to switch between editing the masks and the material of the layer.
In material view, you now can choose a shader from a dropdown (currently no shader is selected).
These shaders can be added easily to the asset file, which contains the workspace, as well as node groups, which define materials and masks.
These node groups need to have the corresponding outputs for Color, Metalness, Roughness and Height, which then can be chosen in the material editing tab:

Underneath the dropdown you can see toggles for the individual channels. If a channel is toggled of, it wont be influenced by this layer.
In the shader settings subpanel you can find the inputs of the chosen material node group, as well as mapping settings for the textures of the material.
In the channels view, there is a list of the individual channels. This is where you can choose if the channel should have a constant value, should be influenced by the shader, meaning it’s corresponding output, or by a texture.
The texture can be loaded from a file or created with the pencil icon. This icon will also take you to texture painting mode, where you can paint on your textures and also work with some new features, like inverting textures.
The load textures button will allow you to choose a single image file and will then import the other pbr textures if they are available.



When the mask tab is selected there’s a dropdown for choosing a mask, which can also be defined with a node group in the asset file or just with a texture.
If a node group is chosen, you can also edit the input sockets of this group.
Note that every channel can have a different mask, so therefore this view will change if you select a different channel.

Asset File and Settings:
The asset file can be selected in the addon preferences, which can be found in the preferences (former user preferences).
This file must contain a workspace named “BATS”, which will be imported into every file. It also contains the node groups for materials and masks.

Coming Features:
An important feature that’s still missing is baking. This will include baking the full node tree to pbr textures and also baking masks, like bevel or ao.
Select Chunk:
This would be an active tool when painting a texture and would allow you to paint chunks of the mesh based on uv or normal. I’m not sure if the API for active tools is even there yet at all, but I’ve not found any documentation on it.
If you have any idea about how that works, please let me now!!!

Finishing words:
So there you have it: This is supposed to be as good as possible, so if you have any feedback or features that you would like to see, please let me know.

This addon will be paid, as I’ve put quite a lot of afford in it, but it will definitely be easily affordable!
If you don’t want to pay though, I will need a few testers for the addon in the next weeks, so if you want to test the addon and give me some feedback, just let me know, I will choose a few people!

I will probably post a video quite soon which will show a workflow with the addon. If you want to get more regular updates on the addon go here:

(Tosky) #2

°A° The dream become true °A°

(Tosky) #3

I cant candidate to be a tester, since a ) my time zone is probably not sync; and b ) I dont have really much time for blender these days. Yet from time to time I’ll suggest some features if you keep us updated on the development.

(Joshua Knauber) #4

The time zone wouldn’t be a problem, but I’ll definitely keep you updated!

(Peetie) #5

Looks all nice. Is there somewhere a link to the addon?
Update: I am not reading well. If you want I can test the addon coming week.

(Joshua Knauber) #6

There’s no link, because it’s not released yet.
If you want to get it as quickly as possible, I will need a few people to do some beta testing, otherwise it will take another month or so for the first release!

(Peetie) #7

I tweeted you a few second ago (under New Media Supply) that I was interested to be a tester. Next week I still have holiday. After that I work 32 hrs/week.

(draguu) #8

super awesome , looking forward for it

(Frederyco Martins) #9

I´d love to test it and I´m already interested on acquiring it in the future.

(Joshua Knauber) #10

Sounds awesome!

(Safetyman) #11

I’ll be watching this thread. :smiley:

(Joshua Knauber) #12

Alright, so I had some annoying bugs to sort out, but that should all be fixed now:

I just added the options for saving textures and also included an auto save option.


The “Clear Textures” option removes all textures that are not used by a material from the blendfile and also removes unused textures from the cache folder, where the textures that are created or edited with the addon get saved.
“Save Textures” saves all textures which are used by materials.

While I’m at it I’m just going to explain all the addon pref options:
Reverse Layer order reverses the order in which the layers are displayed in the layer stack
-Use any workspace allows you to use the addon in whatever workspace you want to, otherwise it will only work in the one called “BATS”
-Auto save saves a texture when you finish editing it with the addon in texture paint mode

The only thing left to add is the baking options for the masks and the exporting of materials. I’m hoping to get that done this weekend, which is also when I’ll be asking people for testing!

(Tosky) #13

You definitely must post a couple of vids, even if short and not commented will do fine.
(Any idea about the entry price?)

(Joshua Knauber) #14

Yeah I will try to record a few videos of maybe a workflow of texturing a model and maybe a feature overview on the weekend!
For the price I’m thinking around 15$, but that might change, depending on the feedback I get.

(Tosky) #15

Just remember that blender 2.8 baker could be derpish atm.

(Fonden) #16

Hey Joshua,
I talked to you a little on Twitter about this (Spenser Williams). Glad to see you making progress! If you’re still in need of testers, I’d be happy to help. Also $15 sounds like a very fair price for the add-on to me! Keep up the good work!

(draguu) #17

just release the beta :slight_smile:

(1pepe) #18

we could make new multilallered materials to share with people as the substances in substance painter?

(Joshua Knauber) #19

You can do that in a similar way, yes.
The workflow for that looks like this:

  • Create your material
  • Make a node group out of it
  • Use the information for the PBR channels as node group outputs and name them accordingly
  • Connect the values you want to be able to edit to the input sockets
    Then you can use that node group as a shader for another material

A feature that could be added for a future update, is to automatically convert a layer stack into one of those materials.

(draguu) #20

when do you plan to release it ? even for testing purpose , i did quite similar thing while ago ,

its no way near to your concept , but i tried doing same thing ,
if you need some hep let me know , i would love to help out ,