VOLUME GRASS - Unlimited Density

AssetStore - get it on Asset Store


Above picture produced basing on real screenshot - go for interactive soccer demo.

As an imposting volumetric solution - put just one triangle and get countless grass billboards !

Although the package is $75, note, that traditionally (like in case of my other products) update to Volume Grass 2 (and up) will be free.

This thread has been reconstituted as old VolumeGrass V1.1 you can find here. VG 1.1 is 3 years old now. It is just about time to forget about that solution as we’re in 2014 now and so many new things can be done since Unity2.6… :).

Main advantages of the new version (1.5) that’s right around the corner:

1. Simplier, more intuitive and clean user interface.

2. Convinient custom material inspector for grass shader. No more “space shuttle cockpit like” look. All features grouped logicaly and to be enabled / disabled dynamically. No more need to configure shaders by hand - it’s all available via material properties.

3. Grass is textured basing on world global coords, you don’t need to worry about how to put VG on your own mesh. Although there is handy mesh editor included, there is also dedicated script that will turn any flat model into volume grass, carving sidewalls and managing basic parameters, rest you can do using new material inspector.

4. Brand new wind handling. You can specify one directional and one spherical wind zone to affect the grass. Look at the new meadow demo for reference. While we’re still making billboards, but they are … special (volumetric), so - it’s elastic like real thing…

5. Grass apperance has been enhanced by much better MIP filtering. No more noisy look - and it’s adjustable. Generally grass color and feel is also easily tweakable. Not only color multiplying, volume grass can do more like saturation by a slider. Changing grass apperance from toony green onion to dry ascetic look is matter of seconds.

6. New editor that makes your life easy when you’d like to customise grass look. You can make grass billboards texture out of source elements (separate grass blades, flowers, leaves and so on).

7. Global colormap over grass coverage. No more dull 2 colored stiff billboards.

8. IBL lighting to follow your HDR/LDR skyboxes or automatically synced with Skyshop sky object (cubemaps +rotation)

… and last but not least:

Works with Unity Free !! (DX9, OpenGL tested, while DX11 needs Unity Pro to resolve grass intersections). Note, that I don’t claim any mobile friendliness (yet). When I only can get it working on my tablet, I’ll surely let you know !

VolumeGrass1.5 is intermediate solution on the road to VolumeGrass 2. I decided to submit what I’ve got now due to soccer sale, but that’s not the finish. Quick plan for features that are under construction is like this:

  1. We like dynamically place grass on terrain, just painting it - density based on texture not, model based. Massive terrain setups (multiple terrains with seamless grass edges) possible - better to use Pro (using render textures solves many performance glichtes as we can base on GPU).
  2. We like even better lighting (translucency and self shadowing for most demanding users)
  3. Breaking the billboards down to the separate grass blades using dissolve maps. This can reduce patternization (rect cell shaped) look
  4. We like to make everything in world space instead of tangent space. Although this introduces many challenges, it’s possible and we can get real silhouettes of grass on hills.
  5. ??? (I’ll probably figure something out…)

Tom


Can this be used to completely replace unity’s foliage system on terrains to lay down different types of grass and even plants, flowers etc. Just anything ground foliage related that would be on a ground in typical terrain OR is this only for single sided grass that works in this system.

Also typically when creating grass clumps in unity’s terrain system I add about 3 or 4 different types of grass to create a more unique look. Can this system do the same or its limited 1or 2 grass textures only.

Unity’s grass system is so costly on draw calls any comparison’s to what Unity’s Grass system vs Volume Grass system would be great so we can see if its worth it in that aspect as well. Looks great so far tho.

-Miguel

Generally Volume Grass is about base and dense grass rendering., but can sweeten it adding Unity details here and there (flowers, larger herbs).

More variation can be achieved using global colormap and placing separate volume grass objects. When writing into depth buffer you can blend more volume grasses together. In VG2 I’ll think how to resolve it some dedicated way maybe. I need to consider volumetric grass is very dense, but is not free - it’s GPU fragment shader intensive. So - you can get very high framerates on modern hardware while it’s practically impossible (such density) using Unity grass. CPU would be bring down to its knees. Moreover - Unity grass can not bend that nice :).

Tom

Looking great. Is there any RTP support available out of the box? Or, if the parts of the terrain system this asset is interacting with are not actually affected by RTP, alternative question is how the terrain support works in general.

