grass animation


i am working on a film for a school project and am looking for some help creating the grass that we need for our film and getting it to react dynamically with characters and wind. what we have so far is a polygonal landmass with maya fur grass attached to the surface. we have created character collision rigs from collide spheres and cubes and are going to implement those react to effect a hair system in which the collisions from the character rigs will drive the maya fur grass. So here are the main points.

  1. For fairly large area maya fur works pretty well to create the grass we need however closeup shots of which there are only a few tend to not look as good as i would like them. I know grass can be created with paint fx and even just modeling it as well. Does anyone have a good recommendation of how to go about getting the grass to look good without adding an intense amount of render time.

  2. We are having trouble getting the collision rigs to effect the hair system in the way we would like it to. We want the grass to move as the characters walk through it as well as bend to the ground when the characters walk over it. The film takes place in a swamp so this is a pretty big technical aspect that needs to be worked out. If anyone has any addition information or suggestions on ways to improve what we are looking for a would really appreciate the help.

Thank you.


can we see some samples…

not sure about collisions but i did alot of RnD in paint effects and you can get good results (but not photorealistic renders) here is some results:


those look really good. not to worried about getting photorealistic results as our film doesnt have a photorealistic style, but rather more of a painterly/abstract style. Also the environment is a swamp so the grass isnt really supposed to be perfect like on a golf course.

how long did they take to render?

I am not too familiar with the paint fx tool in maya. any chance you could describe a little more in detail how you were able to achieve the look of your grass in those renders.

here are a couple of samples from our environment rendered at preview quality in mental ray. keep in mind that the bald spots are areas where there are trees and have been created by using a baldness map texture attached to the baldness attribute.

here are some samples:


paintFX are wonderful for what you want.

take a look here, this was just a 10min setup scene, basically I wanted to know how fast our renderfarm renders a parti_volume / animated trees&grass scene.

if you convert them to polygones with history on and put a mia_material shader network (twosided, translucency) over the grass you can make the blades look VERY realistic.



Very nice render mate :slight_smile:


Hi Markovits, your render result is amazing! A tutor or some tips would be very appreciated!


haha… there’s nothing special on my scene.

there are instanced paintFX trees with a MIA material shader for the leaves. I used opacity, specular, bump, diffuse and translucency(!) maps -> watch the Forest thread for tips & tricks

then I created a grass patch with paintFX (I think the windy wide preset, something like that) converted them also to polygones and instanced them over the field.
for the grass I used two MIA materials, both connected to a mib_twosided which is connected to the material shader slot of one of the MIA shading groups. both MIAs also use opacity, spec, bump, diffuse and translucency maps but different ones which simulate the back side of the grass blade.

for the animation I just activated the grass & tree wind turbulence in the paintFX tab under Tubes > Behaviour > Turbulence I think.



alright so im working with paint fx now and getting myself familiar with the tools. I am having another problem now. Basically when I paint the grass in the scene and there are objects like plants I get an ugly effect like this:

Does anyone know how to get the grass to not overlap the geometry?


they didn’t take too long to render, it all depends on your mia material reflection samples.
start with a big brush and high density values make a straight line or a big circle to get a covered surface of 10meteres*10meters, tune your blades (your pfx branches) so they look like grass. make 2 big patches for more control, one clean straight and another more chaotic (you give it a high random value in the forces section).
good luck!


Thanks Markovits for your tips, I’ll have a try. I used to render grass use Shave but never achieve such a realistic look. After seeing your render result I can’t wait to try with PaintEffects, thanks! :beer:


Still haven’t found a solution to the above issue I described. Just reposting in hopes someone who knows how to fix it see this. Thanks.


PFX doesnt “see” the plant.
So just duplicate your ground,cut out the section where the base of the plant stands and paint on that surface then hide it.


royterr i appreciate your suggestion however, I don’t believe that will solve the problem. The problem is really when there are objects that overlap the grass as opposed to objects being directly on top of the grass. I tried to make it clear in the following two picture. There must be a way to have geometry override paint fx or something like that. I still need help with this issue so if anyone has any additional suggestions please shoot them my way. Thanks again.


Nowadays nobody uses paint effects in their primitive state (rendered as brushes) so always convert to polygons once you are satisfied (you are accoutering a view port Zfight issue it should render fine).


First off I’d like to thank you all for your help so far. I am learning a lot about paint effects and am getting some really nice results. I am still having a problem though when converting to poly’s. Is there a way to convert to poly’s where it still keeps the look of the grass before it was converted (paint effects) the same? The following images shows a patch of grass that was converted and the undesirable outcome that I am talking about.


Pfx to poly tries to construct a shading network that captures the look of the brush. But it does not work well for all brushes. In some cases you might need to output color per vertex and use a color per vert texture in mental ray to get a good match.

However I would recommend just assigning a shader from scratch and setting up good attributes. The pfx to poly tends to result in too much translucence for some renders, relying on shadowing to get the detail. In some cases the grass brushes have fake shadowing based on distance to the ground. Just ramping the color to darker near the base with a texture can do much the same effect.



thanks so much ill give that a try


does anyone know a good way to incorporate foot stomps from characters into the grass? i have been experimenting with the line modifier, but I was wondering if there was a better way.


The line modifier method is the simplest I know of… just parent a modifier to each foot. On the modifier make the brush scale 1 and adjust the force, dropoff and shape attributes for the best effect. This is non-dynamic( i.e. one can scrub frame without simulating ). For a more accurate dynamic method you could potentially create maya hair curves to control the grass, either colliding with the boot mesh or using a collision constraint parented to the boot. One can apply the hair output curves as control curves on the grass and use curve follow on the brush, however a better setup is to use the hair system for the grass in the first place( with pfx output on the hair system ). ( you can use pfx to poly as before) The individual dynamic hairs can control clumps that look and render just as the grass looks on the pfx brushes, although it takes a bit of tweaking to get the right look. You need to assign a pfx brush to the hair system in order to get the flatness on the tubes, although most of the other attributes you need would be on the hair system.



characters walking on grass are so common in productions.
It would be really cool to have a tutorial one day.
jgreen827, could you post a play blast with Duncan’s technique, i always wanted to see a clean solution for this in maya.