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
    A video on the tweaking of the Stop Motion Distance parameter in the new v1.5+ versions, for adjusting the interactivity radius in the shader based interactive grass, when the world scale changes.

    The Stop Motion Distance parameter disctates the radius of the inetraction with the shader (be it stop the wind in older version or enable player velocity based displacement in v1.5+) of the player (or camera if no player is defined)



    The Stop Motion Distance parameter is also used to stop grass motion in the previous version of the shader, for stopping the blend of shader motion when enabling the scripted (permanent) interaction with grass near the interactor.
     
  2. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    The free packs offer is now offically over and the winners will be annouced soon.

    Everyone that has participated may make a list of all the available assets (Sky Master ULTIMATE, Particle Dynamic Magic, Toon Effects Maker, InfiniTREE & Advanced FX Creator) in most wanted order , so i can spread them properly

    More info: http://forum.unity3d.com/threads/on...c-grass-everywhere.351694/page-7#post-2541189

    There were 5 entries in total, so everyone wins an asset :)
     
    Last edited: Mar 17, 2016
  3. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    The winners, in order !!! Please let me know which of the available packs you would like in order of preference, the first winner gets his first choice, the second gets its first choice if available, otherwise the second etc etc
     
  4. Baraff

    Baraff

    Joined:
    Aug 16, 2014
    Posts:
    255
    PM Sent.. Thanks
     
    nasos_333 likes this.
  5. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Great, i will send the vouchers when i have all answers (most are in already)
     
  6. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    InfiniGRASS discount, last day !!! The new v1.6 releases soon (major version release)

    Make sure to grab the asset at the current lower price, while it lasts

    v1.6 is coming tomorrow and the price is reset to normal (there is a slight chance that the review will happen on Monday though, but is only a guess, so officially this is the last certain day of the discounted price)

    v.1.6 is also available on PM request immediately for current users, in google drive download
     
  7. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    I sent over a PM
     
  8. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Last edited: Mar 20, 2016
  9. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Last edited: Mar 25, 2016
  10. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    One more feature added for InfiniGRASS v1.7

    - Distant 3D forest brush, with special shader and features, for optimized distant forests (e.g. for airplane view)
     
  11. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,794
    More than fascinating, amazing stuff! I wonder, does it work on my ancient pc, I got a pentium 4 I'm working with? lol Wish I could buy this!
     
  12. nasos_333

    nasos_333

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

    I am not sure about Pentium 4, i use a 2010 Core 2 Duo (E7500) for testing and development and the system when in play mode is super fast even with the very old now CPU, so perhaps it would work, but the editor side has extra overhead so i would suggest the strongest PC possible for that aspect (though there are still tricks to get this working faster, like split to more than one grass managers and enable only one at a time)
     
  13. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Some known issues with the current system:

    - Strange grass waving issue in smaller scales (with new local temporal interaction shader), please set the "Stop motion distance" parameter lower depending on the scale of the world. For a 1:1 world scale use numbers close to 1 or 2.

    - For linear color space, the specular power need to be placed lower than in gamma default. Also the coloration is affected by specular a bit differently so i will try to adapt the system for linear space better in the next version
     
  14. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,240
    Will 1.7 have Gaia support?
     
  15. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    The priority is to turn grass/trees of Unity terrain to infiniGRASS and trees (so it will be compatible with both GAIA and all other terrains, which is a first step into indirectly using GAIAs foliage for placement since they are Unitys own systems), then the final step will be GAIA integration, using this method. I am not sure which version each of these will make it into, probably 1.7 for the conversion if all goes as planned.

    Is GAIA also planting trees outside of Unity terrain system btw ? This is another aspect which might need to be covered if so.
     
  16. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
  17. QuadMan

    QuadMan

    Joined:
    Apr 9, 2014
    Posts:
    122
    Hi
    Is it possible to export terrain grass data to infinigrass?
     
  18. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Not at preset version, this is planned for next versions (and for trees as well)
     
    QuadMan likes this.
  19. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Before (first pic) and after the Linear Color space fix (last two pics)


    I have now found the solution to linear color space issue and specular.
    The trick is to change in the grass shaders the lines
    Code (csharp):
    1.  
    2. finalColor += specular * _SpecularPower;
    3.  
    to
    Code (csharp):
    1.  
    2. finalColor += pow(specular * _SpecularPower,2.2);
    3.  
    this fixes the specular and both pushes it further back as in gamma and enchances its brightness, thus get the proper effect.

    I will make sure to offer an option in the shaders for linear as well in next versions, so there wont be any code changes required (just a variable set to 1 to enable linear space)
     
    Last edited: Apr 3, 2016
    QuadMan likes this.
  20. RonnyDance

    RonnyDance

    Joined:
    Aug 17, 2015
    Posts:
    557
    No, Gaia only is planting Trees on Unity Terrain System so no Problem there.

    So as I understand you already support Gaia? If yes the typical workflow would be:
    1. Create Terrain with Gaia and place Grasses and Trees with Gaia Detail / Tree Spawner
    2. After that Infiniy Grass will convert Trees and Grass to Infinity Grass / Trees?

    Thats it? I suppose it works well with Speedtrees and other Grasses like from turboscalpeur?

    Cheers
    Ronny
     
    Last edited: Apr 5, 2016
  21. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    That is the plan for the next step, to allow conversion of Unity grass and trees to InfiniGRASS ones, this is not straighforward though so will take a bit to perfect, but is definitly the main focus of the next grass placement advancement and feature and will come in next version if all goes as planned.

    I have already got the code of grabbing grass and trees from Unity terrain working and do basic InfiniGRASS planting based on that, but lots of refinement in the spread algorithm is needed to get the best possible conversion between systems, that is the current focus.
     
    Lohrion likes this.
  22. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288


    A guide to code changes for Linear Color space in the "InfiniGRASS_Transp_Wind_FENCE 1-ROOF" shader (latest shader supporting temporal interaction)

    The changes will make spacular in linear mode (middle pic in linear before the changes, last pic in linear after the changes) behave as in Gamma rendering (top pic).
     
  23. Theekshana-A

    Theekshana-A

    Joined:
    Sep 27, 2014
    Posts:
    81
    The density on the grass manager when trying to mass place is sticking at 0...
     
  24. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    What version of InfiniGRASS is used and what is the global scale used ?

    As first step try a global scale below or at 20 and see if it fixes the issue.
     
  25. Theekshana-A

    Theekshana-A

    Joined:
    Sep 27, 2014
    Posts:
    81
    I am trying to get it to work with Gaia.
     
  26. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Is the same happening in my demo Unity terrain ?

    Also what is the "World scale" parameter set to and which version of InfiniGRASS is used ? I am trying to get it zeroed on my side, but i cannot reproduce. I could also Skype in to see the issue on site for the specific case, if all else fail.

    GAIA is creating Unity terrains from my knowledge, so the system should then work with it independently, like in my demo terrain, so i am not sure why this is happening.

    I also plan to have a conversion tool for grass/trees of Unity terrain (which is also what GAIA produces) so this could make a conversion of GAIA planting to InfiniGRASS. From my intital work on this, it is not trivial, as my system works rather dfferently to get the performance and true non patterned fully adaptable grass, so it will take a while for this system to be perfected and at production level for release.
     
  27. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    A note for smaller grass scales

    In lower scales, first reduce the wind and turbulence factors and also the "Stop motion distance" paramater that govers the new interaction shader radius of interactivity, until the required result is achieved.

    The "Stop motion distance" is a per material property, so make sure to first press the specific grass icon and then apply the value.

    Also add a windzone first, since without one the system will not pass the wind/turbulence properly to the shader (mainly because it also gets the directionality from the windzone)

    Here is also a video showing the painting in smaller scales for reference:

     
  28. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    A quick test using the great Turboscalpeur textures and Sky Master ULTIMATE fogging system.

    Much more work will come soon on using other asset textures and adaptation for the best Turboscalpeur grass usage with the system, with a full 3D representation of grass when needed for best and most realistic result.

     
    Fenris2 and Lohrion like this.
  29. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288





    Lots and lots of the new optimized Daisy flowers 3D brush and multiple image effects in full HD and shadow detail.

    Performance on my old 2010 PC (core 2 duo CPU). LODs are not enabled in this demo as well, all flowers are full detail in any distance in the scene.
     
  30. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Video with the new optimized Daisy flowers 3D brush.
     
  31. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288




    Top down and close up view of the new Daisy brush
     
    Lohrion and Arganth like this.
  32. Hugoid

    Hugoid

    Joined:
    Apr 16, 2016
    Posts:
    1
    Hey Naso, I'm really interested in your shader, specifically to burn grass.

    Do you think it'd be possible to upload a video showing it burning?
    Will it be possible for a fireball (for example) to be able to trigger the grass burning?
     
  33. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    I have not yet implemented the burn, as it is a bit tricky. I have finished the shader though, so when i am done with integration i will post a video showing the effect and use.

    The goal is to have locally burned grass and catch on fire regional system, this will take a bit to finalize though, as i need to optimize and integrate for ease of use.
     
  34. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288



    New system for distant forests (first WIP, many more brushes to be created with the same idea).

    Sky Master ULTIMATE volumetric gradient fog is used in the pics.
     
  35. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288




















    New system for distant forests (first WIP, many more brushes to be created with the same idea).

    Sky Master ULTIMATE volumetric gradient fog is used in the pics.
     
  36. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    TIPS ON GRASS PAINTING in editor

    A few tips on grass painting.

    1. To stop the camera rotation when painting, while holding the right mouse button (pressed), click on another mouse button (left or middle) once, without leaving the right button. This will lock the camera rotation (i will add this info in next version to be easier to find too) as long as the right mouse button is pressed.
    2. To stop grass painting while the camera rotates, while in painting mode you can hold the left "ctrl" button to lock the camera and rotate without painting. This way you can paint in the area where the camera looks (so rotation wont affect the painting much) and by presing "ctrl" move the camera to target another area etc, so you can do that along with the mouse clicks method above, based on what is best for each situation.
    3. The Editor view distance parameter-slider will reduce the load of grass far away, so grass painting can be faster in the editor (where unity has the editor overhead, in play mode is always super fast)
    4. Grass can be erased per patch collider or en mass using the Mass Erase feature
    5. There is a minimum paint distance parameter, with which continous painting will not create grass in distance lower than the defined, while the mouse is pressed and dragged. Use so the right mouse button can be held in place without adding more grass until moved at least above the defined distance from the last stroke.
    6. Grass wont be painted on collider other than the one the mouse hits, this way it is easier to create grass among stones with precision (e.g. stones with colliders without the PPaint tag or hit on ground which will again not paint on the stones even if they have PPaint tag as the collider will differ).
     
    Last edited: Apr 24, 2016
  37. nasos_333

    nasos_333

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

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    docsavage likes this.
  39. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    Original speedTree without InfiniGRASS system


    SpeedTree using InfiniGRASS system and shaders






    UPDATE:


    While working on the creation of a SpeedTree templete for use with InfiniGRASS, I found an issue with the LOD sytem when only 64K models are created (SpeedTree trees have many polygons, thus the issue came out since some batches had only 64K groups).

    The issue was one check missed in the ControlCombineChildrenInfiniGRASS.cs script

    Line 759

    should be

    Code (csharp):
    1.  
    2. & (Destroy_list.Count > 0 || Destroy_list64.Count > 0)
    3.  
    instead of

    Code (csharp):
    1.  
    2. & Destroy_list.Count > 0
    3.  
    I will include this fix in v1.7 of the system as well.

    I cannot include the SpeedTree templetes in the project (due to licensing issues), but i can send a pack to everyone insterested directly, on PM request.
     
  40. Olafson

    Olafson

    Joined:
    Aug 7, 2012
    Posts:
    255
    How exactly does it work and what does it do?
     
  41. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    InfiniGRASS in general or the new SpeedTree sample ?
     
  42. Olafson

    Olafson

    Joined:
    Aug 7, 2012
    Posts:
    255
    The new SpeedTree stuff.
     
  43. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    InfiniGRASS is a general purpose optimizer, so i am experimenting with various items like SpeedTree trees and since this was asked many times by users.

    The system batches the trees to reduce draw calls (e.g. 1500 vs 300 in the pics) like it does with grass.

    The limitation is that you need to use InfiniGRASS shaders for the leaves and there is also some issues in defining the LODs currently (mainly because the system assumes one material per item and SpeedTree LODs have more and the leaves are last in the material list, so it does not grab the item as LOD option directly, i am working for this for next version to cover an easier SpeedTree to infiniGRASS with LODs transition)

    When i am done with the full code to handle the specific case, i may also add a converter to automate the process.
     
  44. Olafson

    Olafson

    Joined:
    Aug 7, 2012
    Posts:
    255
    Sounds pretty amazing. Looking forward to your progress on this.
     
  45. nasos_333

    nasos_333

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

    I just realized i can optimize even further by removing the dual side (cull off) from the shader or add culling control as option and enable culling in LODs materials, this will give an even better frame rate. Also the pics dont have a LOD enabled yet, due to the multi-material issue, this will be another major boost to the overall performance when enabled (especially since the SpeedTrees are poly heavy).
     
  46. WalterEspinar

    WalterEspinar

    Joined:
    Aug 23, 2011
    Posts:
    83
    Hello Nasos, i see your tutorial and forum, but i cant understand how can fill a Unity terrain with grass, can make a new tutorial step by step or how you place the trees in the forest 1.7 video, thanks
     
  47. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    In the demo above for distant forest, i paint the trees in real time. In editor you can paint them like grass (i will include the brush in v1.7 as well). The tree brush is a specially made one to give the feeling of trees with minimal items, so it is not yet available in v1.6 (i can send it over as patch though if needed before v1.7 release)

    The grass can be painted with brush or mass planted with the mass placement system, i have video turorials for both in the play list. Also there is an option to copy grass from play time painted (instructions are integrated in the editor in latest version).

    I point to the videos below, also a few tips, you can use the "ctrl" keyboard button to stop painting in order to rotate the camera and while holding the right mouse button you can click the left or middle mouse button (without let go of right) to stop camera rotation while painting.

    If you need to plant big amount of grass, consider lowering the Editor view distance to speed editor side (play mode has no issue, the editor has overhead though). Also you can have multiple Grass managers, each with his own grass and growth style, so you may eliminate the rest while painting on each one, this also helps managing the next gen grass better.

    If the world scale is lower than my demos, you can lower the scale by placing a new one in the World scale parameter, before painting

    Let me know for further questions and suggestions.

    Editor painting ():


    Mass grass placement:



    Wind & interaction regulation for smaller scaled grass than my demos (applies to v1.5 and above new interactive shader):
     
  48. Shoulder Devil

    Shoulder Devil

    Joined:
    Nov 2, 2015
    Posts:
    3
    Are there any decent step-by-step tutorials or guides on how to use this product? I really liked the look of what I had seen so I purchased the product. Unfortunately, the guide that was included isn't really a guide. It's more of a change log outlining the differences from one version to the next. The video tutorials that I have seen so far don't include any audio and there are no notations in the video explaining what the author is doing. Keystrokes are not logged to the screen and you can't even see the authors mouse cursor to know where to click if you are trying to follow along.

    Admittedly, I am a bit of a noob when it comes to Unity development but this is the only product that I have purchased from the asset store that has been impossible for me to figure out. I'm not bashing the product. The videos all seem to indicate that you can get very good results from using Infinigrass, if you can figure out how to use it.
     
  49. nasos_333

    nasos_333

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

    I am in the process of producing new voiced videos for the system, which should be more clear on the use and detail more of what happens behind the scenes as well. Unforunately i am really not good at producing videos, which is why it takes me so long to do, but should come soon.

    To get started add the GrassManager script to an empty gameobject and paint on Unity terrain with right mouse button, after pressing the "paint grass" button and press on one of the grass icons. Use the left ctrl button to stop painting whene right mouse is pressed (for rotating the camera) or press the left mouse button while holding the right to lock the camera (stop rotation while painting) and keep holding the right to paint (camera will revert to non locked after right mouse is unpressed)

    To paint on meshes you need to activate "paint on tagged item" checkbox and add the "PPaint" tag on the mesh

    This is the first steps to painting, You may also want to create a windzone by pressing the relevant button and scale the brushes using the World scale parameter and regulate trhe wind strength. Then for each brush various options can be tweaked in the part below the brush icons, which are described in the manual (like size, spread etc).

    Note that for smaller scales the "stop motion distance" parameter must also be set lower (so the local interaction scales as well and grass behaves smoother)

    I hope to have the voiced videos soon to further help get starting with the system.
     
  50. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288





    The new Version 1.7 of InfiniGRASS will come next week and have the following features:

    - New distant forest system
    - New Daisy 3D brush
    - New Red Tree brush
    - New local circular wind shader (helicopter emulation)
    - Fix issue with LODs and 64K batched models
    - Fix issue where GrassChopCollider script is attached to grass automatically
    - Add option to not apply default settings when brush icons are pressed (same for wind)
    - Show currently grabbed terrain in Inspector, to know where Mass Planting is happening

    i will add to the list as the v1.7 progresses

    Everything shown in the images is possible with InfiniGRASS v1.7 (and Sky Master ULTIMATE for the gradient based volumetric fog, lighting, river shader and filters)
     
    Arganth likes this.