3
$\begingroup$

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

$\endgroup$
7
  • 1
    $\begingroup$ blender.stackexchange.com/questions/55991/… $\endgroup$
    – Timaroberts
    Commented Feb 25, 2022 at 2:41
  • $\begingroup$ @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. $\endgroup$ Commented Feb 25, 2022 at 17:17
  • $\begingroup$ If the stickers are planes pointiness might not behave. Small solidify mod on the stickers? $\endgroup$ Commented Feb 25, 2022 at 17:50
  • $\begingroup$ @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. $\endgroup$ Commented Feb 25, 2022 at 18:21
  • 1
    $\begingroup$ Bevel node into math -> absolute value should give a usable mask $\endgroup$ Commented Feb 25, 2022 at 18:37

2 Answers 2

3
$\begingroup$

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

$\endgroup$
2
  • 1
    $\begingroup$ 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. $\endgroup$ Commented Feb 25, 2022 at 22:41
  • $\begingroup$ 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 $\endgroup$
    – Robin Betts
    Commented Feb 26, 2022 at 6:07
3
$\begingroup$

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

$\endgroup$
2
  • $\begingroup$ 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. $\endgroup$ Commented Feb 25, 2022 at 20:04
  • $\begingroup$ @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. $\endgroup$ Commented Feb 25, 2022 at 23:27

You must log in to answer this question.

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