Can i make gravel road(pebble) by procedural texture?

like this?

There are few free textures
Is it impossible to create pebbles with a procedural texture?

I generate pebbles as particles
But it is so heavy

I believe it can be done.

I would start like this:

  • create a procedural texture with some (non-overlapping pebbles)
  • make this texture create an alpha mask in addition (to mask out places without any pebbles)
  • use multiple instances of that texture and overlay them according to the alpha mask

Here is a (proof-of-principle) example, using a remapped voronoi texture to make the pebbles. It’s just hacked together hurriedly for you, so see it as a point to get started, not as the best one can do.

pebbles.blend (648.9 KB)

Issues / suggestions for improvement:

  • The voronoi texture probably is not optimal, as it creates a very large range of pebble sizes. There certainly is a better method. Using 2D voronoi should be better, but will only work with UV maps.
  • There are differently-colored rims around the pebbles visible. The reason for this is that the height maps of the pebble layers are alpha-masked before generated bump normals. The bump node (because of finite approximation of gradients) produces these artifacts then. It should be gone by using a bump node for each individial pebble layer and alpha-mask these.
  • As is, the texture lacks depth due to ignoring occlusion between pebble layers. Can’t come up with a fix currently. Maybe someone else has a suggestion.

An alternative would be a semi-procedural texture, overlaying copies of an image texture (or better multiple variations) like this with random positions and rotations.


Really nice speed creation…bravo