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

World Building InfiniGRASS STUDIO✅-Massively optimized,interactive & non uniform volume grass for procedural worlds

Discussion in 'Tools In Progress' started by nasos_333, Aug 24, 2015.

  1. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    Hi everyone,

    I had a request in the latest review about streaming of grass, which functionality is already integrated in the system. I will be adding more info and tips on how to use this system and provide a sample controller script to add on the fly grass with zero initial loading time (tile system sample).

    The default mode (non streaming) is meant for loading all grass at game start, for streaming levels the streaming mode of InfiniGRASS has to be used, in this mode the load performance of the grass can be instant and independent of the grass amount.

    The system can be used in a gradual growth mode, so only grass around the hero is created at game start, when minimizing start scene time or real time streaming is required. This will create then grass on the fly as the hero moves, so the grass density has to be regulated for this.

    Essentially you can have zero intial loading time using this system and then regulate the grass for the real time growth and have it come on scene gradually, as the player approaches.

    The batching is also multithreaded, so will benefit from more cores.

    The grass system optimizes very big scenes and allows a lot of grass with great performance, look and view distances, that is the main aspect and start scene time is a trade off if lots of density is needed, or the gradual growth mode can be used for very little initial load time for the grass only around the hero intitially for example.

    You can also use multiple grass managers to decide which grass and where gets instantiated at game start, or later in a cut scene etc and each have different growth modes.

    The grass growers can be prefabed along with their Manager and then be instantiated on the scene as well, in gradual growth mode, this can allow dynamic level creation for example with zero hickups upon instantiation (since grass patches can be far away from hero when get in the scene and appear gradually as he moves near)

    I attach a video showcasing the gradual growth mode and zero initial (grass) loading time and various in between choices (e.g. a bit of grass loaded near hero at start, the distance is controllable through the Grass Manager).



    A suggestion when using the gradual grow system, is to use multiple grass mamangers to fine tune and layer the growth.

    For example one manager could grow the distant trees at distance 300 and another have a lesser distance at 100 to grow grass, thus when the player reaches the distance where grass would be created under trees, the trees would have already been created, thus reduce the local creation overlap and reduce load.

    This way the system can be fine tuned for maximum performance and density (as the target system allows) when streaming is required.

    Adding on the above, the managers can be used as a higher level LOD for the gradual growth as well, for example the trees grown at distance 300 could be split in two managers and have half grow at distance 250 and half at 300, this will further reduce the load while creating the forest, as the density in the same area would be created gradually and resemple a LOD scheme, where some of the trees would show at one distance and then more added as the player moves closer.

    Another suggestion for the streaming case is to use lower member count per batch, this count is set higher for the non streaming case as default and for streaming should be set lower, to allow the faster batching of items on the fly. The member count can be changed by the "Max static group members" variable in the Grass Manager (minimum is 8, i will add an option to go lower for streaming case in next versions)

    I have now also added the option to go down to 2 static group memebers in the Inspector for v1.7. Here is two videos showcasing the gradual grow mode, there is no grass in the scene when the game starts so there is zero loading time as far as the grass system is concerned.



     
    Last edited: May 19, 2016
  2. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    UPDATE on streaming grass:

    I have created a Tile based system that uses on Grass Manager per tile in gradual mode and these tiles can be instantiated at run time for creating a game world. The tiles and managers are disabled as needed to maximize performance.

    I added an extra control variable to cut back the materials update by the instantiated Grass Managers (as this is expensive and only one Manager should control the materials), this modification will come in v1.7.5 soon (it is a simple if addition, two code lines in GrassManager.cs)
     
  3. nasos_333

    nasos_333

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

    Grass streaming, after the grass is streamed has the static grass impact in performance (like when grass is all grown at scene start)

    Each instantiated tile has its own different unique grass placement (so can adapt to extra ground objects and formations as the tile comes in)



    Going the full distance (50 instantiated tiles in this test)
     
  4. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    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).
     
  5. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    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)
     
  6. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    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.
     
  7. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269


    Voiced tutorials series - Tutorial #1
     
  8. nasos_333

    nasos_333

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





     
  9. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    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
  10. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    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
  11. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    A few new sound volume enhanced videos. Tutorials 1 and 2 are now further louder and 3 is also increased in volume.





    I will upload 4-6 soon and post as well
     
  12. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269




    Tutorials 4-6 with enhanced in volume sound.
     
  13. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
  14. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    KNOW ISSUES with 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
     
  15. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    UPDATE:
    Another feature for v1.8 added, micro tweaking of the fade on the transparent shader, for fine tuning the fade behavior at near the cutoff distance.
     
  16. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    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.
     
  17. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
  18. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269







    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.
     
  19. Twoonebe

    Twoonebe

    Joined:
    Mar 30, 2013
    Posts:
    174
    I have a problem, my mesh terrain lose his PPaint tag on the objects and i can not paint more grass and i don't now why the objects lose the tag and the tag are gone and can not set again to PPaint ??
     
  20. Twoonebe

    Twoonebe

    Joined:
    Mar 30, 2013
    Posts:
    174
    When i start the projekt everything is okay, but after playing the tags are lose and can not be attach again ???
     
  21. nasos_333

    nasos_333

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

    Maybe you need to define first the tag in the Layers drop down menu, so is kept for the project.

    What Unity version is used also ?
     
  22. Twoonebe

    Twoonebe

    Joined:
    Mar 30, 2013
    Posts:
    174
    Unity Version 5.3.4f1


    i have made a little video for you
     
  23. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    I see, check first if "PPaint" is declared at the Layers menu, in Tags section. This is a bug of Unity is my guess, as i dont handle tags directly, only read them and if a tag is declared it is up to Untiy to not have it dissapear from the tags list.

    I cannot reproduce this in the system (i use Unity 5.3.2f1) and since i do not handle tags it is probably not related to InfiniGRASS, or it is that i had declared this tag and finds it temporarily to use it, then when the original scene is reset it stops having it, so the solution might be to exlicitly declare it in the tags list, if it goes away even then, should be a problem in Unity is my guess as this is an internal Unity thing and i dont have control over.

    On another note, it is recommended to upgrade to v1.7.5, since it solves a breaking bug with the Daisy and Distant Forest brushes, or at least not use them until the upgrade.

    Let me know if the above help and for further questions, i will also check about the tags issue to see if it something reported from other Unity users.
     
  24. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    I found a reference for same problem here: http://forum.unity3d.com/threads/tag-strangeness.404975/

    And they recommend the same solution, to define the "PPaint" tag in the project (as it is probably not defined)
     
  25. nasos_333

    nasos_333

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

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269




    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.
     
  27. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    Gradual snow growth - InfiniGRASS & Sky Master ULTIMATE combination

    This is a summary of what is planned for v1.8 (and beyond)

    v1.8 and beyond planned features:

    - Auto Reconfigurable brushes (for endless variety with a single brush)
    - Procedural grass and rocks shaping, for endless variety in mesh shaping with a single source mesh
    - Full procedural growth mode based on rules (no need to paint beforehand on editor)
    - Streaming sample scene with multiple real time instantiated Grass Managers (already done and is in refinement stage)
    - Smooth Seasonal growth & further integration with Sky Master ULTIMATE
    - Grass burn
    - Tiling system
    - Conversion of Unity terrain grass - trees to InfiniGRASS
    - More Shadow regulation options and shadow manager
    - Add fade between lod distances (TBD)
    - Bake grass map from top camera view (already implemented in one of my other packs, need adapt to InfiniGRASS)
    - Assign vertex color based on camera top view texture color (to cover all cases and Unity terrain, currently vertex color based on ground is using raycast to a textured ground with a readable texture)

    InfiniGRASS is now -33% off on Unity Madness Sale !!!!!
    .
     
  28. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    A summary of videos showing the gradual snow growth and combination with Sky Master ULTIMATE





    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.


    InfiniGRASS is now -33% off on Unity Madness Sale !!!!!
    .
     
  29. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269






    InfiniGRASS v1.7.5 Demo painting pics
     
  30. Jay2645

    Jay2645

    Joined:
    Jul 27, 2012
    Posts:
    3
    So I have a game which relies upon fairly large (10000x10000) procedurally-generated terrain. I automatically generate a heightmap and different "biomes" within the terrain, then pass that off into another system (TerrainComposer), which generates the actual terrain, splatmaps, trees, etc. Everything is being handled on 4 5000x5000 Unity Terrain tiles.

    My goal is to be able to procedurally generate InfiniGRASS grass on these tiles. Right now, I've been using Mass Place with anchor points positioned far apart to create grass on a per-tile basis, but I can't set the density too high just because of the sheer amount of grass being created. The gradual grow mode seems perfect for what I want to do, but instead of growing pre-placed grass, I want to be able to GENERATE the grass ahead of the player (and destroy grass too far behind the player).

    Is such a thing possible now? Or will it be coming later? I know you mentioned something about a full procedural growth mode based on rules, which sounds perfect for what I want to do. Alternatively, if the upcoming ability to convert from Unity grass to InfiniGRASS that you mentioned can be done at runtime, I can use the grass-growing system I already have in place through TerrainComposer to convert the Unity grass it generates into InfiniGRASS.

    Thank you!
     
  31. nasos_333

    nasos_333

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

    The full automatic generation (without actually paiting the grass in editor) is coming in next version and is what i am fully working on now, plus a higher level manager that will manage the current Grass Managers for a higher level LOD for both the gradual grow mode and the new full procedural grow mode. Spliting to managers has the perk that can be disabled whole, so you get zero overhead from the system (e.g. LOD distance checks in batch groups or Grass Manager checks) from all grass managers and batchers that are not used when grass is far away.

    These are possible to program with current version (the logic is like planting in my demo, spread in frames and with rules to define the creation), but the coding is not trivial and there is performance considerations as well, so i am trying to streamline these for next version and offer them as an extra feature that is ready to use through this new higher level manager so users wont have to program one, and will have a good start with a few rules i will set (controllable in the inspector) and users can extend these rules in code if needed (as the various possibilities are many and can be specific gameplay dependent also so the grow rules can be different for each case)

    Growing in full procedural from Unity terrain map at run time is alos planned for next version, and the conversion of the grass to InfiniGRASS in editor as well, also the split to Grass Managers so the editor with the extra editor overhead can manage it better.

    These are all rather hard to perfect amd polish, since creation of grass at run time needs special spread into frames technique to maximize performance, so i cant say a hard release date, but my estimation is near end of June for the whole pack of above features, some may code as patches sooner though (e.g. the tiles sample and a first version of the higher level manager are already working and could be out much sooner, with pre-painted tiles that can be instantiated at run time with the grass ungrown and then uses the gradual grow mode to bring it in, this is one approach for endless grass when tiling system is used)

    For such amount of grass also make sure to use the new original mesh elimination and disable grower after grow modes. These make a very big difference on performance and RAM conservation (can be used when scripted dynamics are not needed, as scripted dynamics need the original meshes when opening the batch groups for direct manipulation).

    The create and destroy mechanisms are already in place with the pre-painted grass in gradual grow mode, so these will be adapted to the new full procedural system as well.

    Let me know for any further questions and suggestions
     
  32. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269









    Round planets and detailed forests (InfiniGRASS v1.7.5). No LODs or any extra optimization has gone in yet, performance on my old 2010 PC (core 2 duo), wiht multiple image effects, Anti Aliasing and water.

    Volumetric fog and water from Sky Master ULTIMATE.
     
  33. nasos_333

    nasos_333

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

    One note on the PPaint tag used for painting on meshes. This tag may be added automatically temporarily if one of my scenes is loaded, but it will probably not work properly this way.

    The proper way to define tags is by the Layers pull down menu, in Tags section, the "PPaint" tag must be defined for the project so it is always available when needed.
     
  34. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269










    Detailed forests (InfiniGRASS v1.7.5). No LODs or any extra optimization has gone in yet, performance on my old 2010 PC (core 2 duo), wiht multiple image effects, Anti Aliasing and water.

    Volumetric fog and water from Sky Master ULTIMATE.

    InfiniGRASS is now -33% off on Unity Madness Sale !!!!!
     
  35. Macklehatton

    Macklehatton

    Joined:
    Dec 22, 2013
    Posts:
    10
    I'm experiencing very high memory consumption when I paint grass in the scene view that gets worse the more I paint and locks up the editor after creating only a small patch of grass. This happens in the demo scenes as well. The performance of the demo scenes in game view is good and I'm even able to paint in them with no problems. Any idea what might be going on?
     
  36. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    If there is lots of grass you can use the Editor view distance to limit it and increase painting speed also. In play mode you can eliminate the original meshes to save a lot on RAM for static grass that is not scripted (the grass is shader dynamic of course), i dont have similar option in editor since the grass has to have the original meshes to edit the grass.

    You may use multiple grass managers and disable all managers not painting with, also you may ungrow the grass to eliminate all from the scene for all managers, so they will use almost nothing (as grass does not exist on scene) and reduce scene space as well (besides the one you currently edit grass on).

    Let me know if this helped and for any further questions.
     
  37. nasos_333

    nasos_333

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

    It seems all my demos are disabled by Dropbox, due to bandwidth limitations. I will try to contact Dropbox and restore functionality as soon as possible and if all else fail i will upload Windows version of the demos as standalones for download though Google Drive.

    Please excuse the inconvinience.
     
  38. Macklehatton

    Macklehatton

    Joined:
    Dec 22, 2013
    Posts:
    10
    I was able to figure it out. It was the code for 'Views' in Fungus, the dialogue plugin. It didn't happen in a new project when I imported all my plugins, but by comparing the profilers of the two projects editor scene views I noticed the garbage collector and CPU going nuts from the the method View.RenderCustomGizmo(). I disabled it for now. I'm not sure why this is only causing problems for InfiniGRASS, I assume it needs the garbage collector more often than other editor code.

    Thank you for your help and quick reply.

    By the way I experienced the issue where using the "Mass Place" button the grass manager was unable to get the terrain data. Disabling it and setting it in the debug settings appears to work. Very much looking forward to 1.8 procedural grass placement, many of my scenes have 32 terrains in them and they each need multiple grass managers to be fully covered with crashing Unity.
     
  39. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    About the terrains, if you disable all but one, the system should grab the Terrain Data automaically, try this as well. The terrain data is a bit tricky to handle, so if this does not work i will check more to see if a case has not been covered.

    The gizmos can be disabled in the Inspector, perhaps if they are many cause the performance issue, i will check that as well since it has skipped my attention (plus gizmos are not used in game normally)

    I hope the coming systems will help on oth grass growth and spreading to multiple managers for maximizing performance, in an as automated as possible way, this higher level manager will handle the othr managers and auto place (or procedurally place) grass.

    Please if you like the asset, if possible, remember to also leave a review to help with the ongoing effort :), every review counts and allows me to work much faster on the updates.
     
  40. nasos_333

    nasos_333

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

    A sample brush for SpeedTree is also available for download on PM request for everyone interested, for InfiniGRASS v1.7.5.
     
  41. nasos_333

    nasos_333

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

    A new circular wind brush has been added for direct download for everyone interested, on PM request.

    It is the test brush i used for my intitial work on the system, shown in the video below



    This brush has the extra perk that can be used with full texture (without transparency) for extra performance (it is made from thin blade meshes vs the wide meshes of v1.7 brush)
     
  42. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    Last day of InfiniGRASS big Unity Store Madness Sale !!!!

    Sky Master ULTIMATE is also on -34% sale this week ($59 instead of $90), the price will increase to $75 next week and remain there until the v3.4 comes out of Beta and releases on the store, then the original $90 price will apply.

    Make sure to grab the assets while the -33% sale is active for both !!!

    Sky Master ULTIMATE v3.4 Beta will be available for download for all current users this weekend, i will post here when it is ready for download. The first webplayer demo will release tomorrow.
     
  43. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    MINI GUIDE:
    How to lock the camera rotation while dragging with right mouse button (RMB) pressed for painting.

    If while holding the right mouse button down, also click the left once (not leaving the right unpressed at any moment), the camera will temporarily lock while dragging the right. The lock will stop as soon as the right is unpressed.

    The step in more detail are:
    1. press right MB and place your first grass patch and dont leave the right (keep pressing, no more grass will be created before dragging)
    2. Press left button once and unpress (like a left click) to lock the camera (right mouse must always be pressed during this)
    3. drag the right (always pressed down) to paint with the locked camera and repeat when a new starting point is needed

    This works in Unity v5.3.2f1 i test and develop with, and have also verified this works in Unity v5.4 as well.

    Video showing the effect:
     
  44. nasos_333

    nasos_333

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

    I had a request about the effect shown in the below gif, this effect is already possible in the asset by replacing the current local player interaction shader with the new circular wind shader. The vector4 in the material end controls the amplitude, frequency and tangential force of the effect.

    The grass shown in the gif is the first grass type using the circular wind shader

    A new circular wind brush has also been added for direct download for everyone interested, on PM request. This brush has a thinner grass blade and can be used in vertx mode (e.g. put Alpha Cutoff to zero) for extra performance if needed.



    More gifs for reference:
    http://i.imgur.com/ZW06uCc.gifv
    http://i.imgur.com/Z6Jzkas.gifv
    http://i.imgur.com/xGRiefe.gifv
     
  45. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269


    UPDATE:

    New system for batching Unity trees coming in v1.8.
     
    Last edited: Jun 9, 2016
  46. nasos_333

    nasos_333

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

    While working on the new Streaming system controller, i came up with an idea of optimization by using multiple layers of forest thickness. So the idea is to stream trees around the forest boundary (automatically placed as well through the system by texture lookup) and these will have a high LOD distance so will be visible by far away from the forest.

    The forest itself will have a much closer stream and LOD distance, so will start streaming when the player is closer and the in forest detailed is required to be seen. This way there can be transition from low to high detail gradually and ease streaming without having things popup clearly in the distance.

    I am currently implementing this for the new higher level procedural spread and stream controller.

    If you like the system, please remember to leave a review when possible to help with the ongoing effort and updates development. Thanks a lot in advanced for any reviews.
     
  47. Fatalis

    Fatalis

    Joined:
    Sep 9, 2013
    Posts:
    52
    Hey I'm really looking forward to using InfiniGrass to its fullest. I am having a problem though when making my own custom grass. I have viewed your video tutorial and read your manual on adding custom grass but so far I get to try to paint the custom grass and it kinda freezes the scene view for a minute.. and then no grass is painted or sometimes the scene view doesn't freeze, but still nothing gets painted. Also sometimes the "paint grass" "paint rocks" "paint fences" buttons disappear from the grass manager and I have to delete the component and add it again to get them to reappear.
     
  48. nasos_333

    nasos_333

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

    Is this behavior happening in my demo scenes as well ? What Unity version is used and what InfiniGRASS version ?

    I think that the two issues might be related, for example if the painting goes wrong then it may break the system and then fail some of the checks i do on the Inspector code and thus break the buttons, though i had not got any report for such issue so far.

    For debugging this let me know what kind of mesh is used in the new brush (perhaps it is too heavy and creates an issue in batching), make sure that all meshfilters have a material (this may break the system otherwise) and that my demos work (so we can tell if is a global issue or related ot the brush only)

    Also if an error is produced in the log, please post a picture of it so i can preview the error line and get an idea of what could be the cause.

    I can also test the new brush to see possible problems, you may send me a unipackage with just the brush and will test in my local installation.
     
  49. ksam2

    ksam2

    Joined:
    Apr 28, 2012
    Posts:
    1,079
    I have a custom skinned model wan't to paint grass on it but I can't do that, is that possible at all?
    If we can't paint on skinned mesh right now can you add this? or this is not possible?
     
    Last edited: Jun 13, 2016
  50. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,269
    If you mean animated, this is not possible. I have a particle system for such usage in Particle Dynamic Magic system, which can stick gameobject particles to a skinned mesh (and emit particles with masks in general from anything).

    In this case the grass is not batched though and need extra steps to auto batch with Unity (proper material etc) or batch with my custom dynamic batching script.

    So while it is not possible to use the grass system on a shifting mesh (can only follow translation and rotation, not shape shifts etc) i do have a system that does this functionality, but is on my particles pack, since it is handled with a particle system. The two systems can be combined (e.g. use InginiGRASS material for wind, snow etc)