Procedural Stylized Rock Modeling

rocks

Most of the stuff we do at my work is very stylized, which takes quite a bit of adjustment since I’m a realism nut. The only hard thing about the work I do there is getting simple things to look good. With my personal work it’s easy, just add detail and people love it! But learning to make simple things appealing is a very valuable skill, whether you like realism or not.

Lately I’ve been modeling lots of rocks and some terrain and I thought I’d share my workflow a bit.

Modeling a realistic rock is easy. Just subdivide the crap out of it and add a displacement modifier.

2013-04-27_23-30-44But stylizing them doesn’t really come natural to me.

So after half a day or so of playing, I came up with a pretty procedural solution.

rock_anim

  • Start out with an Icosphere so that we have uniform triangles.
  • Add a displacement modifier that uses global coordinates and RGB to XYZ displacement. This is so that we can just duplicate the object and get as many randomly shaped rocks as we like just by moving them around. Remember to choose “Color” mode in the cloud texture.
  • Add another displacement (this time just along the normals and local coordinates are fine) just to give some rough detail to the mesh. I also added a subsurf modifier at the top of the stack to get some more detail.
  • Add a Decimate modifier and reduce the collapse Ratio until you’ve killed all the topology. The more random the triangles appear, the better.
  • Now add another Decimate modifier, this time switch it to Planar mode and increase the angle to about 25 degrees. This is where that screwed up topology from the previous modifier is handy – a lack of any pattern or quads makes this Planar decimation produce some nice geometric shapes. Also check “All Boundaries” to make even better geometric shapes.
  • Finally add an Edge Split modifier (or a bevel if it’s for a close-up) and it’s done!

Remember that since we used global coordinates for the first displacement to get the main shape of the rock, we just need to move it (or use an array modifier) to get a differently shaped rock!

rock_var_anim

Rocks are easy though, cliffs and other sorts of terrain require a bit of manual labour.

However, I’m not a fan of manual labour and still have some procedural tricks up my sleeve!

Cue the knife tool.

knifed

I made some fairly random cuts both vertically and horizontally to create some slate-like bits, and hit ‘Z’ to enable ‘Cut Through’ mode of the knife tool. Do this a couple times and you’ll end up with some pretty scary topology. Which is a good thing. Then I hacked at it with Proportional Edit mode in linear falloff to skew some of the shelves.

Now just add the same modifiers as with the rocks (though go easy on the big displacement) and you get a nice stylized cliff face.cliff