Don’t think I’ve seen this rq in my searches of this forum, and I guess that’s fair since it’s such a niche one!
I’ve been slowly moving to Krita from my iPad (sigh.) as I don’t really like being stuck on a small single monitor device. But I’ll admit that Procreate’s texture movement has been a bit of a crutch for me, and most softs don’t have it.
What this means:
Texture movement in Procreate behaves differently depending on brush rendering mode. I’m mainly familiar with it in “light glaze” mode, so I’ll go off of my knowledge of that.
Texture movement is not the same as a X/Y position jitter, but instead, the texture is “smeared” between each stamp as if it were being moved/dragged. This results in a bit of fun, organic looking chaos!
I’m not knee deep in how Krita’s code works, nor am I a big boy coder, but how possible would that sort of feature be? I imagine there’s a lot going on behind the scenes so I can’t really gauge how cumbersome would this implementation be.
If someone was willing to lend me a hand I could try writing something like this, but again, I’m not super familiar with coding & definitely lack enough skills to try and make a test fork on my own.
That’s a good written explanation but ‘a picture is worth a thousand words’ so for something like this, it would be very helpful to post example images that you’d made to show the effects of this ‘texture movement’ or, even better, a link to a video that demonstrates it in use.
That might give more of a clue to someone who knows about this area.
Or someone may already know how to emulate this effect in krita as it is.
My bad, captn! Completely forgot to attach attachments.
Below, I’ve recorded a small vid showcasing this on a basic hard round brush.
I’m only showing a difference between the light glaze/intense blending, as I feel like they give the best contrasting POVs as to how this can look in the final brushstroke.
———
I’ve also added how scale/zoom interact together with movement; it’s a fun playground to start off with, but man, it makes me wish I could fork it to experiment and see what I could come up with; eg. texture movement depending on speed, being linked to specific brush frame animated tips, other weird stuff.
But I digress! I just like „movement” for some more randomness in my work is all :o)
Tiny update: not sure how useful it’ll be in this use case, but at the moment I’m transcribing every possible brush param from Procreate and explaining it [as all .brush and .brushset files are just… bplists! ]
When I publish all I’ve found, should I link it in this thread or make a new one in another section of the site? Not sure which category it would classify into, since it’s semi-related to Krita [ I was mostly thinking of a possible .brushset/brush import plugin, for example ]
Thank you! I’ll keep this in mind.
Right now I just have to describe all of the functions for people who have a hard time understanding what’s going on when they open any type of code.
Hopefully it’ll be useful for research in general, although it’s super time consuming. Procreate’s documentation is pretty lackluster when it comes to explaining… anything, really. So I end up having to collect all the data on my own at least it’s not like .abr where the brush files are completely inaccessible for begginers to decode on their own,
I’ll make a separate thread in plugins, I think! .brushset import would probably work better as an optional thing for people moving from procreate, rather than it just being there by default, since not everyone would need it, It’s also why I think integrating .brushset import into Krita shouldn’t be on a „feature” list.
If I manage to find more data on the movement/zoom / size texture data, I’ll get back here to update the thread.
Coming back to say, I’ve tried looking for where the pattern mixing occurs (to see if I can manage to assemble something myself) but I’ll be honest, I’m having some trouble with that. I know where the brush settings are but maybe I’m missing something (my reading is not that great on a screen as opposed to paper lol).
I don`t know how helpful this could be to you now but Heavypaint has ~live~ texture which also moves, but I think it behaves way better than in procreate and it is probably easier to use as reference. heavypaint.com
moving texture and quickshapes are the only things missing on desktop softwares, I dont understand why the major softwares are not implementing those.
In general, I’m slowly trying to understand Krita better so I can fork and write things like these for it ! :- ) I think with Krita the issue is that such a small dev team can’t focus on implementing every single feature to be constantly cutting-edge and ultra-modern, so pitching in is the best one can do to help it become cutting-edge software.
Back on track, I still have trouble locating where exactly brush texture management comes in inside of the brush engines, so I’ve spent the past few days just plainly reading. I’m mainly focusing on the “procreate brush import” concept at the moment, but the texture movement is on my backburner still. If I manage to implement anything of substance I’ll absolutely go back to this thread.
Sure, I wasn’t talking about krita per se, but the other paid softwares that charges so much but aren’t up to date to the stuff like that which is rapidly becoming indispensable (like realistic colour mixing/blending algorithms). Ad for the the texture thing, maybe it’s because of mobile brush engine(?) Procreate uses Metal/ Vakyrie or something like that, I don’t know much about it but they work differently from desktop programs, quickshapes/timelapse/texture moving and stuff like that seems to be relying on that engine (?) it’s like you are painting with vector and only becomes raster when you lift the pen from the screen and comits the brushtroke to the canvas. In hevypaint it’s something to do with 3D, the developer made program on godot and the brushes behave like if you were painting in 3D. You should have a look on their discord, sometimes they discuss about it over there.
I’m definitely experimenting with expanding the Pixel brush engine in Krita and when I feel comfortable enough, I just might try making my own. I think it’s all super interesting and, to be fair, I’ve followed Heavypaint’s developement almost since it’s conception! I like to be up to date with things like these.
Right now I only miss the texture movement, but I definitely am weighing my options as to what I could add that would benefit everyone. Texmovement is my priority mainly cause I know how it can benefit both a very digital way of painting ( eg. Razum’s brush packs ) and adding a semi-natural feeling, or even additional natural-feel jitter ( think MattyB’s Flora 1-2, or Happyyuu’s art ). I do miss the per-stroke HSL jitter a bit; not sure how this works in Krita, but I only found a Plugin that does this but it doesn’t seem like there’s native support for it. Definitely food for thought & a good point to start some research!
I think per stroke jitter is called Fuzzy Stroke, it uses whatever dynamics you set for each stroke, Fuzzy dab is the regular colour jitter that affects the colours inside the brushtroke. But theres something weird with it, mainly in Saturation and Value jitter where it’s hard to make a brushtroke that iniates with 100% white, it most probably is something you set it on the curves for that dynamics but it’s REALLY hard to make adjustments with curves. I think the Brusheditor should use proper sliders instead of curves as default and then have an option for deeper customization using curves.
I definitely think there’s something to be said about sliders VS curves; I guess I could look into the UI since I think it’d be possible to use sliders [while the actual curves are still being used, but hidden behind said sliders]. I’ve only barely touched the surface of the brush engine at the moment, but I’ve been trying to see how some UI tweaks could be implemented while I’m already in the vague area of brushes. Fuzzy stroke also does not seem like it works the way I’d like it too, but it’s been an exhausting autumn so I didn’t have time to do more research yet.