Layer Painter - Material Editing With Layers - RELEASED

I just added a “Precompose Group” feature, which allows you to select a group and bake the layers inside it to textures. The group is then not editable anymore until you enable editing again.
If you add your layers to groups and precompose them when you’re not working on them this will improve performance quite a bit as all the layer nodes won’t have to be calculated!

2 Likes

Hi @JoshuaKnauber. Just bought your addon a few days ago and I’m still learning it (Blender 2.80).
I’m really impressed with what it is already capable of achieving! You really have something that could potentially lead me to abandon Substance Painter (so my workflow gets closer to stay only in Blender)…

I have a few questions if you don’t mind:

  1. On any type of Layer, is it possible to add an all white or all black Mask as a start, and then paint the white/grey/black values on the mask itself with the tools of the Texture Paint mode?
  2. On a Paint layer, is it not possible to paint with a full material (textures placed in its channels) instead of only with flat colors?
  3. On a Paint Layer, when I choose an emission channel to paint on, the strokes appear in the color channel and if I toggle the View channel button for the emission, it’s all filled in white. Is this the expected behavior?

And a few feature requests:

  • In the Layer Painter Workspace, there is a “Misc” panel that appears in the sidebar that is the exact duplicate of what we find in the topbar’s Settings. Could you make a checkbox in the addon’s UI preferences to disable it?
  • Also could you add another checkbox option to disable the Tutorial from appearing in the sidebar (once understood, there is no point in seeing it any more). Nice tutorial by the way!
  • Once a texture has been added to a channel, an “on/off” Eye icon next to the Trash icon would be apreciated so we can see the “with” and “without” effect, instead of having to remove it and put it back searching through the list again.
  • Add the possibility to add Emission and Alpha after there are already a few layers. Currently, it’s not very practical because we might decide to add these channels after having already set up a bunch of layers, and that means we have to delete all of our work to be prompted with that choice again. So to not lose our work, I think something like a small “Plus” button could do that instead of having to make that choice when we stack the first layer.

And some bugs I noted:

  • The addon crashes Blender quite frequently when undoing (ctrl + Z). But I haven’t been able to recognize a pattern of a specific action that causes this. It’s quite random…
  • In the addon’s Keymap preferences, disabling the “HDRI Rotation Shortcut”, doesn’t disable the HDRI’s rotation in the viewport. It’s still there.
  • If I reorder my workspaces and save the start up file, when I click “Enable 2D View”, the Layer Painter gets moved in second place again. Is there a way that the workspace doesn’t move and stays where it is placed?
  • When I click on Assets (to select a texture set), it says “Please select a folder path in the settings panel”. So I go in the topbar > Settings > Properties > PBR Textures, but the folder icon doesn’t open anything. Is this a bug, or I had to do something I missed?

Otherwise, great addon!

Questions:

  1. Yes you can add an image texture to a layer just the way you add any mask. Then hit the plus button to create an empty texture and you can start painting on it. If you want to fill it with white or black just use the fill bucket. It’s important to know that you can’t add paintable masks to channels, you can only add them to the entire layer.
  2. So you want to load in a set of textures as a base to paint on? That’s not possible now, but it could be possible in the future.
  3. The painting works just fine for me, but the preview is actually a bug, I’ll get on to fixing that.

Feature requests:

  • Didn’t know that was there, I guess blender adds it. I’ll see if I can remove it alltogether as I don’t really see a use for it.
  • I can add that checkbox, yes.
  • Can’t you just disable the channel to do the exact same thing. The eye icon would do the same anyways and the button to disable the channel is in the same panel.
  • That’s not very easy to do, but in theory it could be possible. Don’t expect that very soon though.

Bugs:

  • I’m aware of the undo bugs and I fixed some of it with the last update but there are still more which I don’t really know why they happen. I know that it happens though and I’m looking into it.
  • Yep that’s a bug, I’ll fix that
  • I guess that would be possible, it’s just a bit annoying because there’s only reorder to front and back
  • This is a bug with blender that me and remington graphics reported, there’s no fix for it yet: https://developer.blender.org/T63999

Thanks for the feedback, this helps me out a lot!

1 Like

Questions:

  1. Get it, thanks!
  2. Yes, preload the textures like in the Fill layer, but the material appears only where we give brush strokes, but paints simultaneously on all active channels. Of course, if we don’t feed textures, the actual behavior stays as it is now with the flat colors.
  3. You mean if you specify Emission channel, your brush strokes appear correctly on the Emission map?

Features:

  • Nice!
  • Nice!
  • Didn’t think of it, but you’re right it can be done like that.
  • Not in a hurry!

