Search Unity

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,364



    More stress tests on performance (very high detail and shadows, distances etc). I have been tweaking the system and the best combination in quality settings is 4 shadow cascades and medium shadow resolution, at least on my very old PC that has a core 2 duo CPU.

    I have that setting described in the manual as well, for reference.

    The pack will be uploaded in a few hours and will be released by the end of the week or early next week.
     
  2. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364






    InfiniGRASS has been submitted to the Unity Store and it is pending review !!!!

    The final demo will come tomorrow, after some extra tweaks and controls have been added.​
     
  3. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364



    Some pics from the new demo.

    I have two major additions planned for the next update (v1.1)

    1. A demo with a second light and controls (the glows in the back of the 2ond pic are due to the indirect light)

    2. More options for the raycasting control, for further elimination of unnecessary detail

    2. A system that will enable to regrow everything painted in real time, by copying a single gameobject and inserting it in the scene after play mode. This way any in game creation can be kept for later use. The batching, LOD and dynamics will all be retained as well !!!
     
  4. nasos_333

    nasos_333

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

    A few extra optimizations (in the form of parameter tweaking mainly, especially for the heavier grass) has gone in the new demo and it will be uploaded it today.
     
  5. Sir-Spunky

    Sir-Spunky

    Joined:
    Apr 7, 2013
    Posts:
    132
    Sounds awesome! This is exactly the thing I'm missing in the built-in vegetation system. Appreciate that you're working on it.

    You mentioned some kind of LOD system. Does this mean it would also work on trees? I'm looking for a system that would use batched billboard trees from a certain distance, so you can have hundreds of thousands of trees in the distance, which then fade into 3D trees that can blow in the wind once you get closer. The LOD transitions seems like the tricky part because the combined mesh has to be broken apart, and specific billboards replaced with real tree models at the correct positions.
     
  6. nasos_333

    nasos_333

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

    This system is based on my InfiniTREE system, that does trees. The current version of InfiniTREE focuses on the complex system behind the powering of both grass and trees, so it is not yet up to par with the grass quality in shaders, editor etc and also it does not do automatic billboard creation.

    What i did is took the core of this system and refined-extended it for grass and created a handy editor around it, which is a much simpler case than trees and now i will apply all the new knowledge to the tree system, for taking it a step further as well visually.

    I cant give a date for InfiniTREE v2.0 though, as trees are way more complex to handle perfectly and require special handling in joints etc

    That said, the current InfiniTREE system supports LOD and billboards etc, the method is that you define a LOD for the tree prefab and name its material with "LOD" word, then the batching will create all LODs and disable them, then enable per distance.

    I have implemented one LOD level in both trees and grass, but it is trivial to add any LOD number in both systems with extra coding and is a plan to add more levels as well in later updates.

    Note that the LOD can be any item, not just billboards and also can cover any level of the tree. For example you may have a tree with a bark and two branch growth levels, where the 2ond level has leaves. It is possible to have a LOD billboard for the 2ond more detailed branches and leaves in one texture and have that replace the 1st branch growth level.

    The next work on InfiniTREE is to add an editor like in the grass, create a new billboard shader that will face the camera, new tree shaders that will do proper fade (like in the grass) and add a special spline based branch growth system. Then i am considering automatic billboard creation ( i can be 100% sure if i will be able to do that one though) and other refinements, like bark mesh painting etc
     
    MarcusWatson likes this.
  7. Sir-Spunky

    Sir-Spunky

    Joined:
    Apr 7, 2013
    Posts:
    132
    Sounds great, thanks for the detailed response, will definitely check out InfiniTREE as well :) Keep up the good work!
     
  8. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364
    Thanks :), the final goal with InfiniTREE is to have something like SpeedTree editor inside Unity, it will take some time to get there, but this is my (rather ambitious) plan :)
     
  9. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364
    More ideas for next updates

    - Addition of a library that will have new items (new grass types etc) that will be insertable to the manager for painting. A click on the item will either insert the brush to the grass painter, or enable the paint if already exists.

    - Fur like behavior with a specia shader and lock of painted batched item to the item grass is painted on. This requires separation of grass per object (besides the already included batch separation per grass type)
     
  10. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364
    Small video showcasing the idea of using the grass with object transforms

     
    MarcusWatson likes this.
  11. mk1978

    mk1978

    Joined:
    Dec 27, 2009
    Posts:
    276
    This looks unbelievable!

    I have been making some golf course architecture visualization in Unity and lately I have been considering to move to Unreal Engine just because the grass rendering has been so bad in Unity. Anyway, this could really change the situation. Hopefully you will find a way to get this working with solutions like Terrain Composer and GAIA, which also seems to be similar terrain creation system coming out soon.
     
  12. nasos_333

    nasos_333

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

    I am definitly considering how this may be used with other grass placement solutions.

    I have Terrain composer and did some research with that and seems to be using a texture to determine the grass placement, which is a bit limiting, though i can imagine i could read this texture and place my grass in the proper spots.

    In either case, my plans include mass placement schemes for later updates, that will use terrain and texture info to do the placement, so the mass distribution will be handled for sure in some way and this is a priority for the first update
     
    mk1978 likes this.
  13. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364
    Summary of what is planned and WIP for the next update(s)

    - Evaluation of Terrain Composer support
    - Support for texture and height based grass distribution, with noise options
    - Library with new grass types (Mushrooms, Wild grass, Moss, Ground leaves)
    - Snow controls for the shaders
    - Snow growth in vertex grass.
    - Grass lock on objects it is painted on and transformation follow (translation, scaling, rotation)
    - More options on grass painting, exclusion of colliders with various methods and further elimination of unnecessary detail, plus texture based brushes
    - Demo with a second back light and controls (gives nice glows in the background grass)
    - A system that will enable the regrowth of everything painted in real time, by copying a single gameobject and inserting it in the scene after play mode. This way any in game creation can be kept for later use. The batching, LOD and dynamics will all be retained as well !!!

    The new super optimized demo will be delayed a bit longer to add all the new grass types, snow controls etc so it becomes way cooler to play with :), i think it will be worth it.
     
    Last edited: Sep 3, 2015
  14. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364
    Some more features for v1.1

    - Lerp of a custom control vector with normal, to emulate gravity effect on plants painted on slopes
    - Gravity emulation on shaders as well
    - Lock of axis of rotation, if plants need to have one of the axis unaffected
    - Rotation and scaling randomization. Rotation around normal vector randomization.
     
    Last edited: Sep 4, 2015
  15. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364


    Testing with water
     
    MarcusWatson likes this.
  16. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364


    New WIP grass brush (mushrooms).

    The mushrooms shader also has real time snow growth support and like grass can have controlable tint for automatic color variation and waving motion.

    Also now stones can be painted like grass, with density, spread, variation control and use the full LOD and grouped batching system. Pics will follow soon, using both new brushes.

    The workflow with the new stones is 1) paint bigger rocks with the rocks system 2) paint grass 3) paint "grass" rocks with the grass system for the smaller detailed rocks, on the bigger rocks that have the collider and on ground.
     
    marcipw likes this.
  17. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364
    Small video showing low grass prefab and wind. Recorded with Bandicam on my rather old PC, so it is only for showing the looks and not representative of the actual performance.

     
  18. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364
    Flowers with randomized rotation - (Randomized rotation option coming in v1.1)
    UPDATE:


    Ground leaves preset has now been added.

    Also a new option to randomize grass rotation gives an extra natural feeling, it is also fully controllable since non rotated grass gives a more uniform look that is great for the bulk of the lower grass and rotation can be used in spots to give a more volume feeling for example.

    Also it is great for flowers etc
     
  19. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364
    Some other ideas i am evaluating for the system, these are rather advanced so are not certain to come, but i will be doing lots of work/testing to see how i could make them happen

    - Full decal conformation to ground option, which means the decals will be placed on a plane than a quad and the plane will be adjusted by the heights of envoronment for perfect fit. This is more advanced and i am not sure would be good for real time use, but is something i would like to evaluate for inclusion in later updates

    - Rocks creation with erossion and shaping in editor and (hopefully) real time as well. I was looking at some epic scenes from LOTR and 7th son movies and while i am there with the grass, the rocks leave a lot to be desired and are an integral part of the overall feeling, so this is another advanced system idea i will be looking to materialize

    Any further suggestions and opinions on the above are welcome :)
     
  20. paulojsam

    paulojsam

    Joined:
    Jul 2, 2012
    Posts:
    575
    when this will be released
     
  21. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364
    It was submitted at 1st of September for review, so if it is not released today, should be up early next week, if all goes well with the review.
     
  22. paulojsam

    paulojsam

    Joined:
    Jul 2, 2012
    Posts:
    575
    thats good to know. whats the price of it, if thats already established
     
  23. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364
    I have an initial price of $40 for early adopters and will go to $60 a few days after it is on the store.
     
  24. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364

    Playing with light
     
  25. paulojsam

    paulojsam

    Joined:
    Jul 2, 2012
    Posts:
    575
    looks good, i hope to buy it the moment it cames out
     
    nasos_333 likes this.
  26. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364
    Detail rocks for v1.1 (they look a bit uniform because random rotation was turned off)

    Nice, the system will also get constant updates.

    I have already added a lot of new stuff for v1.1 like Mushrooms (with gradual snow growth option !!), Rocks (small ones for detail based on grass system), Wild Grass, ground Leaves etc, before v1.0 is even out :)

    The system is very fun to develop for and play with, so i can hardly stop adding stuff :)
     
    bartm4n likes this.
  27. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364
    Extreme detail test with LOD




    I added a LOD version of the mushroom and post some results.

    Locally there is 7-8 million tris and with the LOD version of mushrooms around 900 tris. This can be further extended for more LOD levels (i plan this for later versions).

    I am adding a LOD sample for the new detail rocks brush as well.
     
  28. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364


    UPDATE:

    Two more LOD levels are now added in the system, this allows for some extreme effects, i post a test with 25million+ tris worth of mushrooms (in their full detail).

    The first LOD is activated rather close, so performance can be kept high.

    I will add the proper LOD levels for rocks now, so the map can be flooded with them :)
     
    Last edited: Sep 5, 2015
  29. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364
    New grass type and Randomized Rotation mode for v1.1
     
  30. Crystalline

    Crystalline

    Joined:
    Sep 11, 2013
    Posts:
    172
    I cant seem to find it on the store. Am I possibly missing something though?
     
  31. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364
    It is not up yet, I submitted it on the 1st, but it has not passed the review process yet, so i guess will be up early next week.

    The funny part is that while waiting, i have added a big number of new cool features and brushes / grass types and i think i can even have grass move with objects it is painted on for v1.1 ready, before v1.0 is out.

    v1.1 will also have 2 extra LOD levels (very usefull in my extreme detail tests with the full detail rocks and mushrooms) and a randomized rotation option to give an extra natural feeling to the grass.

    A demo with the new v1.1 features and all the new optimizations will follow soon (the two released demos are both WIP and not on par with the actual v1.0 performance)
     
    Last edited: Sep 5, 2015
  32. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364

    Extreme stress testing with two LOD levels
     
  33. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364
    InfiniGRASS rocks


    UPDATE:


    More feature added

    - Ability to sort batching by object has been added and it is now possible to control grass with the object transform. I tested the system with simple parenting of the grass to the object it is painted on and while it works, when lots of grass is used Unity slows down due to physics calculations.

    Features to be added

    - Separate control of per object batched grass for eliminating Unity physics limitations when lots of grass must be moved around with a physics based parent.

    - Local wind

    Another idea is to have local distrurbance of grass by objects that get painted on top, like have ground leaves create a "hole" in the grass by moving it away from the leaves in a radial way.
     
  34. marcipw

    marcipw

    Joined:
    Apr 18, 2013
    Posts:
    239
    Loving your work! I am definitely getting this when it is released. It has arrived just in time for a clients project.
    This is going to take the visuals to a whole other level.
     
    nasos_333 likes this.
  35. marcipw

    marcipw

    Joined:
    Apr 18, 2013
    Posts:
    239
    Will this work with VR?
    Also can I use a texture / image to control the shape of a flower formation?
    E.g. a logo made of flowers like a high end Chelsea flower show display? ;-)
     
  36. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364
    I have not tested with dual cameras, but it should work as i dont do anything too fancy. I will try to test it as soon as possible as well with cardboard.

    The texture based controls will arrive in an update later, since it is a very broad issue and are fully planned feature for controlling the grass size, rotation etc based on texture color. It is top priority for v1.2.

    v1.1 will come next week and will allow two extra LOD levels which is the current priority, so the assets created by users use this extra LODs. v1.2 will begin development soon after v.1.1 is submitted.

    Suggestions and specific requests on features are very welcome as well, so if some specific functionality is needed i will try to implement in one of the updates.
     
  37. nasos_333

    nasos_333

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

    Added a full option to follow the object grass is painted on.

    Limitations:

    - Too much grass on many object creates a slow down due to all the transforms beeing moved/rotated or physics (i have two methods for the follow, both induce slow down when grass gets too much). This will require further optimization, but is already good to use for lower grass quantities.

    UPDATED: The transform follow has been further optimized and is now working must faster, with adjustable control over looks vs performance.

    - Objects grass is painted on cant be deleted in the transform follow mode(the grass will remain floating). It can be deleted in the physics based mode. This will be handled in updates after v1.1.

    UPDATED: The deletion of the parent object is now handled properly.
     
    Last edited: Sep 6, 2015
  38. marcipw

    marcipw

    Joined:
    Apr 18, 2013
    Posts:
    239
    Thank you for getting back to me. Great to hear!

    I hope UT hurry up and approve this. :)
     
  39. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364
    Usually it takes a few days longer when it is a new pack, so my guess is early next week, as it was submitted in the 1st of September.

    I have added a big ammount of extra functionality for v1.1 as well and i will submit as soon as possible.

    Now grass can follow objects, have multiple LOD levels for extreme polygon number and detailed models and there are many new grass types (and rocks, mushrooms etc) added. Plus lots of smaller optimizations.
     
  40. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364



    Rocks and new grass
     
  41. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364



    UPDATE:

    Added option to random rotate grass and avoid hitting its own collider. The grass on the left is uniform and on the hill is random rotated.
     
    marcipw and MarcusWatson like this.
  42. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364


    Lighting and specular variance
     
    marcipw and MarcusWatson like this.
  43. MarcusWatson

    MarcusWatson

    Joined:
    Dec 9, 2014
    Posts:
    53
    if (post.Author.Name == 'nasos_333' && post.Attachments.Count > 0)
    {
    ClickLike(post);
    }

    Paypal ready and looking forward to the release :)
     
    nasos_333 likes this.
  44. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364

    Hopefully it will pass review today, i cant wait to see results with other art assets and ideas.

    I have taken nearly 300 pics in a few days with the system :), every time i test a new addition i end up with a new world. Most pics come from real time painting.
     
  45. nasos_333

    nasos_333

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

    I just noticed that there is one check for the Terrain.active == null missing (as all tests were done with a terrain present).

    I am fixing it for v1.1 and will submit as soon as possible for the cases where there is only a mesh terrain to paint on.
     
  46. Crystalline

    Crystalline

    Joined:
    Sep 11, 2013
    Posts:
    172
    God, is it gonna pop in the store this year already? Can't wait :D to get my hands on it.
     
    marcipw likes this.
  47. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364
    I have heard stories of assets taking 2 weeks to pass review, probably in busy periods. Usually take a week from my experience, but there are no warranties
     
  48. nasos_333

    nasos_333

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

    Added a new feature that optionally scales grass based on terrain texture weights. This will lower grass as it reaches roads etc during painting, with pre-defined scale factors in the editor (for each splat texture).
     
    marcipw likes this.
  49. marcipw

    marcipw

    Joined:
    Apr 18, 2013
    Posts:
    239
    Hey UT!
    You need this asset in your store. Hurry up and approve it already! ;-)
     
    Last edited: Sep 8, 2015
  50. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,364
    If it is delayed for long, i may submit v1.1 with all the new stuff before v1.0 passes review :)
     
    marcipw likes this.