How to model realistic-looking 3D rocks and stones

The need to create realistic and believable natural elements for scenes is becoming more and more common. Rocks and stones might seem like the easiest aspects of a natural scene to reproduce but in reality they are every bit as complex as plants and trees, just in a different way.

There are plug-ins available that will produce a half-decent looking rock at the click of a mouse. However it really isn't too difficult to create one for yourself, especially with the powerful noise tools found in some sculpting applications.

For this example we will use ZBrush for the whole process but you could use any modelling app to build your initial mesh, so if you want to add fine surface details such as cement or brick, then you can use the same tips to do so.

  • You can find more useful ZBrush tutorials here

Key to success

How to create realistic 3D rocks and stones

You can model elsewhere in ZBrush but I chose to use a Dynamesh and retopology to create a nice irregular base quickly

The key to success here is to understand how the Noise Curve works in ZBrush. This surface/noise tool allows you to create practically limitless types of surface detail – from skin pores to lava flows – and they key is in the relationship between the curve itself and the scale.

The best way I can describe the curve is to compare it to the curves in Photoshop but the points along the curve relate not to a tone, but to height. This means that if you click on the curve you can drag the newly formed point up or down and that will carry over to the surface, where the corresponding area of the noise will raise up from the surface, or cut down into it.

How to create realistic 3D rocks and stones

Be aware of the scale as you adjust the curve to create the noise. Try creating plateaus by placing points close together to square off the curve

So, after a little experimentation you should be able to get small scale, regular noise, which can be great for skin pores; and rough noise, which is perfect for rocks. Using the curve you can also add 'divots' into the noise, so you have a smooth surface dotted with random pockmarks or craters.

The power of this tool is obvious after just a few minutes of playing with the noises themselves but you can take it further using masks. You can paint a mask onto your mesh and then have noise applied only to the masked areas. I like to create layers for each masked area so that I can add noises to specific parts of my geometry but retain the ability to adjust each noise type as necessary, at any point in the process.

This means that if for some reason a face has too much stubble, I don't need to smooth it out. I can simply reduce the strength of the stubble layer, without destroying the noise information. Quite often a model will go through multiple revisions, so this is a massive timesaver.

How to create realistic 3D rocks and stones

You can adjust the strength and positioning of the noise with the offset sliders. When satisfied with the result, hit OK and it's ready for export

Back to working with stones and rocks. The first thing you need to decide is the type of rock you want to create, as this will have an immediate impact on the noise needed for the scene. Your best bet here is to do a little research and spend some time with Google images, checking out examples. One step better than that is to grab a physical sample, which will then allow you to measure the scale of the details compared to the object. If possible, this is worth doing for total accuracy.

Once you get used to the mechanics of creating the noise it's quite a simple process: the three-step section to the right details it. Once done you can either bake it into your usual ZBrush displacement or normal maps or you could use decimation master to reduce your geometry and export a .OBJ, which is what I did for the model in the main render.

Words: Rob Redman

Rob Redman is 3D World’s technical editor and a 3D artist and trainer. This article originally appeared in 3D World issue 175.