Grass Tutorial (Now updated for 2.46)

(Imperitor) #1

Grass Tutorial (Now updated for 2.46)

I had some people ask me how to make grass so I thought I’d write a tutorial on it.
Remember that this grass may need to be tweaked for different applications. So don’t be afraid to play around with the settings.

OK let’s start.

  • Add a plane
  • Object button
  • Particle button
  • Click the new button

Now let’s make some grass.

  • First change the type of partial system to ‘Hair’.
  • Up the amount to 6000. But this might need to be changed depending on the size of your plane. Mine was about twice the size of the default plane.
  • Click the rand and even buttons. This will make the grass random but evenly spaced.

  • Change the normal velocity to .080, this pushes the particles up making them look like grass growing up out of the ground.
  • Change the random velocity to .050, this adds some randomness to the length and direction since grass is obviously not perfect.
  • Make the acceleration in the Z direction -.01, this will simulate some gravity pulling the grass down.
  • If you want the plane underneath the grass to be rendered click the ‘Emitter’ button.
Now it’s starting to look like grass. Your render (F12) should look something like the picture below. If it doesn’t, go back and make sure every thing is set up right.

Now for some texture.
I’m assuming you can add a material and name it grass, so do it. This is the part that will make our grass look very real.

The important stuff is the color, the strand settings, and the spec and hardness. Make sure the get the strand settings correct, they will make the blades of grass thick at the bottom and thin at the top. To edit these settings hit the strand button and the options will pop up.

One other thing to think about is the ‘Use Tangent Shading’ button at the top of the strands menu. If you turn this off light hitting the back of each blade of grass will not transmit through it. You may want it on or off depending on your scene. I’ll leave it on. Here is an example with the light placed directly above the plane of grass:
With Tangent Shading
Without Tangent Shading

Now grass isn’t all the same color, so we need some texture. I would use one of these:

Add it and leave all the setting the way they are except change the color to .75
Here’s an instructional picture to help you if you need it.

And that’s it!

Common Problems & Tips:

  • PUT SOME BUMPS! Grass is rarely on a flat surface. It looks way better if you subdivide your plane and add some small bumps and dips.

  • If you place your light directly above the grass the strands appear very dark. Move your light to the side so that it hits the plane from an angle.

  • If your grass looks very bright or white in some spots try turning down the spec and turning up the hardness. If its too dark don’t turn up the spec, just make the color brighter.

  • For uneven grass turn off the ‘even’ button in the particles menu. When the ‘even’ button is turned off blender will divide up the particles and give each face of the mesh an equal amount. So if your mesh has a lot of faces in a small area the grass will be denser. For better and more controlled uneven grass I suggest weight painting.

Weight Paint:

To weight paint your grass do the following:

  • While in edit mode select all the vertex’s on your mesh (the one with the particles) then go to the editing tab (F9). On the far left it should say ‘vertex groups’. Under that are a few buttons, click the 'new button and the ‘assign’ button. NOTE: There are TWO new and assign buttons, the smaller one on the left is the one we want. Also note that the name of the vertex group is ‘Group’. Feel free to change the name but make sure you type that name in all of the places I say to type ‘Group’.
  • Now head back to the partical buttons and look at the very bottom of the ‘Extras’ tab. Here under the vertex group title you can select velocity, density, length, etc. and assign a vertex group to each one. velocity will control the length of your grass and density will control the density of your grass (duh).

Now you can go to weight paint mode and paint those strands onto the ground!

Curve Guides:

To make grass that always grows ‘up’ instead of following the normals of your mesh I suggest using curve guides. Here’s how:

  • Set your particle ‘normal’ velocity to 0.
  • Add a bezier curve. Go to edit mode and make the curve into a straight line, and align it with the z-axis.
  • Now go to the fields menu in the physics buttons and change the field to ‘curve guide’. Your particles should now mimic the shape and size of the curve. If they don’t change go make to the partials menu and hit the ‘RecalcAll’ button.
  • Lastly, you can change the size and direction of that bezier curve to point the grass in any direction and make it and length.

If you really want to you can make the curve any shape you wish and the strands will make that shape. This is a common technique for making hair but can be applied to grass.

If you have anymore questions or problems feel free to ask them on this thread or private message me.
And don’t be afraid to post your renders here. Half the fun of making a tutorial is seeing what people are able to create with what they have learned.
Here’s what I came up with:

(vitaliy) #2

nise and simple tut, good 1

(chuzzy06) #3

just in time for my new project thanks

(norbykov) #4

Now we just need one where you can animate the grass, and where the grass interacts with other objects. :slight_smile:

But even without that, it’s useful, thanks.

(charliemcf) #5

nice and simple, ill use a varation of it on my airport!