Bugs:

  • The undo bugs happen frequently after tweaking a value, after removing a texture with the undo instead of the delete button, and more rarely after undoing a brush stroke… That’s what I noticed the most.
  • Nice!
  • My guess is that it’s the “Enable 2D View” functionality that certainly resets something and redraws the worskpace.
  • Oh ok.

I really see great potential for your addon.

Hi
Is it possible to add export preset,that we can custom and add export for different engine ,just like substance painter? And We can choose different shader (just like make some changes (use pack image for glossiness metallic ao, but output is same as dedault shader)and group to new customshader) ?Or at start when we begin to create texture.

Hello,
If there is a vote system for features I might vote on “load texture set as base” feature as well.
Thanks for considering.

Just to make sure, isn’t this just a fill layer with textures added and then a black texture mask.
Then you can paint white and the material will appear where you put your strokes. To me this sounds like what you’re looking for.

Not sure how useful output presets would be as there’s not that many options to choose from. What would you want to see there?
Custom shaders are possible just as custom masks are, go here for more information: https://joshuaknauber.github.io/layerpainter/custom_node_groups/

To the emission thing, yes that works for me.
And for the workspaces, the add-on removes the workspace without the 2d panel and imports the one with which results in a different order.

To me this is more like starting painting without losing the objects starting material.
Currently if the object already has a material Layer Painter resets it.
It would help if we can convert it to work with Layer Painter. If the material is a basic material, Layer Painter can just do as you say and load the textures as fill layer. If it is a complex material, Layer Painter might bake it to convert its material nodes.
It is more like a “quality of life” thing rather than a absolutely needed feature. I’d totally understand if you don’t want to do it

So you want to take an existing material and bake it to layers. That would be possible if the material ends with a material node but otherwise it’s not as easy to do.

That’s correct. I understand there has to be some limitations.
Hope it is not too hard to implement into Layer Painter.
Thanks for considering.

Here I will try to document the Emission problem step by step.
I took the model “Abyss” from Substance Share for testing Layer Painter in Blender.
I’m putting very basic colors to simplify:

  1. I add a dark brown Fill layer on the body, only on the Color channel.
  2. I add one orange brush stroke (on the character’s torso) on a Paint Layer , only on the Emission channel

And these are the problems I get from there:

PROBLEM 1 : The emissive orange brush stroke is painted but cannot be seen on the torso from the Layer Painter workspace (left image). But If I switch to a normal viewport (with Emission channel only enabled and “Toggle painting” button is active) I can see the stroke is there (right image).

PROBLEM 2 : When I click the little ghost to view only the Emission channel, everything is white.
Note: In Substance Painter the Emission preview mode lets us see the brush strokes and what is not painted is seen in a checkered light grey / dark grey background.

PROBLEM 3 : When baking the Base Color and Emission maps, the Emission map is full black.

On a side note, I tried the same process with Suzanne: problem 1 is gone, but problem 2 (full white preview) still persists. Baking (problem 3) works.

So maybe there is something wrong with the model, and it works better with Blender’s internal primitives, but I don’t see why that would be the case… Do you have an idea?

Can this behavior be fixed to behave as one coherent workspace?

Hm yeah not sure what’s going on there with the painting, I’ll check myself to see why this could be happening.
The preview not working is simply a bug that I’ll fix with the next update.
The workspaces can’t work as a single workspace but I can look into reordering them after they are replaced.

1 Like

Thanks for your reply .
For output preset in blender, i thinks just some map and pack image "suffix " presets and which chanel we can pack into pack image .
For example for our own engine
colormap : xx_d ,normalmap: xx_n, and pack image xx_m (r glossiness,g metallic, b ao)
For unreal project
colormap :xx_diffuse ,normalmap xx_normal ,and pack image xx_rma (r roughness ,g metallic, b ao)

For custome shader ,i think just add some node to default to support custom chanel and pack image to default node.,and make this nodes and default shader to a goup .
So we can make different preset to support different need in our projects

I got the export preset part but I’m not sure what you want in the custom groups. You can add custom shaders with all the channels and use them in your projects.

I think just as same as " custom masks" ,the most import think is i can use custome pack image to default principled shader .it mean we need add node to split image, and connect separete chanel to principled shader .
Another easy wany is LayerPainter can give us option, if we can use stand image or separate chanel (R, G, B, Alpha ?) the same as use pack image’s separate chanel . We always use this technology to glossines roughness meallic ,ao , sometime we also pack one of them to normalmap’s B chanel !


Layer Painter is on Sale on blendermarket! Get it 25% off for the next few days.

2 Likes

layer mapping in not working in new version ,
i have added a textures but i cant able to change its size .
options in later mapping settings are not working , please fix it

That’s a 2.81 thing. It will be fixed in the next version which I’ll publish once I’ve added a few more new features.

1 Like