[Feature Request] Random-per-Stroke

Tags: #<Tag:0x00007f73bb4baa38>

Hi! I recently found out about this program after trying to get more freedom in my daily software use and having a few too many problems with Krita using my workflow. I’ve been finageling around a bit and read some guide by one Ramon Miranda trying to work out the brush settings, and for the most part I think it works out really well.

One thing I do miss, or at least can’t figure out how to do, is per-stroke randomness. The randomness slider always is random per dab, and the stroke slider is always the same every time X since the start of the stroke. Is it at all possible with the current brush engine to get a single random value at the start of a stroke which remains static until the next stroke? If not, could this be considered a feature request?
The main use I want out of this value is automatic slight hue changes per brush stroke, resulting in more texture without effort on the user’s part and can lead to “happy accidents” by using colors you wouldn’t have otherwise.

For some more relevant information, I am currently using version 1.2.1, as the 2.0 beta states it has less performance which sounds like it would result in the same problems I have with Krita. If it has more new features than I’m aware of (such as this per-stroke randomness) I’d be inclined to at least test it, but the pigment features currently do not interest me all too much.

MyPaint 2.0 is only slower when using the new pigment features. Those features can be disabled by running in “1.x” compatibility mode, where it will work basically like 1.2.1 but with more features/fixes.

As for your question, I don’t think it is possible to do exactly what you want with the brush engine. The closest thing I can think of is to map the “Custom” input to the “Change color hue” setting, then map the “Random” input to the “Custom input” setting (the output of which goes to all “Custom” inputs) and finally map the “Pressure” input to the “Custom input filter” setting, in such a way that 0 pressure maps to 0 (meaning the “Custom input” value is updated instantly) and everything above 0 is mapped to the maximum value (leading the “Custom input” value to be updated very slowly).

I’m afraid there’s no single input that does what you want, so I’ll mark this as a feature request.


Edit: So I tried this out, and it works ok. In order for it to work great (no variations within the strokes), we’d either have to increase the upper limit of the “Custom Input Filter” setting from 10 to maybe around a 100, or add an arbitrary cutoff point so that a change factor of (e.g.) 0.005 is rounded to 0 (which is not very nice in terms of predictability).

At any rate, here’s a video of the test. Skip to around 6:20 for the result.