Material bias for beveled edges

The material assigned to the edge geometry that is created by the Bevel modifier is split at the center. Is there a way to assigned the material of the adjacent face to all of the beveled edge? If not via the modifier, maybe vie Geometry Nodes?

It’s doable with GN, but kind of convoluted. You need to capture the attribute with the first GN modifier, then do Bevel, then assign material with GN after it.

bevel_material.blend (1021.4 KB)

1 Like

Looks interesting. Could you maybe tweak the nodes so that it works for the following situation?

*) The unbeveled cube has 3 materials.
*) The top face has material 1, all the vertical faces have material 2, the bottom face has material 3.
*) The bevel only runs between the top and the side respectively the bottom and the sides (see attached image).
*) The whole top bevel should have material 1 after the bevel. The whole bottom bevel should have material 3 after the bevel.

I’m not going to give you ready solution but I will give you couple hints.

You want to capture every beveled boundary between materials as a separate attribute. Kind of like on the image below.
Also GN have the ability to read vertex groups - the nodes with vertex_top and vertex_bottom are used here to access those.

You will need to add as many of those modules as many different material boundaries you have.
In the second GN modifier you will need to assign materials according to boolean logic - order of setting material with Set Material node matters.

You can use Boolean math node to include, exclude or perform operations on selections, same as you do with booleaning a mesh. In the previous blend file in the second GN modifier I used Not to invert selection for example.

1 Like

Thanks a lot. I will try to make it work based on your suggestuons.

1 Like

I just started to do it and there are couple more caveats to this. The screen shot I posted won’t give you the result. Give me a minute.

1 Like

Took me longer than I thought. There are probably easier methods to do it.
You need to separate bevels otherwise there there is a lot of boolean selection complexity that I wasn’t able to solve.

bevel_material.blend (1.1 MB)

2 Likes