Tutorial: Grass Creation for Games
Subscribe:  iCal  |  Google Calendar
Anaheim US   27, Aug — 30, Aug
SEATTLE US   30, Aug — 3, Sep
Vancouver CA   4, Sep — 7, Sep
Tokyo, Kanagawa JP   4, Sep — 7, Sep
Busan KR   5, Sep — 10, Sep
Latest comments

Great information, I will tweet to my friends to get them to check it out. keep it up. Thanks for sharing! If have a long time than visit to: atari breakout

Nice! thank you so much! Thank you for sharing. Your blog posts are more interesting and informative. I think there are many people like and visit it regularly, including me. --light novel--

by Ronn nguyen
13 min ago

It is a good and amazing article. Your information is very useful for me and for others. Thank you so much. __hotmail login__

Tutorial: Grass Creation for Games
28 April, 2018
Environment Art

Timothy Dries did a short and sweet tutorial, sharing his grass creation workflow.

1 Modeling the individual grass planes

Start out with a plane, add some subdivisions to give it some more geometry to work with, after this go in using soft selection to scale the ends and to give it a nice taper.

Adding a little inset in the middle of the blades is going to give it some more definition when deforming later on.

At this point, we have a solid base to work with, so next, we are just going to duplicate that one when making a new one, this saves you time to start from scratch each time you need another bit of grass.


2 Creating some nice variation

The only thing we need to focus on is creating some nice curves and shapes so we can compose them together at a later stage to make the full grass pieces.

Create variation using soft selection to avoid hard curves and the mesh flipping inside on itself. This is going to cause baking issues such as a really black ambient occlusion or a really white translucency map. Make sure that your backface culling is off for this to properly appear.

3 Combine all the elements

Combine all the different strands into a nice combination of assorted grass meshes, focus on the density of the combined meshes, keeping a good balance is key, it can get overwhelming really quick but it can also look sparse.

Also, keep in mind to make a variation of heights for different types of grass and just having variation in general.

4 Keep it 3D

Make sure to have all the meshes in 3D, don’t work on a single axis, working on all 3 different axis is going to give the grass good depth and is going to look really good when it comes to translucency/ambient occlusion maps.

5 Composing high poly meshes

Assort all the meshes according to scale on top of the plane that is going to be used for baking the information onto, make it easy on yourself and divide the mesh up into areas that are aligned to the grid.

6 Baking in down

Let’s get down to baking! Make sure that the frontal distance/cage is fully encapsulating the meshes, so the bake picks up all the information. For me personally using Knald for baking makes sense because it allows you to bake translucency maps.

Quick tech-tip! Adjust your alpha map to a 1-bit alpha, it doesn’t need all that information and can be a handy memory saver.

7 Texturing — it’s really easy!

Texture with your favorite texturing program, I use Substance Painter. You can bake the maps needed for it directly in this program, or bake everything in a different one and import them over inside of Painter.

For this tutorial, we just added the different maps into Painter, plugged them into the correct inputs and started painting.

Make sure that when texturing your grass you have enough dilation to allow the edges of the alpha map to still pick up color instead of just some white background, this is going to cause nasty outlines in your game engine.

8 Correct pivot placement

When we are done with texturing it’s time to do the final preparations to get these meshes inside of the game engine. Let’s take out the initial plane that we used for baking our high poly onto and split this up along the cuts we made before.

Another important thing is that when you export all your different meshes to the engine that you place your pivots correctly, so for these grass meshes that’s going to be at the base of the grass where the grass meets the ground.

9 Engine stuff

Now it’s time to get all the different meshes into the game engine and make a material for it and apply it! First off al, get all the textures and meshes into the engine, create a new material and set it to “two-sided foliage”. Then plug in all the texture maps into the corresponding inputs multiply the transmission over the base color and you are good to go!

Do keep in mind that this is a basic material setup and can be expanded with parameters, grass wind, and other stuff. Feel free to experiment a bit!

10 Tadaaaaah!

Hope you guys enjoyed this small tutorial and if you want to see more of this, make sure to follow me on social media or my Artstation blog! Don’t hesitate to contact me with feedback (missing stuff for instance) or questions either, I don’t bite.

Timothy Dries, Environment Artist


Leave a Reply

1 Comment threads
0 Thread replies
Most reacted comment
Hottest comment thread
1 Comment authors
Dan Recent comment authors

But… how? do you extract the opacity map from the albedo alpha?