3

Blend file is 48mb, so I had to use another file sharing site: https://file.io/710ckLvggu5h

I have modeled a speedcube and I'm going to make the stickers damaged, but I had an idea and was wondering if it's possible to do. Keep in mind that the stickers are separate objects from the speedcube itself. So my idea I was wondering is can I use nodes to connect to the alpha slot on the principle shader to make the edge of the stickers on the cube look as if it's been chipped away like the images below. I figured I could just slide a scale or change a value to make the edge more damaged or less damaged depending on what I had in mind for my scene, or just have no damage to make the speedcube look like it's brand new. The damage would be random, cause not all stickers will have the same amount of chipped edges. As you can see below, the white and blue side is more damaged and only in certain areas, and the green side of the cube has only a few small damaged spots. If anyone can help me out, that would be very helpful.

I could model each sticker with random damage to it myself, I just had the idea that maybe I could make the damage disappear with the alpha slot and it could use this trick on other speedcube models also.

enter image description here enter image description here enter image description here

Update: below was a link I was sent and here are my results. As you can see, the pointiness doesn't seam to work for me. And no, I'm not using eevee.

enter image description here

Update: so it's obviously working, but it's not doing the corners of the cube. I tested it on the monkey and you can see that the colors from the previous test effected more of the pointiness on the monkey, but no matter what I do I can't get the corners to be effects on the cube while leaving 90% of the face alone.

enter image description here

updated test: enter image description here

AlexWillis21
  • 789
  • 3
  • 15
  • 1
    https://blender.stackexchange.com/questions/55991/blurring-feathering-a-procedural-pointiness-mask – Timaroberts Feb 25 '22 at 02:41
  • @Timaroberts none of that worked out for me. I followed the steps and did everything except for the glossy and diffuse nodes, I instead plugged it into the principle color shader to see if it will work and nothing happened no mater what I did. The texture didn't stick to the edge of the box, instead it covered the faces and didn't really do the pointiness of the test cube. – AlexWillis21 Feb 25 '22 at 17:17
  • If the stickers are planes pointiness might not behave. Small solidify mod on the stickers? – Allen Simpson Feb 25 '22 at 17:50
  • @AllenSimpson What? Are you telling me to put a solidify modifier on the stickers? I don't have to do that because they already have thickness to it. I posted a simple file of my stickers and the box and monkey above. It is like 48mb, so I couldn't use the typical blend file sharing site. – AlexWillis21 Feb 25 '22 at 18:21
  • Ok, sorry. I was just on break at work and dropped a comment – Allen Simpson Feb 25 '22 at 18:33
  • But I do remember weird behavior from pointiness sometimes. I usually use the bevel node, but you have to give it some samples before the results get looking good – Allen Simpson Feb 25 '22 at 18:35
  • 1
    Bevel node into math -> absolute value should give a usable mask – Allen Simpson Feb 25 '22 at 18:37

2 Answers2

3

Pointiness interpolates the values from the edges with angles across the entire face.

So in this case, all the edges on the top face are going to have the same values. Pointiness needs a more complex mesh to divide up the value. A Subdivision Surface with a couple of levels set to Simple (not affecting vert positions) should do the trick.

enter image description here

VS

enter image description here

But I usually use the Bevel node. Vector Math -> Absolute Value should give a usable black and white mask.

enter image description here

Allen Simpson
  • 13,493
  • 2
  • 15
  • 57
  • I don't understand what I'm doing wrong. I just added a new photo, and mine doesn't look anything like yours. I did everything you showed, and I still can't get the edge to look like yours. I was able to get the pointiness to work now after subdividing it. But when I switch to the bevel node, nothing looks right. – AlexWillis21 Feb 25 '22 at 20:04
  • @AlexWillis21 I don't think math -> absolute should be giving that result, but regardless I messed up on the last image, it should be Vector Math -> Absolute. You can attach a Texture Coordinate node and pull the normal data into the bevel node if needed. – Allen Simpson Feb 25 '22 at 23:27
3

This suggestion is maybe a bit premature, it depends on Blender 3.1b +.

With Geometry Nodes, you can make various aspects of the topology available to shaders via an attribute. In this case, we can pick out boundary edges of a planar shape, and capture them as an interpolated field, like a weight map:

enter image description here

A bit of care has to be taken with the topology of your stickers, there should be some kind of rim of faces that interpolates nicely. Here, I've done a bit of subdivision in the GN tree to smooth the field, but it could equally be done outside.

The attribute is stashed as bdry in the modifier, and picked up by a shader tree:

enter image description here

Your shader might be completely different.. the only point, here, is that there is a mask available for use.. 0 at the edges of the geometry, and 1 in the interior, which can be used to modulate noise, and/or, as here, normals.

enter image description here

Robin Betts
  • 76,260
  • 8
  • 77
  • 190
  • 1
    It looks good, but I don't know if this will work because I don't know how to make the desired sticker shaped I need with geometry nodes. Also, I can't find the edge neighbor node. I've checked all the red nodes and none of them look like yours. Also, my capture attribute node doesn't have float as an option in the first drop-down menu. The float is in the second drop-down menu. – AlexWillis21 Feb 25 '22 at 22:41
  • Hi @AlexWillis21 .. as suggested at the beginning of this answer, this does depend on using at least Blender 3.1 beta, so indeed, it may not suit you, if you don't want to go there. Any topology will do, so long as there is a margin between boundary vertices and the rest. You could just fill your basic shape, and I inset the n-gon to get that. If you don't mind using 3.1, I'll happily share this file – Robin Betts Feb 26 '22 at 06:07