heres a modified result:

click to enlarge


(Orinoco) #6

Got some crits,though.
First place you lost me was here:

Copy the setting shown below. Make sure the get the strand settings correct, they will make the blades of grass thick at the bottom and thin at the top.

Here’s my materials panel (2.42a) Where’s the Use Tangent Shading box? To make a too long story short, I eventually found out that pressing the Strands button makes that box show up. A few well chosen words such as

Press the Strands button and copy the setting shown below…
would have saved a lot of time and aggravation. Its a tutorial. You’ll get a lot of newcomers reading this who won’t know to try that.

Not a crit, but I didn’t see much point in using the texture image, when a big clouds texture set to hack the color with brown does the same job.

Back to crits again. When I pressed the mesh button

go back and click the ‘mesh’ button

the bloody plane lit up like a christmas tree and the render looked like… well, it did not look good at all. Same thing happened when I added a new plane and copied the grass material.

Maybe this is because I didn’t use the image texture? At any rate, I fixed it by making the plane’s material single user and turning the reflectivity in the shader way down. WAY down. Like below 0.2. Here’s the result.

Like I say, good tutorial. A bad one is one I can’t finish with good results, and, as you can see, the results are good. Do you want to write a GREAT tutorial? Keep the same level of detail at the end as you had in the beginning.

(apfelbeißer) #7

thanx :slight_smile:
a tutorial which i understand :wink:

but give it any ways to animate the grass maybe in wind?


(Imperitor) #8

I don’t do much animating so I can’t help you there.

Orinoco: Sorry I made this with the older version of blender so I thought it would be easy to find with my picture. I didn’t anticipate them moving it on me. As for the brightness you probably didn’t turn the color dark enough (the texture makes it darker but isn’t necessary), or maybe you put a lamp too close.

(Orinoco) #9

Possibly. Probably, even. Want to turn a Great tutorial into an Outstanding one? Put in some sidebars on how to diagnose and fix common errors.

(Imperitor) #10

I added 2 common problem solutions. If there are any other problems people are having you can post them and I’ll try to help.

(sprinkles) #11

Great tut. I have one question, is there a way to make certain places on the plane less dense than others?

(Imperitor) #12

Yes there is. Weight painting is the best method.

(timeless) #13

to animate the wind

I was just googling and experimenting, this is what i came up with:
(warning, i have know idea what half this stuff is, but i just played around and got it to work by doing what i am outlining here, good luck!)

  1. add an empty (in obj mode, space > empty) and move it to the side of your grass

  2. physics button, field type set to ‘wind’

  3. rotate empty to where z is pointing in the direction you want the wind to blow

  4. play with strength, that’s how much wind. here, you can do a still render of some wind effecting your grass, for animation, continue reading

  5. open an ipo window with the empty selected

  6. click ‘FStreng’, hit N and click ‘add driver’

  7. hit i, click the message about ‘one-to-one’ whatever

  8. zoom out to where you have more range to play with, tab into edit mode of the curve (the slanted line that appeared), click ‘remove driver’ (i don’t know why this works, but it does) and move the nodes and handles around.

  9. to add more keyframes, go to the frame while in edit mode of the curve and hit i

i haven’t rendered yet, but it looks good with alt-a, i’ll render soon but i wanted to hurry up and get this post out to you guys

(timeless) #14

i can’t seem to get any waves of movement in the grass, any one else have better luck? all my blades move the exact same way, no ripples or waves

(Cuby) #15

Wow, thats a really good tutorial. I’ve been trying to create effective looking grass for ages now but not any more!


(osten) #16

I love it man, thanks a lot. No crits, From the point where i was done with your tutorial the experimenting got much better. For understanding particles etc!

(Hugh Manatee) #17

What if you put multiple empties in your grass and have them blow at different times? where does the “wind” start is it a endless line that follows along the empty or does it start AT the empty like a fan?

(timeless) #18

it seems to be an endless line along where the empty is, all the blades move together in the same direction from the general direction of the empty. you don’t even have to point it at the grass, it can be pointed perpendicular to the grass and the blades will still bend in the direction of the wind.

(Imperitor) #19

I looked around and this is what I think would be the best way to animate grass.

  1. make some grass (duh)
  2. add an empty
  3. go to the object menu(F7) and change the field to wind.
  4. change the strength to about .8 - 2 depending on how strong you want this wind.
  5. change the fall-off value to 1 - 1.5 This makes the field only affect a small area around the empty.
  6. Add some key frames and make the empty fly past the grass. I suggest a linear IPO curve for better wind.

Now you have a very small ripple in the grass. For realistic animation I would add may empties and make then fly by at slightly different angles to create a constant rippling wind effect.

(timeless) #20



thanks for the tip!