I've been looking at some screenshots from games like Rocket League and FIFA:

Rocket League

Rocket League


and I started wondering one would achieve the short-cut grass effect.

Is it a shader? Is it actual geometry? Or just textured quads? If anyone could point me in a direction, that would be greatly appreciated.

  • 5
    \$\begingroup\$ +1, very interesting question. I would imagine that it's probably a shader (geometry would likely cause lag, textured quads would probably look much flatter) but I'm not completely sure. \$\endgroup\$ – Superdoggy Jul 3 '15 at 3:34
  • 2
    \$\begingroup\$ In software renderers its usually done with displacement mapping and a lot of vertices. After taking a closer look it seems that they use this here too, with very clever LOD. I guess displacement shaders are in use most likely. \$\endgroup\$ – akaltar Jul 5 '15 at 10:01
  • \$\begingroup\$ I think they are using parallax mapping. I'm pretty sure about that in the Rocket League screenshots. \$\endgroup\$ – Tara Jul 5 '15 at 21:06
  • \$\begingroup\$ @akaltar yeah I think you're right about that. And however they did the LOD it's 100% seamless \$\endgroup\$ – Daniel Holst Jul 6 '15 at 10:02
  • \$\begingroup\$ I'm gonna attempt to recreate this using shaders and tessellation. \$\endgroup\$ – Daniel Holst Jul 6 '15 at 10:02

You might want to look into fur shading technique. This is what I would use for this type of grass, since the shorter the grass is the better the performance (less layers).
Basically it works by layering the same surface multiple times in small increments: few layers

enter image description here

You can also change the horizontal offset to make the grass look bent.

  • \$\begingroup\$ that's quite interesting so that I think I could suggest to go deep into it starting with this article \$\endgroup\$ – Leggy7 Jul 24 '15 at 12:48

It is most likely a shader that uses Parallax Occlusion Mapping, which uses normal map to "fake" depth and shadows in a texture. See HERE for examples.

Edit: As @Leggy pointed out, it is perhaps more likely that it is displacement mapping since the foot seems to be going between the grass. Anyway, it is some sort of height mapping shader :)

  • \$\begingroup\$ I don't think so, because in that case the foot would not apear behind the leaves. Displacement mapping sounds to me the most probable way they did this \$\endgroup\$ – Leggy7 Jul 16 '15 at 14:59
  • \$\begingroup\$ I think that would be true if it wasn't short grass, where you can "lower the floor", and if i recall correctly, parallax mapping is faster to compute. But you might be right though, i'll edit my answer. \$\endgroup\$ – Bluk Jul 16 '15 at 15:45
  • 2
    \$\begingroup\$ You can use parallax occlusion mapping and write to the depth buffer to occlude the foot and that is most likely the technique being used. The Uber shader does that have a look at the downloadable demo. assetstore.unity3d.com/en/#!/content/39959 \$\endgroup\$ – Seph Sep 10 '15 at 16:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.