Hi Tomaszek, That looks really nice! Especially the Meadow demo. I have a couple of questions:

  • How would it look like if you have sparse grass on a plane, with some bold spots, rather than a continuous lush volume? Would the grass/ground intersection look nice?

  • How long would it take you to make it so the camera can get lower and you would get to see the grass silhouette?

  • What would be a typical workflow to manually add grass on a ground mesh?

Thanks! This looks like a very promising asset! :slight_smile:

Wonderfull, never again wasting 1000+ drawcalls on not even halfway decent density with unitys grass! Using it for accents and variety and using volume grass as a base will be soo much better!!

VG1.5 is kind of static mesh that can be easily “sticked” to underlying terrain (any geometry). Built in editor makes it easy to generate such volumes. you can also use your own meshes. Full support for grass placed on basing on density testures will be available in VG2.

The more hollow volumetric grass is the more expensive it is. We need to traverse raycasting in fragment program in between grass blades. So - for low end machines anser is - no. VG is meant to be lush. But in VG I made tests with dissolve maps which gives you impression that you actually don’t look at billboards at all but separate grass blades. It’s matter of right coloring and lighting. I’m still working on this. Anyway - sparse grass at distance won’t present much good (they will be cut by texture filter of alpha cutout type).

Correct silhouettes - I made them and put small mesh shell attached to the camera, so in VG we’ll be able to “dive” into the grass, but as it is still billboard system don’t expect this will look magnificent. All depends on grass textures used (quality, resolution). Anyway - VG2 will be demanding, but acceptable for modern hardware. I expect times below 3-4ms per frame (full HD) on newest GPUs.

Workflow - VG1.5 - meshes sticked to the ground here and there. VG2 - grass placement like on terrains (density textures that define coverage). Remind me to post some screenshots of VG2 next week. Today I’m very tired (didn’t sleep for 2 days…).

Tried to be ready with VG1.5 before soccer sale but I didn’t make it… Hope AssetStore staff will be mercyfull (I posted this 5 minutes ago) and you’ll get it during sale.

Tom

Hi tomaszek, it looks like you put out some high quality assets and am interested in this one, but I want to check first whether this particular grass shader will look correct in stereoscopic rendering (like in an Oculus Rift). In other words, do the blades of grass billboard toward the camera, or does it all stay put in world space?

Thanks a ton for your help!

Aha I see improvements in the meadow demo, the ends of the Volumegrass mesh where the shader ends has been smoothed out, that’s very nice to see such a smooth transition to regular material on the terrain! It’s a must buy for me now :slight_smile:

It’d be great if this could be plugged into RTP3 :slight_smile:
Possibly by selecting which material is grass and making it spread the Volumegrass shader and mesh over that material?

Would you think something like that would be possible Tomaszek ?

Very cool looking.

Just seconding the question about Oculus rift support. A definite buy if the grass is in world space, which it looks like in the Soccer demo, but want to be sure. Seeing billboard grass that turns with camera movement in the Rift is kind of terrifying. :slight_smile:

Thanks!

Hi Tom!
Just bought your grass plugin…but it doesn’t work. I am on a macbook pro maverick. (early 2013 version, the fastest at that point)
I see black, only black.
This one also doesn’t work. The part where the grass should be is black.
http://www.stobierski.pl/unity/meadow1_5.html

but this one does…I see nice grass
http://www.stobierski.pl/unity/soccer1_5.html

Regards!

update: just noted that the meadow link partly works on bootcamp windows. Although, it doesn’t look nice. The animation really looks like an image distorted by some wave warp. I have seen better demos from this asset. Not sure what happens here. RT

Is it possible to give more local variety in grass motion, in the medows seems a bit like moving strangly if you look closer. Also can the height be locally varied ? For example have some long and some short grass (like the unity grass)

Hey stationx - I think I’ve ran into that exact bug before.

Do you have Advanced Foliage Shader? If so, deleting this will make your foliage normal again. Not sure why, but this asset turns all other foliage black. Wanted to share as something to test out, if possible to remove this from your project.

Heey not that I am aware of, if that is another asset then no.

How i can do smooth on border with texture ? It’s looks not pretty on borders

p.s. and how to fix this artifact when looking on foot ?

So this will not work with AFS?

If it does not i am sure Tom or Lars will make it work, they worked together on quite a few things so i think this wont be an exception…

That was my assumption, too. The direction this asset is taking sounds similar to AFS, and the two products sound like a natural pairing. So I’m not expecting any kind of conflict, but … is there one?

I should stress that I don’t have this asset and this probably works very well with Advanced Foliage Shader.

Wanted to share a possibly, but sounds like its not the case with stationx’s case. Sorry for the confusion!