Procedural Hexagon Texture Script

Need a script that works similar to the ‘brick’ texture, except uses hexagons instead. I need to be able to modify the color and tiling of the hexagons, as well as the color and thickness of their sides.

I have looked around, and found a script that’s similar to what I want… But is not quite it, as it doesn’t let me modify the side thickness, and has a weird displacement output.

Any ideas?

I wrote that script so i might be able to help :eyebrowlift2:

giving the sides a thickness and a different color is not a problem i think but can you explain a bit what you mean by ‘weird displacement’? The shader’s Distance output is the distance to the center of the hexagonal shell. I assume you want someting like a displacement of the sides?

And i don’t understand ‘controlling the tiling’ , there’s only one way to tile a plane with hexagons so that’s probably not what you mean :wink:

Alright. First of all, I was just about to contact you through that blenderthings website. Guess you found me first :o As for the distance output, I think someone mentioned it earlier on the forums - either we don’t know how to use it (@_@ ), or it’s the script itself, but the fact remains - that displacement only goes inwards (aka, no way to make the 'gons pop out). I tried plugging It through a color ramp/curves, but it only allowed me to reduce the effect, not invert it… huh, now that I’m typing this out on my tablet, I realize I haven’t tried it all… going to have to get at it tmrrw :smiley:
Nevertheless, it would be great if you clarified that one a bit for us. As for tiling, i simply meant ‘controlling’ (same thing the ‘mapping’ node does, except built into the script, for easier use).

Thanks for responding. Much appretiated :smiley:

OK, I made a new version that also calculates a distance to the nearest edge. I documented it in this article (includes link to GitHub).

As for the displacement: the distance value is the distance to the center. So its zero at the center and gets larger towards the edges. The simplest way to invert that is to subtract from 1 (and then soften the falloff with a power node):

In the image the light comes from the lower right (and doesn’t use true displacement).

That is done with the following noodle (uses the new shader):

Scaling done with a vector mapping node. I might add that to the shader itself later on.


– Michel.

Thank you so much :slight_smile: You simply must post it in the ‘Released Scripts’ section. You’ll be surprised how many people want a texture like this :wink: