Blenderstorm

Sandbox
Popular
In development
Implemented
Idea #185: Replace "stencil" functionality with texture masks

  • Description
  • Report duplicate
  • Help promote this idea!
Written by madmesh the 19 Sep 10 at 07:18. Category: Texturing & Materials. Related project: Nothing/Others. Status: New
Rationale
The "stencil" functionality in Blender works clumsy. You have to position your "stencil" texture correctly in the texture stack or you mask the wrong material. On top of that its not clear when looking at the texture stack which texture is a stencil and which texture is a regular texture.

The stencil option is actually a very usefull feature that is easily overlooked in Blender because its hidden in the texture settings. When you use it it creates a lot of clutter in your texture stack which was a problem in earlier versions of Blender when the texture stack was limited.

What the stencil functionality can do is great, but how it works in the interface is not great.
Tags: channel mask masking material stack stencil texture

No solutions.

Propose your solution


Duplicates
[Report a duplicate and merge its votes to this idea]


Comments
madmesh wrote on the 23 Sep 10 at 10:39

In your solution you would still have the problem that the mask and the texture are in the same stack. You would still need too position the mask texture in the stack in relation to the texture being masked. There's not much difference with the current workflow and it doesnt make things easier to "read".

zeauro wrote on the 30 Sep 10 at 07:21

Blender is a 3D program.
It use stencil textures in 3D and offer possibility to have a kind of 3D mask.
Procedural textures can be used as seamless masks.
Mapping is important for stencil texture and can be different to masked textures.

In your proposal, it won't be obvious if displayed influence and mapping in Texture Properties are related to mask or to masked texture.


madmesh wrote on the 8 Oct 10 at 15:46


The way I had in mind how it would work was as folows:

The texture and its mask can be selected seperately, indicated by the blue selection in the mockup. Al the settings below relate to the selection, so the mask can have completely different mapping settings from the texture being masked.

The texture stack is still one stack, not 2. Maybe its clearer in the comparison mockup with the Photoshop layers. In that example I think its clearer the stencil/mask is simply effecting the texture and not a seperate stack. The UI design could be polished to make this clearer.

madmesh wrote on the 8 Oct 10 at 15:57
--> #Solution 3

If you enable a stencil/mask icon to a texture and keep it in the same stack as the regular textures you still have the problem of pairing the mask with the texture being masked.

I believe the vertical layout of the texture stack is simply not very suitable for orginizing, masks and matching textures in a clear way.

P.S. I believe the proposal is based on a misunderstanding of how proposal #1 works.

1. there are no seperate stacks for stencils, they are joined horizontally.
2. Stencil textures can have their own mapping, seperate from the the masked texture.

zeauro wrote on the 11 Oct 10 at 02:24
I misunderstand the fact that options are not related to the line when I post comment and solution 3.

So I deleted remark on mapping. But I think my solution is always valid for other reasons.

Solution 1 is a long term improvement. It is a lot of work to completely change the way textures and stencil are related to each other in blender.

Actually, a stencil works on next channels like warp factor.
To be more specific and act only on one channel, you could use Texture nodes.
A stencil is not affected by warp factor.
But a texture with an alpha mask created with nodes is affected by warp factor.

Solution 1 implicitly demands ability to group textures, easily duplicate stencil on several channel to mimic stencil behavior on several textures.
It does not take account of difference between texture nodes and stencil.
It is more a kind of visualization in texture panel of what can be done in texture nodes.

Users of 3D software are used to deal with nodes. It is why I don't think a photosho

zeauro wrote on the 11 Oct 10 at 02:30
Users of 3D software are used to deal with nodes. It is why I don't think a photoshop style is absolutely needed.

Solution 3 could be a short term improvement.
I think it is better to help newbies to understand how stencil actually works.
IMO, it is a waste of time to force developers to show differently what blender texture nodes can already do.

madmesh wrote on the 11 Oct 10 at 04:39
"Solution 1 implicitly demands ability to group textures, easily duplicate stencil on several channel to mimic stencil behavior on several textures."
The textures used for masks are exactly that, textures. These textures can be selected from the pulldown menu like any other texture you would normaly add to the stack. You dont need to “duplicate” the masks/stencils or anythink like that. I’m quite sure what you mean by grouping textures?


"It does not take account of difference between texture nodes and stencil."
The way I had it working in my mind was that the textures to be used as masks are simply textures not some kind of different data block type. Any texture or texture node can also be applies as a mask to any other texture in the stack.

