1
$\begingroup$

Hopefully the title wasn't too confusing. Basically, I want to know if it's possible to use my own texture, such as paint brush strokes, to break up the smooth gradient of the UV coordinates texture into flat shapes and splotches. The voronoi node's position output does something similar, but I want the end result to be more hand-painted looking, so I can use these coordinates to map any image texture to look hand painted. I've included one of the paint brush stroke textures I've made to hopefully made it clearer what it is I'm trying to achieve.

PS: One of the easiest methods I've seen and tried is just mixing/overlaying the texture on top of the uv coordinates. However, this still keeps the smooth gradient within the paint strokes, which means the UV texture just shifts the image texture around, instead of turning it into flat colors.

Edit: I've added another example of what I want to achieve, to hopefully clarify what I'm trying to do.

enter image description here

enter image description here

enter image description here

$\endgroup$
2
  • $\begingroup$ Are you good with python? I think shaders are not good for this task, but there is something you can do with the paint that makes it suitable (I'm guessing you generated this paint with python). If you could transform each color island into a coordinate -- X, Y -- being zero bottom left and one top right, it would fit the task perfectly. (Make R=X, G=Y, B=0) -- I think it's way easier to do this outside blender because shaders don't really work on "regions", they work on indivitual locations. $\endgroup$ Commented Nov 17 at 12:08
  • $\begingroup$ I don't know any python beyond the Godot branch of it lmao. The paint texture was made by hand in photoshop using a brush with 100% color, saturation and brightness variance per stroke. But yeah I do think this might be outside of shaders. I've been considering doing this more as an overlay with each stroke generated like particles. $\endgroup$ Commented Nov 17 at 12:15

2 Answers 2

2
$\begingroup$

I have this method in mind. Need to experiment with Vector input

enter image description here

$\endgroup$
1
$\begingroup$

It's possible, if you use each color as a specific displacement of the mapping.

But you would need to treat the granularity of the image first, it's too noisy and creates ugly transitions. (Shaders are not suited for this, you'd need an image editing software)

There are many ways of doing this, and you're free to explore, I decided to:

  • Snapped the colors to increments of 0.2 (we want some steady regions)
  • Used R and G as X and Y displacements
    • Multiplied them by 10 to make the displacement more evident
  • Used B as rotation in Z (multiplied by 2*pi for full turns)
    Paint mapping
$\endgroup$
5
  • $\begingroup$ The problem is, this just shifts around the checker texture. What I want is for each of the paint strokes to be a flat color on the uv coordinates so that the final texture is flat colored, rather than a section of the regular texture. $\endgroup$ Commented Nov 16 at 22:46
  • $\begingroup$ Well, just add the paint texture regularly or add it with a mix color. $\endgroup$ Commented Nov 16 at 23:06
  • $\begingroup$ I can't just add it, because the smooth gradient of the regular UV will still be on top of the paint texture. $\endgroup$ Commented Nov 16 at 23:22
  • 1
    $\begingroup$ So, let me see if I understand it: 1 - you "don't" want the colors of the "painting". // 2- You want the colors of the other texture // 3 - You want to eliminate the color gradients of the other texture inside each area of the paint texture (this kills wood texture, for instance), is that it? $\endgroup$ Commented Nov 16 at 23:38
  • $\begingroup$ Yes, that’s it. The colours of the paint texture are just so I can get different variation maps with r,g and b. I still want the Color’s of the final texture this uv plugs into, but flattened into paint strokes, which means the uv coordinates also has to be flat coloured. $\endgroup$ Commented Nov 17 at 10:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .