Skip to main content

Grass for unity free

A guy on unity forum share grass shader.

Free Surreal PBR Grass Shader

Beta Release - FREE
So I've decided to give back to the wonderful Unity community and make this a free asset for you guys. If any of you make custom updates, give it to me and I will update the source code.

Git:
https://github.com/tchpowdog/SurrealGrassShader/tree/master/SurrealGrassShader

Setup Tutorial (no audio):



If anyone has questions, please feel free to ask. I'm not a good tutorial giver, so... But it's pretty easy to setup, I think.

NOTE 1: If you use a density map, make sure to make it read/writable in the import settings.
NOTE 2: This does work on meshes, just make sure your Target GameObject has a collider. This uses raycast, so whatever your collider(s) looks like along the Y axis will be the footprint of the grass.
NOTE 3: The tutorial video is choppy when I pressed play, that's due to the recorder, you can see in the stats screen that I get good framerates.
NOTE 4: I'm in the process of figuring out the LOD/Distance culling for this shader. I'm not a shader wizard so if anyone wants to help tackle that part, be my guest. Occlusion culling works out of the box, just set the "*_SGRenderer" object to "Occludee Static" and include all children. However, this is the type asset that will (should) be sprinkled throughout your scene. So make sure to use the Density map feature. Density map works on a grayscale, so if the color hit is Gray to Black, it will draw grass.

Cheers, Everyone!
***************************************************************


So I am currently working on a Grass Shader, rendering each blade of grass. I am using a point cloud technique to get the positions of each blade of grass. This has turned out to be a very efficient way of rendering grass. This is a PBR geometry shader which uses Albedo, Metallic, Roughness, AO, and Emission.

Different lighting scenarios. All images are 240,000 blades of grass with Post Processing Stack AA (Quality). This is about a 20m square area of grass. I think a final product could handle maybe a 40m (which would be about a million blades of grass) square area before falloff (or LOD). That would be adjustable of course.

Ambient Wet




Ambient Dry



Dawn Wet


Dawn Dry


Mid-day Wet


Mid-day Dry


Point lights Wet


Point lights Dry


Spot light Wet


Spot Light Dry


Notice the grass spawns on top of the terrain, conforming to the topology. This also works on meshes, however, it's not a "fur". It cannot spawn around a solid mesh. For example if you applied it to a sphere, only the top hemisphere will spawn grass. It works like rainfall. So anything point on the mesh that can be raycasted vertically in the -Y direction will spawn grass.

As you can see in the images and video that the performance on this is EXCELLENT. In both the image and the video, I have the Post Processing Stack applied with AA set to "Quality", Bloom, and Vignette.

Current settings for the shader include:

Grass Blade 1
Albedo Map
Normal Map
Roughness Map
Distribution Weight
Tint

Grass Blade 2
Albedo Map
Normal Map
Roughness Map
Distribution Weight
Tint

Grass Blade 3
Albedo Map
Normal Map
Roughness Map
Distribution Weight
Tint

Root Settings
Tint
Tint Start Height
Tint Spread

PBR Settings
Metallic
Ambient Occlusion Map
AO Strength

Advanced Settings
Alpha Cutoff
Grass Height
Grass Width
Wind Speed
Wind Strength
Randomness Noise Texture

The whole reason why I started this is because I needed a backyard lawn grass for my game and I got tired of looking for one, so that's what this is meant for. Obviously, it can be expanded to accommodate other grass types. However, theoretically, you could give it whatever grass texture you wanted currently. In the shader settings, you can set the width and height of the grass.

Here are the current shader settings (this is not final):



Setup Utility:


I plan to provide 3 different grass blade textures with their PBR maps in the final product.

I might provide the Shader in two forms - Unlit and PBR. Unlit actually looks decent and would probably run a little smoother in an end product. This is a DX11 shader and uses Deferred rendering only.

The stats screen in the images and video above was rendering on my PC:
i7-2600K (old... very old)
24GB RAM (why didn't I just get 32??)
GTX 1060 (I'm told it's comparable if not slightly under an XBOX One X.. ?? Please correct me if I'm wrong)

I must say, developing this shader and the point cloud technique was inspired by Sam Wronski. He has a great channel on YouTube (World of Zero) that I highly recommend - it's about everything programming:
https://www.youtube.com/channel/UCJKLCjeujQj-d3JjsbVtkJw

 

Comments

Popular posts from this blog

Free Unity Game Assets -The 54 Best Websites To Download

When it comes to  Free Unity Assets,  Every indie game developer loves to hear about Websites To Download Game Assets like 3d models, Textures, Shaders, complete source etc. On various sites, you can buy your own assets like 3d models, package etc. Here we are giving you same amazing websites to download Free assets, Textures, Sounds, 3Dmodels and more,   Some websites have both free and paid you just need to do advance search for free only. WOW  BEST VR ROLLER COASTER Free Unity Assets Below are 6 must have pro and free unity assets 1.UMA – Unity Multipurpose Avatar The UMA framework is the new way to do customizable characters. Regardless if you need an npc, a hero or a villain this pack is for you! With the UMA Humanoid DNA system you got 46 tweakable values to adjust anything from height to ear rotation, giving you virtually infinite amount of customization options.  download 2.Unity-chan! model The cute 3D model gir

Unity 2d Water fluid system, How to make it?

When I was searching to make unity 2d water fluid system and unity 2d water effect I got lots of threads on forums, blogs and everywhere. I found some good techniques and plugin that I want to share today. Today I am not giving you right answer but telling some methods and plugins you can use and tutorials you can follow to get unity 2d Water fluid system in you 2d or even 3d projects. There are many other ways like Metaballs   but metaballs are for 3d one solution is also available to make it 2d ,  and a game by PixelJunk called Shooter they use some trick and also described at GDC2010 Presentation  (PDF) unity 2d water Fluvio Plugin Test First I love to show this plugin called fluvio. I get it from asset-store what fluvio said about their plugin. "Fluvio is a solution for real-time 2D/3D fluid physics. It is fully integrated with the editor and compatible with desktop, web player and mobile platforms. Fluvio can simulate both liquids and gasses, with a custo

[SOLVED] Your Android setup is not correct. See Settings in Facebook menu

Your Android setup is not correct. See Settings in Facebook  menu.UnityEditor.HostView:OnGUI() The simple way to solve this error is installing OpenSSL. 1 - Download the OpenSSL installer (the x64 full package) here : http://slproweb.com/products/Win32OpenSSL.html (link to the file : http://slproweb.com/download/Win64OpenSSL-1_0_1f.exe ) If you are on older version of JavaSDK please update it. 2 - Download the lastest x64 JavaSDK here ( http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html).  And are you using latest facebook SDK for desired unity version? 3 - Take a look here : https://developers.facebook.com/docs/unity/downloads/?campaign_id=282184128580929&placement=SDK_list Must See: Optimizing Mobile Games in Unity Now you have everything ready to solve this error! Install OpenSSL on C:/ and open it  And add its Environment Variables in windows Path. Go to "Control Panel > System > Advanced system settings