madmesh wrote on the 11 Oct 10 at 04:40
"It is more a kind of visualization in texture panel of what can be done in texture nodes."
That applies to the current state of the stencil functionality as wel, the proposal is meant to improve how stencils work in the UI. Blender happens to have both a traditional material and texture system next to a node based system, so your above argument basicly critizises the duplication of having two systems that do similars things.
"Users of 3D software are used to deal with nodes. It is why I don't think a photoshop style is absolutely needed."
I think this is a generelization that doesnt apply to every user. Another statement would be that many 3D users are in fact familiar with Photoshop or Gimp and will be more comfortable with a similar style of layers (stack) and masking.
This is however not the reason why I decided to go with the “photoshop style” approach. The new texture stack in 2.5 UI simply lends itself for the same solution. Its not my goal to mimic Photoshop in Blender or anything like that, I ju

zeauro wrote on the 11 Oct 10 at 11:49
"You dont need to “duplicate” the masks/stencils or anythink like that."
You are right "duplicate" is not correct word. You would have to copy/paste stencil slot settings like you have to copy/paste Texture slot settings to keep same mapping or would have to create a new operator to do it at once.
Actually, to mask a texture, you just have to move it to a slot below stencil. It permits to easily mask a dozen of textures without having to reload masks and paste settings. But it probably would be a difficult task to make stencil acting without taking account of textures' order.


zeauro wrote on the 11 Oct 10 at 11:54
"I think this is a generelization that doesnt apply to every user.Another statement would be that many 3D users are in fact familiar with Photoshop or Gimp and will be more comfortable with a similar style of layers (stack) and masking. "
I agree with that. But I think a heavy Texture Panel Improvement like that should be related to a more ambitious global refactoring of Image Editor as Viewer for Compositing, Sequencer Preview and Vector Masks. I don't know exactly what could be done. Maybe Image Editor Properties could be a better place to show masks than a little stack in Texture Panel.

madmesh wrote on the 12 Oct 10 at 00:13

You seem to value the ability to mask multiple textures at once with one stencil. But if you only want to mask one texture, the stencil workflow in stack is actually problematic. Orginizing the order in the stack to get masking behaviour to work properly is very counter intuitive. I have never used the stencil functionality to mask more then maybe 3 textures at once. So applying the same mask to multiple textures is not so much of a chore. I've never had an instance where I had to mass duplicate masks/stencils to large texture stacks for multiple materials.

Most of the time in my work, when i need to mask a texture channel I need to mask 1 to 6 textures not all using the same mask. I prefer to have an orginized stack of 1 to 6 textures oposed to 2 to 12.

madmesh wrote on the 12 Oct 10 at 00:22

"But I think a heavy Texture Panel Improvement like that should be related to a more ambitious global refactoring of Image Editor as Viewer for Compositing, Sequencer Preview and Vector Masks. I don't know exactly what could be done. Maybe Image Editor Properties could be a better place to show masks than a little stack in Texture Panel."

Heavy texture panel improvement???
Whoa ease up, I hardly think that my proposel qualifies for "global refactoring." I'm not saying that its not a lot of work or even easy to do but lets not exagurate here. And how does my proposal even relate to the compositor and the sequence editor, or even vector masks? None of them have a texture stack. I'd like to keep this proposal within proportion and not blow it up to something its not.

My proposal is a UI improvement to the existing stencil functionality, thats all.

zeauro wrote on the 12 Oct 10 at 06:48
I don't qualify your proposal of global refactoring. I am just saying that modifying stencil behavior + texture stack is not a little change.
I think that all changes relative to masks can be included in a bigger project.
Vector masks are needed for node editor and sequencer.
And actually what you want to do is similar to what can be done in texture nodes.
I think that a way to easily manipulate all this is to create a new mask datablock where could be merged textured, painted and vector masks.
And even if there is none actually, a layer stack for compositing and video editing would probably become a reality.
I am just hoping that developers will think about it before making changes in order to keep a mask convention coherent also with texture stack.





madmesh wrote on the 13 Oct 10 at 06:46
I've noticed that there are mask related ideas floating around for the compositor. When developers decide on how to implement those ideas I hope they wil NOT look at the texture layer stack and stencils for inspiration. Layers for video editing are logical, but layers for the composite node editor are not obvious. For video editing Blender already has a tried and tested workflow, that workflow should not take ideas for improvement from the textures or materials. There are better examples to learn from.

madmesh wrote on the 13 Oct 10 at 06:47
I'm open to better suggestion for using masks, just not for keeping it the same or making a minor change. Even if texture masks become part of a larger change that effect other parts in Blender, that does not make my proposal invalid. It is still a very clear solution and an improvement over the existing method.


Post your comment