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. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,020
    Thought I'd have a relax day. Been doing a small test with Skymaster 3.4beta with volumetric lighting and fog. Used the default settings but altered the color a bit. Think I made it a bit too red. Also used ColorfulFX sharp image effect. HBAO trail version (will definitely be gettig this for next project). Scene made with gaia and the excellent exterior models by cobus. Other assets are standard included in gaia samples. Time of day setting was early evening. Really like all these assets. Skymaster is really nice

    SkymasterTest.png
     
    Last edited: Aug 28, 2016
    TeagansDad and nasos_333 like this.
  2. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,291
    Wow, it look stunning :). Love the setting, atmosphere and colors.

    I usually put lots of reddish in evenings for my work as well, maybe overly so sometimes, so i definitly like the reddish hue overall and i think comes in nice contrast with the sky.
     
    docsavage likes this.
  3. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,020
    Apart from the HBAO asset and Colorful FX it's all Skymaster. I can really recommend the other two assets and will be picking HBAO as for next project. ColorfulFX has loads of stuff in but only sharp effect was used in his scene.
     
    Last edited: Aug 29, 2016
    nasos_333 likes this.
  4. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,020
    nasos, The amount of stuff included with Skymaster and infingrass etc you are seriously underselling your products. I think the prices are right but you need to highlight all they can do more. When I bought these packs I had no idea how much extra stuff I was getting:) The built in bloom effect is very nice and flys along as from what I can see:)

    Edit - for anyone reading the bloom effect is in Skymaster not infigrass. I should have posted these images on that thread instead:)
     
    nasos_333 likes this.
  5. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,291
    I have Colorful but did not have the chance to have a look at it yet, i was using mainly Aplify Color asset for the coloration and moods in my game and i suppose i could mix the two as well, the result looks very nice.

    About the included systems in the assets, i suppose you are right and even more so as they progress e.g. InfiniGRASS v2.0 is like a whole new asset with pooling, streaming, billboard creation on top of the core batching-optimizer-painter, and Sky Master mixes water (that is about to even better with FFT waves), sky, clouds and volumetrics in one solution (plus some more subsystems like a decal and forces module, e.g. used for the seagull procedural motion in the v3.4 demo etc)

    I think though that since i have a number of assets and many more to follow, with ultimate goal to automate world and gameplay creation in various ways and integration levels between the packs, it is fair to have lower prices so users can afford them all :), and i also do several offers from time to time to further enchance this.

    While working on InfiniGRASS v2.0 procedural planting and streaming and the real time terrain generation, i get super eager to combine this with my gameplay asset (PANDORA) that could create emergent procedural gameplay for not just infinite maps, but infinite gameplay as well.

    That is an idea that i will persue soon after the current updates and my next two assets are released and i hope i can deliver something trully unique all things combined.
     
    Tinjaw and docsavage like this.
  6. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,020

    I don't know how you fit it all in. Do you have 49 hours a day over there?:D
     
  7. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,291
    I try to make the hours seem so :), concentration is the key. My prior work for my RPG helps a lot too, much of the systems are based on code base i did for the game systems, so there was some of the work done already and having a good starting point helps a lot go faster.

    I have now done some extra opimizations for the v2.0 demo and i think it is at a point that i can post a first version, soon after i finilize the impostors system (1st version)

    Also i am evaluating whether i could have a real time road and fence creation in for the first demo.
     
    Slaghton and docsavage like this.
  8. nasos_333

    nasos_333

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

    The new in v2.0 Billboard Altas generator is now fully working,
    it grabs the list of the used grasses, plants and renders them in texture and combines the result in a customizable atlas, which will be used in the Impostor billboards system. The process is fully automated.

    This system currently grabs one aspect for each grass type, though can easilly be extended later to create other approach choices for impostors, like cross section or fade based on direction ones. These will be evaluated for v2.x cycle of the system.
     
    Tinjaw, recon0303 and docsavage like this.
  9. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,255
    Hi, I'm trying to paint grass on a simple plain but nothing is happening, can you please tell me what keys I'm supposed to use for painting? Thanks
     
  10. nasos_333

    nasos_333

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

    to paint on meshes you need to apply the "PPaint" tag on the mesh, the mesh should have a proper collider and the Grass Manager Inspector must have "Paint on PPaint tag" objects option enabled.

    Then select an icon from the paint menu (press paint grass button to make grass icons appear) and right click with mouse (or right click and drag with RMB pressed) to paint on the surface in the editor.

    You can lock the camera rotation by pressing and leaving the left mouse button, while holding the right mouse button always down (so press RMB and hold, press LMB while RMB is pressed without leaving RMB, let LMB up and then continue painting with RMB and camera locked, until RMB is depressed)

    Painting on a Unity terrain is enabled by default (no need to apply the PPaint tag or change options, unless there is more than one terrains in a single scene)
     
    derkoi likes this.
  11. Acissathar

    Acissathar

    Joined:
    Jun 24, 2011
    Posts:
    677
    Hey @nasos_333, I just had a quick question. Judging by your tutorial video titles it looks like this works with multi-tiled terrains, and we can supply our own grasses. Is this correct? (At work so I can't watch the videos themselves).
     
  12. nasos_333

    nasos_333

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

    The system can enable grass on any item with collider, so can mix multiple Unity and mesh terrains.

    You can supply both custom meshes and textures to the system, the way it works is by defining two main prefabs per brush (bark that is the central part and branch that is instantiated many times around the central part), these are regular Unity objects/prefabs and can be edited like all prefabs in the scene and saved, thus any kind of mesh (or texture) can be used.

    The batching can be done for more than grass too (rocks, tree etc samples are inlcuded) and the system supports 3 LOD levels.

    In the upcoming v2.0 the posibilities will be exponentially higher than v1.x cycle, with many extra systems like a full pooling system, batch instantiation system for density increase with lower memory consumption, very fast streaming of lots of detail, automated planting (using exisiting Unity terrain data, or full procedural by rules), automated billboard creation and Impostor system for far away grass etc

    I will post a video of the full procedural mode soon
     
    recon0303 and Acissathar like this.
  13. Acissathar

    Acissathar

    Joined:
    Jun 24, 2011
    Posts:
    677
    Glad to hear that it is as I hoped, I'll have to pick it up tonight :)
     
    nasos_333 likes this.
  14. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,291
    Video from the Demo WIP of the new InfiniGRASS v2.0 system, the goal is to have a vast open streaming land and next generation foliage with minimal memory consumption and optimal performance.

    The demo showcases the new streaming and pooling system in InfiniGRASS v2.0 in the very rough terrain case (most stressing and demanding case).

    Flat terrains (or flat terrain areas) are way more forgiving as there can be near 100% pooling used and near zero memory consumption, so this demo showcases the most extreme case where there is both a vast terrain and is irregular to a big degree.

    The base systems are all in, though a lot more optimizations are possible, e.g. if land tiles are larger (thus must be planted with much more grass-trees) a radial planting system will be devised so the planting happens gradually and starting nearest to the player as well.

    Another idea on further optimizing the real time planting is to plant a first big area around the player and then plant the terrains he is moving towards gradually as priority, with a route estimation algorithm. These extra details will come in v2.x cycle for even further optimization (or v2.0 if i manage to have this ready soon, as the first step which is decoupling it from streaming and terrain generation is already done and the flags to notify planting is implemented as well, thus an iterator with custom rules is generally easy to adapt)

    Another thing missing is the pool restrictions, for example now the pool of items can get very big thus creating some extra delay when the generated lands are vast in number, but this can easilly be limited to get items as needed to cover the immediate throughput needs, so the list does not create issues.

    And finally i see that some operations like material names grab etc can be cached for further reducing GC collection due to those, so is another optimization that will go in. On the DX11 side the new in Unity 5.4 GPU instancing is also evaluated for v2.x versions

    The demo is software recorded (Bandicam) in my 2010 PC (non gaming core 2 duo CPU, xbox one level GPU)

     
    Last edited: Aug 31, 2016
    Tinjaw, Slaghton and docsavage like this.
  15. nasos_333

    nasos_333

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

    New left mouse button painting is now available as a hotfix for v1.7.6, for everyone interested.

    I have managed to find a way to use the left mouse and the only limitation is that other objects cannot be selected when the Grass Manager is selected and is in paint modes (grass, rocks and fence). I can send the patch for v1.7.6 immediately on PM request.

    This will be the default painting mode in v2.0 as well.
     
    Slaghton, Acissathar and ftejada like this.
  16. Acissathar

    Acissathar

    Joined:
    Jun 24, 2011
    Posts:
    677
    Hey Nasos, I did end up grabbing this last week but I've got a few quick questions.

    First, you mentioned that there was a SpeedTree brush for 1.7.5, which one is that? And is it just a simple copy and replace?

    Somewhat related to that, do you have a blank grass template (textures)?

    I tried copying one of the grasses and following along with the video to add it in, but i'm getting an unknown reference exception about the root_tree missing. Basically I duplicated the Grass prefab (under Prefabs/Resources/Grass) along with the material, and changed it to my texture I wanted to us. I made sure to update the bark and blade references, while the material was renamed.

    I did have this stored outside of the InifiGRASS folder. Was that the problem?

    How is this coming along? This seems like it would solve all of my above problems ;)

    Finally, I plan on using this over large areas (like multiple large terrains, non-infinite). Am I better off waiting on 2.0 to implement this or would I be fine using the tools available by making multiple grass managers and toggling them via script?

    Overall though I've really liked what I've been able to toy around with and am glad I made the purchase. Keep up the good work!
     
  17. nasos_333

    nasos_333

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

    About the brush issue, normally the folder placement should not be a problem, so my guess is that something is wrong in the planting procedure. How did you plant the grass to test it ? The grower must go in the Grass Manager and then painted with the tools for example. Also do you get the error in editor or when entering play mode ?

    Another reason that may break it, is an empty mesh (meshfilter with no mesh applied) or a mesh without material, both these are possible to produce an error due to batching breaking, so as another step make sure that all meshes are defined.

    If none of the above works, you could send me the brush and i will test it asap.

    The SpeedTree is a sample i can send, i cannot include in the pack due to licensing issues, so i will send a PM with it.

    The converter for v2.0 will turn grass and trees planted in Unity terrain to InfiniGRASS types, in v2.x cycle (v2.1 probably) i will also have conversion of the Unity items to InfiniGRASS brushes so the types can be 1:1 match to Unity used ones.

    On the larger maps, v2.0 will definitly be a big step up in memory conservation. From a performance standpoint using multiple managers and disabling them should be fine with the current system (disabling the grass and batchers also), but based on the grass types used memory can be filled a lot (e.g. the first type needs a lot less memory than vertex types etc), thus first try the types you need and see how memory scales and if you are good there you can do the multiple managers.

    Otherwise v2.0 will have batch copying (so some of the items in the patches share the same mesh and save ram) and pooling (saving in instantiations and increase streaming ability), so allow vast maps to be created and even streamed. The only downside is a bit increased draw calls vs the current full batching case (which is the ideal when memory in not an issue), which in v2.x i will also handle (by using bigger batches with more than one items, doing checks for batch radius with more than one batch memebers and some algorithm to define the shape and GPU instancing for DX11 systems, these are more advanced so i will handle them after the initial release)
     
  18. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,291













    From the WIP in the Sky Master v3.4 and InfiniGRASS v2.0 procedural dynamic world demo. Everything in the world is procedurally created on the fly.

    WIP video:


    Sky Master ULTIMATE v3.4 and InfiniGRASS v2.0 used in streaming vast open worlds (endless procedural creation) with next generation grass, environments and shadows.

    InfiniGRASS 2.0 uses a combination of balanced batching and pooling to get the best adaptation / next gen grass look VS best performance and smooth streaming ratio.

    Sky Master ULTIMATE v3.4 is also adapted for the endless world to make sure it works properly under the full world scale for the volume clouds, volume lighting and other systems.

    This is an early demo of the possibilities, a lot more additions and optimizations will be made until the final demo.

    The demo is software recorded in my 2010 PC, and uses most effects in both Sky Master (volume clouds, volume lighting, ambient calculations, waving water, refractions-reflections etc) and InfiniGRASS (grass can be burned, erased and has wind emulation, player interaction etc)
     
    Acissathar and docsavage like this.
  19. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,020
    Looks great nasos.
     
    nasos_333 likes this.
  20. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,291
    Thanks :).
     
    docsavage likes this.
  21. Muralidaran

    Muralidaran

    Joined:
    May 2, 2014
    Posts:
    93
    Hey Nasos

    Can you send me the Speedtree button sample please.

    Thanks
     
  22. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,291
    Sure, i sent a PM
     
  23. Fatalis

    Fatalis

    Joined:
    Sep 9, 2013
    Posts:
    52
    Hey I was wondering if an update to InfinisGrass documentation/setup instructions is planned? The current one is somewhat difficult to understand for me.
     
  24. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,291
    Hi, i plan to do a revise of the manual for v2.0, where i will add also the new items, so i hope this new version will make it a lot more clear. Also there are video tutorials that explain the procedures in action, so are more intuitive to get started with and i recommend them before going through the manual.

    The videos are linked in the asset store page, in the videos section, for quick reference.

    I will add more video tutorials for v2.0 as well. Also a lot of functionality that is now manual work will be automated, like filling large terrains, spliting to multiple managers etc for v2.0
     
    ftejada likes this.
  25. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,291









    WIP from the new Sky Master ULTIMATE 3.4 and InfiniGRASS v2.0 demo, for procedural world and weather conditions generation.

    Based on this new combination of systems, a lot of weather etc functionality will be fine tuned and new system will be created to tie the climate, foliage and land together in various ways for the procedural fully automated creation of an evolving world.
     
    Acissathar likes this.
  26. Fatalis

    Fatalis

    Joined:
    Sep 9, 2013
    Posts:
    52
    Thanks for the reply nasos and good to hear! I was also wondering, regarding the conversion of Unity trees/grass to Infinigrass objects, does this make them accessible as GameObjects via code?
     
  27. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,291
    Yes, you can access their colliders and positions (the actual objects will be disabled and the batched model active, you can also unbatch on the fly and do anything with the original objects, that is how the scripted interaction mode works as well)

    The scripted interaction will also benefit from the new in Unity 5.4+ GPU instancing (DX11+) when the objects open up, to reduce draw calls created at that local point. This is planned for v2.x cycle (i have already created the required shader and it works, though needs more polishing and has some issues still which may require some patches from Unity side as well to be full stable).
     
  28. Fatalis

    Fatalis

    Joined:
    Sep 9, 2013
    Posts:
    52
    This sounds great! Do you have an estimated date for the release of 2.0?
     
  29. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,291
    The upcoming v2.0 was meant for early Septemeber, but i added so much more that went for later September or early October, though i now managed to put in all optimizations i wanted, which increase performance a lot and allows even more spectacular worlds, but those will require some extra care to have them user friendly in front end and the GUI needs lots of work, so i now target early October, but with most possible optimizations in, so will be closer to the full potential and i think this is better than rush it and have users create stages with less than the full potential and have to rework for example.

    The system core is working great (baching, pooling, batch instantiation etc) and the demos are very fast even on my old PC and with Sky Master full systems on and on the fly created land and planting, to represent how an actual game with everything would be (and even more a fully streaming world which is the heaviest case), so the closest i get to performance perfection and streaming a full world, the more i want to be perfect on the GUI and user options to have it as polished as possible.

    So the goal is now early October for the beta release and a few weeks after for the store.

    The demos is also taking lots of time to perfect since i had to create a land generator to showcase the on the fly planting and new streaming - pooling abilities and perhaps i add roads and houses too, to showcase grass placement and strategic games possibilities.

    I plan to post a first demo soon to test the potential (a few tweaks remain for that for the grass placement algorithm and add more grass types) and more demos will follow until the Beta release as the system gets the full polish.
     
  30. nbac

    nbac

    Joined:
    Jul 7, 2015
    Posts:
    267
    i watched all videos over and over tried every setting but the update behaviour does not to be consitent.
    the interaction with grass will not work proper with my worldscale of 2.5. the bulging effect is allways to big.
    where can i set it globally. even if i set it per material on play it gets overwritten by something. and the stopmotion behaviour seems to be unpredictable per grass type (i got something now but i dont know how). does enabling shader based interaction overwrite any other setting? i am really confused every grass type reacts differently
     
  31. nasos_333

    nasos_333

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

    The major parameter that controls the shader based interaction distance is "Stop motion distance", try to set this lower based on your world scale (e.g. 1-4 meters) and let me know if this solved the issue. First click on the icon of the grass to be adjusted, then adjust using the slider in the brush paint settings.

    The effect is set per material and is not globally adjusted because different meshes or grass types may require fine tuning of the effect or further away interaction etc
     
  32. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,291




    WIP videos from the new Sky Master ULTIMATE 3.4 and InfiniGRASS v2.0 demo, for procedural world, weather conditions generation and automatic foliage placement and growth.
     
    Acissathar and docsavage like this.
  33. nbac

    nbac

    Joined:
    Jul 7, 2015
    Posts:
    267
  34. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,291
    "Buldge scale" is changed by the wind turbulence variable in the Inspector.

    "Buldge scale copy" offsets this above value per material (to refine the effect for each brush individually), so you can set the Turbulence lower in the Inspector first and then se set Buldge scale copy lower if this was not enough for example.

    The wind strength must also be set a lot lower in the Inspector and the Wave control x and y axis offset the main wind strength in the shader for fine tuning (like "Buldge scale copy" does for Turbulence).

    Let me know if one of these solves the issue. The Stop motion distance must be set starting from zero (no effect) to the desired (for your world scale should be very lower as well).
     
  35. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634

    Take your time, I would rather you get it right, then rush . So we can wait patiently. :) Long as InfiniGrass 2 works great for mobile I will be happy...
     
  36. nbac

    nbac

    Joined:
    Jul 7, 2015
    Posts:
    267
    nope i cant get rid of the big bulging effect even if i zero almost everything out. the general wind and turbulence seems to be correct but the bulging next to the ideling player is still there. i dont know what i am doing wrong
     
  37. nasos_333

    nasos_333

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

    This is strange indeed, i can Skype in and try to see why this is happening, from my tests adjusting the Stop Motion Distance should stop the waving motion, so perhaps for some reason the material is not getting the proper value.

    Here is a small guide that shows how the waving motion is affected in the lower scale world, for reference (world scale 2.8)

     
  38. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,291
    I have done some extra options for shadow etc control that will benefit mobile, since it will cover a wider range of devices abilities. The pooling will also be good for mobile use as it uses the minimal resources. Now i am in the process of defining the groups of auto placement properly so that each type of grass and batches will have the best memory vs pooling vs ground adaption etc ratio.

    For example the big batches with many items are better suited for less bumpy ground and the smaller batches (e.g. one item per batch) for more bumpy ground (and full batching is used when the ground is too irregular to use one of the pooled items). These should automatically be assigned to the proper ground, so i am now looking at all possible rules that help to that direction and implement in the new streaming world.
     
    Acissathar likes this.
  39. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634

    Great I do Stream most of my worlds for mobile .. So that is great to hear.
     
  40. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,291





    New v2.0 streaming vast world
    demo WIP.

    The WIP is now focused on getting the most out of batching when in combination with pooling, using a grass placement AI that makes sure the optimal result is selected based on landscape and other conditions.
    .
     
    Acissathar, ftejada and docsavage like this.
  41. Fatalis

    Fatalis

    Joined:
    Sep 9, 2013
    Posts:
    52
    I am attempting to use the mass place feature for InfiniGrass, but am unable to get anything to spawn. I have set up corners A and B higher than the terrain. I'm getting these two debug messages and I've attached a screenshot of my settings.

    Second corner x must be higher then first corner x
    UnityEngine.Debug:Log(Object)
    Artngame.INfiniDy.InfiniGRASSManagerEditor:OnInspectorGUI() (at Assets/InfiniGRASS/Scripts/Editor/InfiniGRASSManagerEditor.cs:1830)
    UnityEditor.DockArea:OnGUI()

    SepX=0 SepZ=0 Dist=0.1
    UnityEngine.Debug:Log(Object)
    Artngame.INfiniDy.InfiniGRASSManagerEditor:OnInspectorGUI() (at Assets/InfiniGRASS/Scripts/Editor/InfiniGRASSManagerEditor.cs:1953)
    UnityEditor.DockArea:OnGUI()

    EDIT: Also, is there anyway to increase the radius to place trees/grass?
     

    Attached Files:

    Last edited: Sep 25, 2016
  42. Fatalis

    Fatalis

    Joined:
    Sep 9, 2013
    Posts:
    52
    I've also reviewed both the Infinigrass manual and your video on adding custom assets. The terminology used is quite confusing, as I'm trying to specifically add trees. In the manual it says to add the "middle part" and "blade" to the bark and branch parameters, which doesn't really match up to the parts of a tree. This process also seems to only call for one material to be assigned to the Grass Manager, does this mean SpeedTree trees are not supported, which need multiple materials?
     
  43. nasos_333

    nasos_333

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

    The system supports any number of materials through the extra materials list, where more materials than the main one can be declared. Note also that for LODs, the first material in the material list must have LOD0 (or LOD1-2) in their names, even if the materials are for bark for example (so dont have to use InfiniGRASS shaders, but the naming must be such so the system triggers the LOD creation and use)

    The creation of new parts is done by dragging a copy of the sample ones in the scene (or your previous own ones) and change to anything needed (erase the old, add new meshes and materials in the holder object and apply the prefab).

    There is one central prefab (called bark, as this applies to trees also, so the system is made in a tree oriented sense, only the bark in grass case is a central part that can be a flower or a simple blade or something in general that needs to be at the center and instantiated only once, i use this for some of the trees as well when only one tree is needed and grass spread around it, the tree in this case must go in the bark prefab).

    The other prefab is the branch prefab that is instantiated based on spread and density values around the bark, this is responsible for creating the blades (and in InfiniTREE case the L-tree branch structure for example).

    The two prefabs must be declared in the grass grower script in the bark object and branch object variables. This grower script then is declared in turn in the Grass Manager so can be painted with the tools and be setup for growth.

    The radious of placement in each stroke is adjusted by the "spread" value, increasing the spread will move the blades in further distance from the center point of growth. I recommend using a value not too big and not too small on this and regulate density as well to have a dense as needed but not overlapping grass.

    About Mass Placement, the Corner B must be higher in X and Z than corner A, otherwise will reset to A position. Also the mass placement grass patches count is related to the density, so increase density of Mass Placement until there is grass created. The denity bounds depend on the "World Scale" variable (i did this since Mass Plant can be heavy and having a large bound could create stability issues), so for lower world scales, first set the World Scale (e..g. to 2-3 from 10) and then set the Density bound higher to get grass for this scale.

    In the image posted the system states that Density = 0, which means no grass will be planted, so increase the density until there is a number of grass patches available to plant. If still zero at max, then possibly need to decrease the World Scale as well first to increase the bound.

    Let me know if these help and for any further details and help
     
  44. littlestereo

    littlestereo

    Joined:
    May 27, 2016
    Posts:
    6
    How is VR support with inifiniGrass, specifically Vive / SteamVR?
     
  45. nasos_333

    nasos_333

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

    The system does not do anything fancy in image effect etc so should work ok in VR case, but i cant test since i dont have a device.

    For such cases i recommend sending a test version to try it on and be sure it works ok for the specific needs.

    Let me know if you would like to have such a test version.
     
  46. Fatalis

    Fatalis

    Joined:
    Sep 9, 2013
    Posts:
    52
    Thanks nasos, your explanation does help clarify. What is considered a higher density? When I put the density of mass grow and world scale down to a minimum I get 1190 as my density.
     
  47. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,291
    It depends on the system and area, for example a very high density (e.g. thsousands of patches) may crash the system due to taking up too much memory at once (Unity is rather sensitive in this). So it is recomended to do more Mass Plants with less patches (e.g. 250-500 patches, depending on grass type and complexity as well)

    In v2.0 the Mass Plant will also have an option to not actually generate the grass in editor and have it grow only in real time.
     
    Acissathar likes this.
  48. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,291












    Streaming world demo WIP with InfiniGRASS v2.0 and Sky Master ULTIMATE v3.4 for evolving volume clouds, volumetric lighting and sky-atmosphere-fog shading.
     
    Acissathar likes this.
  49. nasos_333

    nasos_333

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

    It has come to my attention that in lower scales (e.g. World Scale 1-5) there is an issue with the Interaction effect of grass, which may be very high in Y axis (independtly of the "Stop motion distance" variable that adjustes the effect radius from the player, except when it is set to zero).

    I have devised a new version of the "InfiniGRASS Directional Wind ROOF" shader for that purpose, which has a controllable Y axis offset for the interaction and i can send immediately upon PM request.

    I have also added an external variable, so the Y offset can be adjusted per material for fine tuning (e.g. 0.8 in the low grass case in 3 world scale). The offset variable is named "Interaction Max Offset in Y axis" (in "InfiniGRASS Directional Wind ROOF" shader).

    The default value (hardcoded before) was 3, i recommend a value between 0.7-0.8 for low grass and 1.5 for the higher one (e.g. first grass type)
     
  50. nasos_333

    nasos_333

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

    The final stage of optimization is now completed and an infinite world is now supported for v2.0 of InfiniGRASS.

    Also i have adapted the new demo and brushes / world to a much lower than v1.x scale, close to 1:1 so the issue
    with scaling in shader in lower scales etc will all be handled on release. I am also adapting all brushes and shaders for that purpose.

    A revised version for the painter is also available in Google Drive download upon PM request. The new version is updated to paint with left mouse button and not paint when ctrl (look) or alt or ctrl+alt (pan mode - latest addition)
    are active. This is especially usefull when a pen is used for painting and in certain Mac systems (command+alt is
    also handled).
     
    ftejada and docsavage like this.