Photographing Grass

So, this was something very different for me.  The last time I was a part of the 3D world, I was still shooting film.  Digital cameras weren’t really that great, and online texture libraries were often prohibitively expensive for personal follies (at least if you wanted imagery of any kind of decent quality).

Yesterday, however, I spent the afternoon in the surprisingly glorious sunshine (It got to 19 degrees yesterday! in England! in October!) photographing blades of grass, leaves and various other bits and bobs in order to start compiling my own texture libraries for Blender and other 3D applications.


Ok, so “What the hell can you do with photos of blades of grass?” I hear you cry.  Well, you can turn them into actual 3D models of grass!

Impressive, huh?  It sounds a lot less impressive than it actually is, but for creating realistic looking landscape scenes in CG, I’ve found that this method seems to be the most reliable way of creating believable environments.

So, our journey begins in Photoshop, where we tweak the contrast & colour, then cut out the leaf from its background so you end up with a PNG file that has transparency around the edge of the leaf.


I actually ended up exporting three files for each leaf.  One being the leaf itself with a black background, one black & white image that can be used as a luma matte, and the leaf with a transparent background.  This gives me options for multiple applications, including those that don’t directly support PNG transparency.

import_dialogueNext we import the transparent PNG into Blender.  You will want to make sure you have enabled the Import Images as Planes plugin, and that you’re using the cycles render engine.

You will need to check a couple of options when you import the image.  Mainly that you tell it that there’s an alpha channel in the image, and that it should setup the material to reflect that.  Otherwise, you may have to do some tricky node setups on your material in order to make the transparency work.

Once that’s done, we subdivide the plane a couple of times so we can give the leaf a bit of a bend, duplicate it a few times, rotate them around and adjust them so they’re all a bit different from each other, and when we’ve got 7 or 8 blades clumped together, CTRL+J to merge them all into a single object.


Then just setup a particle emitter on the surface of a plane and have it emit 30-40 thousand of the above object, and you’ve got a field of grass!


Or, just apply it to a few faces of an object (yes, I know, this one’s kind of silly).


I still have a way to go with getting the texture perfect.

It doesn’t really support any kind of realistic backlighting or translucency yet, and I need to create clumps from multiple different blades of grass so it’s not quite so uniform, oh, and then I need to make some weeds, because nobody’s lawn is THAT perfect.

Once I’ve got things a bit more developed, I’ll record a quick video tutorial, but for now, at least, my first test was a success!

Edit 9/10/2015: A couple of image updates.  After playing around with the specularity and translucency a bit, I think I’ve got something that resembles realistic grass a little more closely.

So, first up, we have the newly rendered head.


You can see now that some light passes through the blades of grass, picks up a bit of the colour, and illuminates the blades next to it a little, to help fill in the shadow detail.

This also means we can now backlight the hair, and see the light shining through it, such as from the rim light we have in the scene above hitting her cheek, neck and shoulder.

It also has specular highlights, which is what’s giving some of the tips a few lighter bits.

And now something in a more appropriate setting.  The background is simply a photo I shot a couple of years ago in the Lake District, and I haven’t messed with the dirt path texture at all, but the grass is definitely getting there.


Now I just need to randomise the grass model & texture a little bit, and throw some weeds in there!