# How can I map a texture node, using a factor similar to pointiness, when the mesh edges are too rounded?

I'll try to clarify. I have a guitar body mesh.

I want the front & back to have a lighter wood texture.
I want the sides to have the same texture, but stained darker.

Here's the tricky part: the darkened wood texture should extend a short distance 'beyond' the sides, and into the front and back of the guitar. Here's a pic of what I mean:

Is there a node setup that lets me do this without texture painting?
I tried pointiness but it doesn't work, maybe because my mesh is a mess, or the edges are too rounded.

Here's where I'm at so far - I can target the sides by using a geometry node. Sort of like saying "apply the texture to faces parallel to the local Z axis". But you can see the issue - the green color doesn't bleed into the front and back, it strictly covers the side. The color ramp doesn't help. Is there some way to extend the green area a few inches onto the front+back faces?

I would use the normal output of the texture coordinate node and remap the values with a rgb curves node.

For this you need to have your model's normals pointing in a global direction. Say you modeled the body along the XY plane, so the normals of the part where the cord is (I don't know the technical term) points towards the Z direction.

So we will create a gradient from blackish to orange-ish along the mesh, depending on the value of the normal. A Z component of Z means black values, and a Z component of 1 (pointing UP) is more red.

We will add a noise texture to make it a little bit more believable, but I think you know how to do this already.

The node network :

Zoom on the "RGB curves" node :

Result :

• hey Gorgious, thanks for the idea. I messed around with your node setup, using separate XYZ... unfortunately, unless I misunderstand something, this seems to have the same problem as my own setup. Your setup definitely targets the sides and the bevelled edges. But I also need the texture to 'bleed' some distance along the XY plane (the front face and back face of the guitar). In your example, I would want the dark green to bleed several more inches/cm into the red area. May 11, 2020 at 15:38

If your object is high poly enough, you could try with Vertex Paint:

• Switch to Vertex Paint mode. It will automatically create a vertex paint group. Give it a name.

• Paint your object in black and white.

• Create an Input > Attribute node, in the Name field, type the vertex group you've created, plug its Color output into the Factor of a Mix Shader.

• cheers for this moonboots. I guess I have been avoiding vertex paint for too long, it's time I learned, and in the end it was pretty easy and looks ok. i.imgur.com/3YVyeR1.png I am still holding out in the hopes of some node setup that basically says "target the faces that aren't on the XY plane, and have the texture bleed into adjacent faces by [some specified distance]." May 11, 2020 at 15:45