Recently I’ve been trying to make my own outline brushes in Krita and I’ve gotten decently far on my own, but there’s some limitations to my methods that I discovered.
I used a Masked Brush in Subtract mode to create my outline brush, and while it works well on its own, the lack of a fill color and its inability to overlap or join other strokes when desired have frustrated me. The first image is what the brush behaves like right now, and the second image is what my ideal outline brush would behave like.
I’ve been unsuccessful in finding a solution to this so far; tutorials in other softwares use a secondary brush feature for the fill color that Krita currently lacks. I would love to see a way to implement this into my brush so I can draw things such as ropes or chains without difficulty. If there’s no way to do it, however, I think it’s a good idea to talk about adding a secondary brush feature to the brush engine as it’s an interesting idea that may have more uses outside of outline brushes.
Another work around for this that I know is suggested often is to use the layer effects, but that affects the entire layer. Your masked brush trick is the first I have seen kudos to finding this out.
I think we can ask for stacked brush where a third brush can be overlayed on the previous stroke made by the two. Might be complex but it will have more flexibility
As I understand it, the peculiarity of the Krita brush engine is that it works directly with the canvas, every moment of time, every new stamp merges with the layer, it has advantages (especially for mixing colors) and disadvantages.
Some programs keep the last brush stroke in an isolated layer until it is completed, doing a merge after. This makes it possible to do alternate post-stabilization or apply a “layer style” to a single brush stroke before merging, unfortunately this is not yet available in Krita.
Hollow masked brushes have appeared repeatedly, all their problems are well known to you.
The use of colored tips specifically for this task is inefficient, and gives a number of artifacts on the turns of the brush stroke, besides, such tips are “disposable”. However, if you follow the penultimate video of Ramon Miranda, and replace the tip with a gradient, you can make the brush more multipurpose with the ability to edit the color and thickness of the resulting line through the gradient.
But again, artifacts make them less quality than a masked brush or layer style.
It seems that a technically masked brush could expand its capabilities if both tips worked in the “normal” mode, but the color management tools of the second tip will be required.
The use of colored tips specifically for this task is inefficient, and gives a number of artifacts on the turns of the brush stroke, besides, such tips are “disposable”. However, if you follow the penultimate video of Ramon Miranda, and replace the tip with a gradient, you can make the brush more multipurpose with the ability to edit the color and thickness of the resulting line through the gradient.
Oh I did come across this method! It’s pretty useful for certain texture and rendering situations that I might stumble upon in the future. Unfortunately for the purpose of making an outline brush, it doesn’t truly work as the brush doesn’t have proper end tips as you can see by the lack of a black outline at the start and end of the stroke.
As I understand it, the peculiarity of the Krita brush engine is that it works directly with the canvas, every moment of time, every new stamp merges with the layer, it has advantages (especially for mixing colors) and disadvantages.
Some programs keep the last brush stroke in an isolated layer until it is completed, doing a merge after. This makes it possible to do alternate post-stabilization or apply a “layer style” to a single brush stroke before merging, unfortunately this is not yet available in Krita.
This is an interesting observation, is there a way to look through the source code to find if this is actually the case? Learning about the brush engine under the hood might help us understand how to make better brushes, as well as figure out the engine’s limitations and workarounds.