Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[Save $600 offer !✅]Infinigrass-GPU Optimized Interactive Grass-Trees-Meshes,work on mobile,HDRP-URP

Discussion in 'Assets and Asset Store' started by nasos_333, Sep 1, 2015.

  1. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Superjayjay likes this.
  2. Deckard_89

    Deckard_89

    Joined:
    Feb 4, 2016
    Posts:
    315
    Could you explain what the distant forest system does exactly? Is it used for painting low-lod forests down on distant terrains? Also, do you know if it would be compatible with the HorizonOn asset?

    Thanks
     
  3. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    It is a special brush made to emulate the look of distant trees with minimal polygons. The forests are 3D so can have shadows and perfect placement on ground etc

    Also this brush could be used as the last LOD stage for pine brush, i am looking whether i can have such a combined brush for v1.7 (otherwise will come in v1.8)

    The brush is painted like grass, so needs a surface with a collider. If Horizon can have colliders on the distant terrains, then forests can be painted on this.

    Note that this is the first edition of the system, the next version will be even more optimized (but will be harder to make the artwork for, thus will come in v1.8)
     
  4. Deckard_89

    Deckard_89

    Joined:
    Feb 4, 2016
    Posts:
    315
  5. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288


    Gradual Snow growth in the new v1.7 demo

    Another feature has been added in v1.7, now the SM2.0 shader variant supports translucent light when sun is behind the grass and color tint.
     
  6. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Last edited: May 18, 2016
  7. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    UPDATE:

    A tip when using grown in play time grass (after an ungrow). If grass seems to be missing (even though it shows fine in editor), this is due to the raycast distance being too high and the raycast hits another object, thus preventing grass creation (as the hit surface is not the one grass was painted on).

    To solve this issue, based on world scale, lower the "Raycast distance" parameter (brush Painting section in Grass Manager) for the required brushes, so the raycast happens closer to the surface.
     
  8. ZeroSumGames

    ZeroSumGames

    Joined:
    May 7, 2013
    Posts:
    27
    I'm generally happy with this asset. I really had to RTFM though.
     
  9. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    I will be creating a series of voiced tutorials this week, for easier starting up. I hope this helps further in getting started and creating custom brushes.

    I will try to do all steps in detail and mention all possible modes and creation tips in them.

    The new v1.7 also has a lot more help integrated in the Inspector (can be toggled with Active help checkbox)
     
  10. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Last edited: May 18, 2016
  11. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288

    InfiniGRASS 1.7 - Forest Edge
    InfiniGRASS v1.7 - 3D Daisy brush
     
    Last edited: May 25, 2016
  12. Deckard_89

    Deckard_89

    Joined:
    Feb 4, 2016
    Posts:
    315
    Is there a way of resizing the brush size for deleting grass? Currently I have set a nice, sensible size of brush for painting the grass down, but when I try and delete with left shift, it changes to an enormous brush surrounding the area.
     
  13. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    There is a "Erase radius" slider for the "Mass erase" option that handles this. If the Mass Erase is off, the erase is by collider (only when a collider of grass patch is hit, for precision erase) so radious does not matter (i have the red circle on to help pinpoint the center of erase for example, which is also the mouse cursor). I could add an adjustment to this circle as well though, for various world scales, i will add in the to do for v1.7.5 (with the new titling system and streaming sample and new options e.g. material update by only one Grass Manager for optimal handling when lots of Managers are on scene)
     
  14. Deckard_89

    Deckard_89

    Joined:
    Feb 4, 2016
    Posts:
    315
    Ok, thank you.
     
  15. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    UPDATE:

    Got a new idea for very thick wheat fields, a combination of different LOD boundary and inner grasses, to minimize the overdraw and poly counts. I will try to have this sample alone the streaming sample next week.
     
  16. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    UPDATE:

    I have discovered an issue where the Daisy and Distant forest brushes cant be erased.

    I have fixed it and uploading v1.7.5.

    The issue is because the brushes have a collider in the grower prefabs but not the GrassChopCollider script, which handles the erase and is added only when a collider is not present. The workaround for v1.7 is to 1. remove the collider from the grower prefabs (so all new painted grass can be erased directly as normal) of these 3 brushes and 2. for the already painted grass ungrow and then erase the collider in the grass grower scripts and it will be re-created with the proper script on regrow.

    In v1.7.5 this issue will be directly fixed in already painted grass using the "Refresh grass" button (adds the missing GrassChopCollider script automatically upon refresh).
     
  17. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Another issue with v1.7 discovered in the new brushes.

    Note that both issues are a brush setup problem and not the InifniGRASS core problems.

    To solve the issues in Daisy 3D and Distant Forest brushes (4 total, 3 for distant forests), in the grass grower prefabs do the following
    1. Remove the Box collider from the prefabs (in Version 1.7 -> prefabs -> Daisy A 3D & DistantForest folders, the prefabs that hold the InfiniDyGrassField.cs grower script, e.g. ForestCreatorInfiniDyDAISY)
    2. Set the "Rotation_over" variable in InfiniDyGrassField grower script in the prefabs (near script end) to false (uncheck the box)

    These will fix the following issues for newly painted grass:
    1. Cant erase Daisy and Distant Forest grass, now will be able to erase with fix #1. For already painted grass it is fixed by ungrowing the grass and removing the collider for all grasses where GrassChopCollider is not also in the grower prefab. Then the system will create both the collider and GrassChopCollider automatically on regrow. In v1.7.5 the issue can be fixed by the "Refresh grass" button automatically for already painted grass.
    2. Daisy and Distant Forest grasses not batched properly (too many draw calls) when painted in the editor. For already painted grass this can be fixed by ungrow and regrow the grass in editor.

    These issues with the new brushes are fixed and coming in v1.7.5 (submitted to the store)
     
  18. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    InfiniGRASS v1.7.5 is now ready for download (Google Drive link)

    Everyone interested please send a PM with the asset invoice and i will send a link asap.
     
  19. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288


    Voiced tutorials series - Tutorial #1
     
  20. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Voiced tutorials #2-6





     
  21. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    InfiniGRASS is now on -33% sale in Unity Madness Sale !!!!

    Enjoy :)


    InfiniGRASS v1.7.5 is ready for download (Google Drive link)

    Everyone interested please send a PM with the asset invoice and i will send a link asap.​
     
    Last edited: May 23, 2016
    Lohrion and docsavage like this.
  22. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,020
    AT LAST!!!!!! :)
     
    nasos_333 likes this.
  23. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
  24. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    UPDATE:

    I had a request for increasing the sound level in the new voiced Tutorial videos, i will work on this as priority and re-upload as soon as possible. One way to increase voice level is to download the video and use VLC player that can boost sound easilly.

    EDIT: I am also uploading the current Tutorial videos for direct download, so can be used with any player directly. Will post links soon.
     
    Last edited: May 23, 2016
  25. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,020
    Already fixed the first videos I tested. Now that is top customer service.
     
    nasos_333 likes this.
  26. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Thanks :)

    A few even more enhanced videos. 1 and 2 are now further louder and 3 is also increased in volume.





    I will upload 4-6 soon and post as well
     
    docsavage likes this.
  27. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288




    Tutorials 4-6 with enhanced in volume sound. I hope these help further, i will see if i can filter sound even better as well for next tutorials.
     
  28. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,020
    Sounds fine to me now. Thanks for doing this so quickly.
     
  29. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
  30. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    Hello!
    I am very interested in your asset InfiniGrass.
    Is there any way to know if you have a good Performance your grass when there is plenty ??? There is a trial version before you buy it ??

    In the demo you can see the fps you consume when you fill everything from grass?
    Another question I have not been clear in the tutorials ... The grass and trees can appear and disappear in the distance smoothly, or just appear suddenly ??? And how far you can at most the grass appear and disappear from the camera ??

    regards
     
  31. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Hi,

    The grass has no limitation in view distance, can be any distance (but having LODs and cutoff help performance, the view distance can be really far though with still having super good speeds so the cutoff can be very far).

    Also in general is super fast and much better optimized, the draw calls reduction is also massive. Batching is multithreaded and full (and easilly) controllable, through Inspector options.

    You may test performance in the below demo

    InfiniGRASS - Vertex grass performance demo
    https://dl.dropboxusercontent.com/u/79230236/INFINIDY/INFINIGRASS/INFINIGRASSv15 DEMO_VERTEX_GRASS.html

    There is a shader based fade factor to smoothly move grass out of the rendering, so if setup properly (fade must be before the cutoff distance) the grass will fade out smoothly before its turn off (which is the sudden dissapear).

    I have this covered in the first new tutorial video (at time 8:18, LODs are covered just before that time too).

    This shader can be used on tree barks as well (though i dont have fade for them in the sample brushes). The last fence type i have added uses the fade though, so same material (or shader) can be applied to tree barks and have these smoothly fade out as well.

    I hope these clarify, please let me know for any further questions
     
  32. buttmatrix

    buttmatrix

    Joined:
    Mar 23, 2015
    Posts:
    609
    Just bought asset. Cannot delete grass: Hold shift (button turns red, 'Erasing'), left click on grey box (collider), nothing.

    In addition, how can I stop the grass from moving. It doesn't seem to be related to any wind setting. Adjusting the 'wave' setting per material doesn't have an effect either.
     
    Last edited: May 24, 2016
  33. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Hi,

    There is a Mass erase checkbox to delete an area of grass at once, if not checked must click on each collider individually with Shift+Right mouse button. Delete in both cases with Shift + Right mouse button.

    Also there is a known bug in the new in v1.7 Daisy3D and Distant forest brushes, fixed in the new v1.7.5 (i can send the new version immediately on Google drive) and have details on how to fix this in the brush prefab above (http://forum.unity3d.com/threads/on...c-grass-everywhere.351694/page-9#post-2645231) for v1.7.

    In lower scales the interaction shader needs adjustment for the "Stop motion distance" parameter, so lower this to limit the interaction close to the player. It is default adjusted with 20 world scale, thus affects the grass at a long distance and creates the waving effect.

    Make sure to add a windzone to the Inspector as well, so the system can properly pass wind parameters to the shaders.

    Let me know for further questions
     
    Last edited: May 24, 2016
    buttmatrix likes this.
  34. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    Hello! thanks for answering...

    Regarding the video tutorial minute you tell me, does not solve my doubt. I know that was, which is not as smooth appears or disappears the grass in the distance and if there is a parameter to change that "softness".
    The parameter that comes in the tutorial "Grass patch distance" seems set to distance begins to disappear / appear soft, but not how smoothly...

    not if I have explained well and if you understand what I mean. (Sorry for my English clumsy).

    On the other hand in the demo you indicate me to check the performance, apart from leaving the fps on the screen does not resolve my doubts.I tried putting more grass on the scene but will not let me and see that the stage is small to resolve my doubts the good performance can have your asset

    Another question I would like to clarify me,Is your grass is completely dark when the sun grades make the scene is entirely at night?

    I hope I can solve all my doubts because I am very interested in buying your tool, but I would not buy it without being totally sure it will work as I would like.So I ask you again if you have an evaluation version. This could clarify all my doubts to buy it.

    a greeting
     
  35. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Hi,

    I can send a test version (will be older one, v1.5), send me a PM with the developer details and i can send the link.

    The performance in the demo is representative, as the scale of the world does not matter, since you wont have everyhting active all at once in any case, still InfiniGRASS can have great performance with very big draw distances and much larger than Unity grass for sure.

    The fade out is gradual and distance based, i dont have a tweak to change the default fade because with InfiniGRASS the fade/cutoff distances can be very far, so adjusting this would not show much, but i can note to add a micro tweaking variable for the fade to extend the control over it in later versions.

    About the grass color at night, the grass is affected by color or gradient ambient and has its own pattern tint and global color tint that can additionally be adjusted for any kind of night look.

    Let me know for further questions
     
  36. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    KNOW ISSUES with InfiniGRASS v1.7:

    The new in v1.7 Daisy 3D and Distant Forest brushes (4 total, 3 for distant forests), have an issue where they cannot be deleted when painted in editor and also break the baching (and create lots of draw calls).

    This is now fixed in v1.7.5 (ready for download immediately in Google Drive link). The update has also been submitted to the store and pending review.

    It is recommended to use v1.7.5 for handling the issues in the two brushes.

    More details: http://forum.unity3d.com/threads/on...c-grass-everywhere.351694/page-9#post-2645231
     
  37. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    InfiniGRASS v1.7.5 has been released at Unity Asset Store !!!

    It is recommended to download this version for the various fixes in the new v1.7 brushes (Daisy3D and Distant Forest)

    Changes summary:
    - Fixed issue where Daisy and Distant Forest brushes could not be erased. Refresh grass (through the Inspector "Refresh grass" button) to fix any items already painted on scene with v1.7

    - Added option to disable material update per Grass Manager for the case two managers have the same materials (only one is needed to update the materials)

    - Fixed issue where the central grass part (bark) would grow in smaller or larger than proper scale, proportional to grass brush scale difference from scale one.

    - Fixed issue where batching would not work properly for the new in v1.7 Daisy and Distant Forest brushes, due to "Rotation_over" variable be true in the grower scripts (now is false by default). This can be fixed for already painted grass by ungrowing and regrowing the grass in the editor.
     
    docsavage likes this.
  38. buttmatrix

    buttmatrix

    Joined:
    Mar 23, 2015
    Posts:
    609
    I think I have misunderstood the mass place function. I assumed it was meant to grow uniform patches of grass between the positions of Corners A & B by clicking "Mass Place". Is that true, or is it meant for something else?

    Also, there seems to be something strange happening with density of mass grow and world scale, wherein the values in the Inspector are not updating correctly when one of the parameters is changed.

    P.S.
    The performance on this grass is truly unbelievable, really impressive. +1
     
    Last edited: May 25, 2016
    nasos_333 likes this.
  39. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Thanks ;). The performance is the major perk of the system indeed and allows to have the high density and detail grass, with full shadows etc.

    Mass plant is for applying grass in a grid over an area defined by the two corners.
    To clarify, the world scale is not actually scaling the grass iself, but rather adjusts the preset parameters that are default for world scale 20 to any other so you can quick start painting at that scale.

    The Mass Plant can define grass scale by the current brush scale or if "Use brush settings on Mass Scale" is pressed defined by the scale saved for each brush when the "Save brush settings" button is pressed (so can have one plant with multiple types all scaled individually for full control)

    The actual grass scale is changed by the scale value in the brush settings (near the density and spread factors) and "world scale" scales that value when the defaults are applied (e.g when press an icon).

    About the values in combination, the Density of Mass grow defines a density depending on the chosen area, for example in world scale 20 with density 20 and 135x120 area, you get 648 patches, in 35x20 area you get only 28 patches, so if your world scale is lower i adjust the maximum of the density possible to increase these brushes over the smaller area. e.g. with World scale 10 the maximum is now 40, so a lot more density can be placed when your world is smaller.

    I have such control to not allow very big densities planted at once, since this may cause temporal instability in Unity editor if all goes in with one application and grass is heavy type for example.

    As a general rule, first change the World Scale and then the system will be tailored to that scale in both the Mass plant factors and brush presets. The only thing not scaled is the direct shader properties, like shader Fade distance and Stop motion distance (so for lower scales Stop motion should be adjusted lower in lower world scale to define the region of interaction to the player)

    Let me know for any further questions
     
  40. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
  41. Rastar

    Rastar

    Joined:
    Sep 14, 2012
    Posts:
    73
    Hi there

    got InfiniGRASS on the madness sale yesterday, and really loving it so far! It's got so many features that it'll take me a while to make full use of it, so please apologize if the following is already possible:

    I really don't like ground textures with grass, because they always look bad - you immediately see they're just 2D. For rocks, pebbles etc you can get nice visuals with proper normal and height maps and things like POM etc., but grass textures always look flat. So I would actually prefer to only use inorganic textures (sand, stones) for the ground and actually paint *all* grass and foliage on top. But then the issue is always the popping/fading in of the meshes when crossing the view distance.

    Now, terrain shaders typically fall back from the detail textures to some global colormap for bigger view distances. I was wondering if the same could be used for grass, maybe even bushes or trees. So bake a global grass (bush, tree) map on demand that will be alpha blended with the terrain textures at distance beyond the grass mesh rendering and fades out once the grass meshes fade in. Bushes and tree would probably need their own maps (probably also normal maps) and separate fading distances.

    Do you think something like that would be feasible?
     
  42. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Hi,

    The system supports a fully customizable Level of Detail, which can be anything for all 3 stages. For example you can have a tree with all 3D branches close up and reduce to one with texture painted branhces in distance, everything is customizable as prefabs (so all Unity items and tools apply)

    Getting LODs to work on the system involves 1. adding a mesh with material that has LOD0, LOD1 or LOD2 in its name (so make sure these are not in the non LOD meshes) and 2. disable shadow cast/receieve on these LOD meshes (to disable receieve in Deffered mode, enter Debug mode, since Unity has locked it in non debug mode for some reason).

    Then disable the LOD items Mesh renderer component (so wont be visible at game start for example) and the system will use these items as LODs, you can set LOD distances for each in the Inspector while painting the grass (and save settings with the Save setting button). Note that one LOD stage is not defined, this will be the cutoff distance (grass will dissapear there as there wont be LOD to show)

    There is also a Fade paramater so the shader can fade smoothly before meet the LOD cutoff distance. There is no fade between the LOD stages though (it is a concept that i will work on for later versions, together with auto creation of billboards and many other ideas)

    All items can be made this way and also can have 100% custom LOD stages, so can have diferent materials, with other properties etc, so there is little restriction in this.

    Let me know for further questions
     
    Last edited: May 25, 2016
  43. Rastar

    Rastar

    Joined:
    Sep 14, 2012
    Posts:
    73
    Yes, but I was thinking more along the lines of a global terrain texture map storing just the grass contribution. A bit similar to what https://hal.inria.fr/hal-00650120/en have done for trees - if you go towards the end of their publication you'll see they use 1) meshes for close distances 2) an impostor like object for medium distances c) a texture map layered on top on the terrain at long distances. I was thinking about something like that (the c) ) for grass. So paint volume grass as you like, then bake a global map from that.
     
  44. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    I think that if setup properly (the orientation of all LOD stages for example) it would be possible to lay down on the ground an impostor properly, though this depends on the ground formation and size you will cover with each brush.

    The brushes are layed along the surface normal, so you could have full 3D grass in a big patch and then for that patch emulate the look with a ground texture (e.g. a flat quad with texture) that will also cover the ground properly since it will be oriented in its normal (but if the brush is too big it may seem to go off on in ground, so need regulation)

    Such an example of a final LOD stage is the new distant forest brush, this one could be used as last LOD stage for full detailed pines (i plan to provide this sample in v1.8) for example and is almost like the logic you describe (the trees are just flat quads, properly oriented along the mountain normals to give the 3D forest)

    About the baking, i am not sure, you mean bake from a camera view for example and create a ground texture ?
     
  45. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    @Rastar

    Another detail is that the grass has two parts, the central part (bark) that is instantiated only once per brush stroke and the blades that are spread around it. So you can have a LOD stage in the bark item that covers for the whole brush area and not use LODs in the blades for example.
     
  46. Rastar

    Rastar

    Joined:
    Sep 14, 2012
    Posts:
    73
    HI, thanks again for the detailed answers. Yes, with "baking" I meant rendering a ground texture (grass-only) from a certain camera view, like top-down or 45° or something.

    But I guess I should first get more familiar with all the features that are already implemented and see how far I get.
     
  47. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    The texture i guess would be independent of the system (as far as control is concerned), so would need a system to synch the terrain grass texture fade with the InfiniGRASS grass.

    A system to render from top is already in the works and is based on my Sky Master ULTIMATE depth rendering system (used to regulate the ocean waves in shores with vertex manipulation) and i am adapting this to render the map from top and use it for giving grass the vertex coloration based on ground (currently the vertex based coloration gets in vertex grass with raycast, so applies to textured terrain with readable textures)

    This system can be expanded to take a snaphot of the terrain and the grass (e.g. using a layer to have both isolated) for use in such cases, so i will add this in the to do list for next versions.
     
  48. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288







    Some pics from painting in demo

    InfiniGRASS v1.7.5 has been released at Unity Asset Store !!!

    It is recommended to download the latest version
    for the various fixes in the new v1.7 brushes (Daisy3D and Distant Forest). More details here.
     
  49. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Last edited: May 26, 2016
  50. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288




    Full shadows on grass

    InfiniGRASS v1.7.5 has been released at Unity Asset Store !!!

    It is recommended to download the latest version
    for the various fixes in the new v1.7 brushes (Daisy3D and Distant Forest). More details here.
     
    docsavage and Tinjaw like this.