AAA Grass

I think fps capping is the problem here, there’s probably a difference between good performance and zero cost :stuck_out_tongue:

Unlocked FPS…:eek:

There is a cost. But certainly not that kind of a cost you’d notice… I mean… it’s only a bunch of grass.

As written, create a big demo level, do a video - and if the performance is still “that” good, you will have some buyers for sure :slight_smile:
Just a little personal request from me would be very short grass … like in a garden. Nobody offers that.

Recording the screen has it’s own performance cost (about 5 FPS difference). Here you go! :slight_smile:


Edit: Shadow cascades were set to 4. At 3 cascades (default value) it runs at 120 FPS.

Uhhhh still very nice performance!
I wonder if smaller grass would be less costy and also if there are any other possible performance options (such as reducing resolution scale/details in distance etc.). My target is currently 200 FPS at any given time for the environment itself (by using a 290 as reference). Since im doing a kind of mmorpg prototype, with 200 additional moving characters the performance can get worse pretty quick :smiley:
Well … still 100+ FPS on my side, but i have to consider low-end GPUs as well as IGPU/APU solutions :eek:

Smaller size grass should cost less IF that results in less overdraw.

I just noticed my directional light shadow cascades were set to 4. At 3 cascades (default value) it runs at 120 FPS.

I think I would buy this if one could add different types of grass. How do you handle that?

Pardon me for asking endless questions, but how did you place/spawn it? Did you use any blueprints for further customization? How are the draw calls? Bascially what are the limitations? I would always either draw it manually with the paint tool or with a landscape grass layer :slight_smile:

Once you apply the material instance to *any *grass, in the material instance you load the Albedo and Normal for that grass and done. Start customizing OR use one of the included 9 presets. :slight_smile:

New performance test video with 3 shadow cascades is being uploaded.

Then I guess I didnt quite understand what you are selling here.

Do we provide the grass meshes ourselves and you only give us the material instance?
Also, I would like to see the performance of the scene when you add different types of grass, large and small ones, and flowers and other plants. Can we see that?

That’s the point of creating a thread. To answer ALL your questions. :slight_smile:

My demo map has 9 relatively small landscapes and 9 different variation of the grass. Each variation distributed on different landscape using GrassTool (which also allows to change the scale to make it like very short grass). No blueprints in this package. There is generally no limitations since the only thing that’s happening is that there is a master material, you create a material instance from it and apply it to any grass mesh and start customizing it’s look and use the grass any way you like.

Performance test with 3 shadow cascades.**

Hehe not quite 120fps there, but its really close (still best grass in terms of performance) :slight_smile:
If wonder if you expand the package with smaller plane-meshes and maybe some optimizations for lower quality distance grass (no wind if it’s more far away etc.).
Also what some people may would like: If you create a distance texture which matches the grass and it’s color variation, basically an example of creating a “seamless transition” of actual grass planes and a simple landscape material. I would not require this, but it would be something no other pack includes … just in case you want to distinguish this package from other available packs.

It’s 120 FPS before starting to record screen. Once it’s recording there’s some drop because of that, hence you see lower FPS than 120.

In future I will try cards that rotate towards player and see what happens. But I don’t think there’ll be much difference since currently the grass is very low poly.
Landscape material is also a good idea. I’d have that in mind.

Thank you! :slight_smile:


Are you thinking of adding an effect of the grass responding to the player. (It moves back when you hit it)

If not, is this something that is hard to add yourself?

Progress so far is really good, i’m liking the look of this!


There are 2 ways of doing that (as far as I know).One is skinning the grass which is very expensive, the other is doing it in the shader. Doing it in the shader has one requirement and that is that the grass patch should be small in X,Y so when it bends on the pivot point the other side doesn’t go up floating in the air. Doing a grass patch that small means you’d have a lot more instances placed to fill the ground. I have done it before but haven’t actually done a performance comparison though. I’m very busy with a few projects including Our Ghosts of War so I can’t give an ETA but I think I’ll do that in the future.

I think player-facing billboards would look creepy :smiley:
But in the material you should be able to reduce quality and also disable the wind movement if the object is away far enough from the camera. Wish i had your skill and experience, such things take me several weeks to understand and actually do them … with just “ok” results :smiley:

if you’re going to shown a performance comparison try to at least show something meaningul.
the very least is ‘stat unit’ and uncapped FPS (as you already did), but then with/without showing the drawcalls, number of tris in the view, profilegpu, etc

looking nice btw

I think you are missing the point that I am essentially offering a function not a grass. While my grass in this package is performing good/bad whatever, when you hook the function to another grass to customize that you’d get different performance depending on that grass mesh triangle count/number of instances/overdraw etc.

But, if anyone’s looking to get it just for the same of one grass that’s included in there, here’s some info that might be helpful.

Looks like there were tons of creepy games made then decade ago:D But ye i agree, at this point of hardware its no point in using billboards anymore, unless its used for distance LOD fade.

Oh well … my trees are billboards when they are far away because a player would not notice it anyway. As for grass, that would be still too costy and can only be compensated by distance texture which actually matches the color pattern of the grass meshes :stuck_out_tongue: