Search Unity

[ON $20 SALE!✅]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. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    hi

    Sorry but I do not know if I understood correctly

    You say that when the new asset comes out, the update for those who already have InfiniGrass will cost us between € 5 ~ € 15 for the first two months and after that update would it be € 30?

    Another thing. I think you already said it, but I do not remember. To get the Beta and test it how can I do it?

    regards
     
  2. nasos_333

    nasos_333

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

    Yes, this is one of the plans, but this is also TBD, so it could just be a free upgrade to the pack by the time of release.

    It depends on various factors, like reviews and sales and development time, the v2.0 of the system is like a brand new pack, both from a features and development time standpoint, so as it develops it makes more sense to have it as a new InfiniGRASS ULTIMATE pack, which is one of the ideas i am looking into.

    Of course will have an upgrade from the current pack and will make sure to be rather cheap for a time period (around $10, which is around 9euro, for first 1-2 months).

    The other option is to release in the same asset, this is easier for me and will be free upgrade, but would not showcase well the new nature and features of the system, as it is now a much different system than InfiniGRASS 1.x (which is used as base and after that the v2.x systems kick in, like pooling, procedural ground placement, grass shaping etc which are now the major portion of the system).

    I am open to suggestions and ideas on the above as well :)

    The new demo is almost done and i have included two biomes (pines, medium grass and daisies is one and the other is thick pines, mossy rocks and medium grass and perhaps i will add another two by release). I will post some video soon too (also post a few pics below).

    The Beta annoucement will be on the forum here, so after that i can send to everyone interested in PM.
     
    Last edited: Nov 16, 2016
  3. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,355







    InfiniGRASS v2.0 Beta demo WIP. Everything in the pics is procedurally created and controlled (e.g. grass can be adapted to ground changes and on chosen scene objects in real time, e.g. can build a castle and grass could adapt to some of the walls or ruins etc as needed dynamically).

    All items in the pics-demo are using ARTnGame assets (land-sky-foliage-clouds-lighting etc)

    Biomes can be changed on the fly (so emerging lands can be a different biome). The grass can get permanent shaping in real time, by mouse or player(s) motion (including height and bend control, for removing or extending the grass or anything between etc).

    The demo so far has two biomes included. Biome parts can also be changed between biomes for any kind of variance (will be implemented in the next demo version).
     
    Last edited: Nov 16, 2016
    docsavage and ftejada like this.
  4. Acissathar

    Acissathar

    Joined:
    Jun 24, 2011
    Posts:
    677
    I think everyone is cool with a free upgrade ;), but personally I have no problem paying the $5-15 for an upgrade if that's the route you take. I think that's pretty fair as Infinigrass 1.x clearly works, and 2.0 is just that, an upgrade, as you've added new features instead of only refining current ones. Of course upgrades help fund your development too, which is a reasonable desire as a developer.
     
    ftejada likes this.
  5. mk1978

    mk1978

    Joined:
    Dec 27, 2009
    Posts:
    276
    I need to check because I have not been actively following the development of InfiniGrass. Is there already available some easy way to mass place grass?

    I bought the product right in the beginning but I never started to use it because the mass placement of grass was too difficult. If I remember correct some people were talking about the functionality where grass placed with other Unity tools (Gaia, Terrain Composer, etc.) could be converted to InfiniGrass, which would be just perfect solution in my case.
     
  6. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    hi

    I think that nobody likes to have to pay more for something that we have already bought. But I understand the great amount of work that takes behind this update 2.x ...
    So I personally do not mind having to pay something more (10 ~ 15 €) for updating (as long as this does not become custom), since I think the asset deserves it, the support is the best I've seen And I personally need you to continue improving it later.

    And that requires money.
     
  7. nasos_333

    nasos_333

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

    Thanks for the input in this. The new system has shaped to be more than an upgrade to InfiniGRASS v1.x, some of the included features could be an asset themselves for example and used outside the grass system (e.g. the ground adaptation, the full procedural and placement modes and shader based shaping-painting etc). So i think in the long run bringing it as a new more extended system will benefit everyone, since i will be able to handle and support better the ongoing development and user support in the new more feature full system.

    The price of upgrade will be kept minimal for a period of time (around $10 or down to $5) and there wont be any further updates (unless i add as many new features as such that could be another asset altogether, like InfiniGRASS v2.0 is vs v1.x, which is not going to happen i think)
     
    Acissathar likes this.
  8. nasos_333

    nasos_333

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

    This is one of the issues handled in v2.0 of the system, the Mass Placement will be automatically done in layers, split in Grass Managers and without creating the grass in editor at once, to reduce any overhead.

    The editor is also integrating the new pooling of v2.0, which will allow editing much more grass at once and increase painting speed a lot too.
     
  9. Arganth

    Arganth

    Joined:
    Jul 31, 2015
    Posts:
    277
    any eta on the release date?
     
  10. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,355
    I am targeting early next month for the Beta, though it is a rough estimation with a system of this size as it has shaped with the various additional systems and optimizations.
     
  11. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    hi nasos

    Three questions. Some question may be stupid, sorry:

    1) I have not been very clear what you meant by "" and there wont be any further updates "" ". You mean we will not have to pay for the updates, unless there was another change as big as 1.x to 2.x?
    Or did you simply mean that infiniGras 2.xxx will not have updates?

    2) With infiniGrass 2.x can I have the speedTree trees that manage infiniGrass for the best performance? Or when passing them to infiniGrass would they be shown later in the terrain the infiniGrass trees?

    3) For mass placement of grass of infiniGrass can be done directly from Terrain Composer2, Gaia, etc. I am not sure how it will work all this

    regards
     
  12. nasos_333

    nasos_333

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

    1. I meant that v2.0 has so many new features and cover the grass case so well now that i dont see in future making an as big different-new features upgrade as v2.0 has vs v1.x. Updates to the system will happen always as normal and will try to reach the limits of the systems to the extend of my ability :)

    2. You can use SpeedTree trees with InfiniGRASS, making custom brushes from their parts (one detail lower than the top is recommended), though InfiniGRASS shaders and wind must be used. The distance of appearence is adjusted with LODs and cutoff distance like the grass.

    3. The Mass Placement is not possible with other tools, though in v2.0 i will have conversion of Unity grass-trees placements to InfiniGRASS types (so INfiniGRASS can be placed on the spots defined by any tool)

    Let me know for any further questions
     
  13. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,355
    A test on v2.0 impostor rendering WIP, the vast number of impostor trees take as little as 350 draw calls (per view) in the video, with full shadows (cast and receive).

    InfiniGRASS v2.0 is bringing vast open procedural worlds with pooling and streaming and extreme draw call reduction for Unity 5.

    The latest version can produce vast distant forests with full shadows with the minimal performance hit.

    Perks of the new system:

    - Ultimate draw call reduction, with automatic batching and batches as big as needed and independent of ground formation
    - Vast open worlds possibility with full pooling, streaming and LODing
    - Ultimate streaming speed with the possibility to reuse of the batched pooled items on any ground formation, keeping performance the highest
    - Adapt grass to any object and change ground adapt on the fly, Unity terrains, mesh terrains, rocks and anything can be used to adapt grass on and update placement on the fly
    - Multilevel grass interaction and real time shaping - erasing - burning (for initial release) and much more to come
    - Supports any mesh for ultimate freedom in defining foliage and variety, multiple meshes and objects can be used in a single brush and brushes have various parts for control of appearence and adding realistic non patterned look
    - Realistic non texture based grass placement and grass patch styling for a varied unique look everywhere.
    - Grass can be painted on any mesh and orientation (system switches to top down or general case as needed on the fly and uses pooling on every case)
    - Procedural in game grass placement based on rules that will be extended in v2.x cycle for a complete placement suit integrated in the system and aplicable directly to procedural worlds. Rocks, grass, fence system etc will all be integrated to the system.
    - Next generation look with full shadows cast and receieve and unique shading.

    These are just the major points of the new system, the full feature list will follow.

    The video shows the forest impostor rendering, and is a stress case as there is no LOD in shadows (so all trees get and cast shadows as far as the shadow distance) and also there is no LOD stages in the trees. The video is software recorded and there is a lot of image effects active as well from Sky Master ULTIMATE.

     
    GingerDr73 and Acissathar like this.
  14. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,355





    Integration WIP of the sample impostors in the main InfiniGRASS v2.0 demo, with Sky Master ULTIMATE and complete scene.

    A button has been added that will convert the grass directly to the distant forest impostor rendering, for quick preview of both.

    The demo shown in pics above uses only Sky Master ULTIMATE and InfiniGRASS (and the not yet released InfiniLAND for terrain generation) systems and nothing else is required to get the same effect. The system is full procedural so there is endless variety in land, grass placement and vistas.
     
    docsavage likes this.
  15. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    Hi nasos !!

    I'm having a problem. I have a "plane" like floor, but the brush does not put grass on it.

    I am doing something wrong? I see in your example scenes that if you can put grass on planes. I searched the manual but found nothing

    The version of InfiniGrass is 1.7 and of Unity 5.4.2f2

    regards
     
  16. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,355
    For painting on custom terrains or objects you need to enable the "Paint on PPaint tagged" objects checkbox in the Grass Manager and also assign the "PPaint" tag on the object (this also works when there is more than one active Unity terrain in the editor).

    The plane should also have a collider attached to paint on.

    Let me know if this helped.
     
    ftejada likes this.
  17. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    Thank you, that's it !!!

    But I've seen a small problem. When I delete with the grass brush that I have in the scene it seems that the tag "PPaint" is sometimes deleted from the list of Tags. I do not know why
     
    Last edited: Nov 27, 2016
  18. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    Sorry for the double post, but do not let me edit ... I'm using the latest version of InfiniGrass and Unity version 5.4.2f2

    Another problem that I have found is the following (I only tried it with grass types, Directional Wind ROOF):

    When it is night and there is no ambient light, when illuminating the grass with a ligth (for example a lantern), the grass shader ignores the grass color (green for example) and only takes the color of the lantern light. Then if the lantern light is white the grass will look totally white instead of the green one.
    Seeing very strange and unrealistic visual results:

    ColorLucesInfiniGrass.jpg

    How can this be solved? Will it be solved in InfiniGrass 2.0?

    regards
     
  19. nasos_333

    nasos_333

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

    About the lighting at night with lantern, i will check it out and get back on the issue as i had not yet come across it. I will try to adress the issue if it is not directly solvable by the current shader options-parameters and have it in v2.0 or before that as well.

    The tags disappearing is probably a Unity bug, as i dont do anything to affect tags.

    From my experience you must make sure the tag is defined in the editor manually and is available in editor time in the tags list, otherwise it may create issues (sometimes Unity finds the tag if it existed in a scene in play mode, without manually placing it, but this is very buggy mode and will not globally work, the only sure solution is to define the tag in editor time)

    That might be the tag related issue is my guess.
     
  20. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    Ok, ok...

    Thank
     
  21. nasos_333

    nasos_333

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

    I checked the lighting issue and indeed the system does not take into account the texture color from point lights at night time.

    I have addressed it for v2.0 and the change is a multiplication with the texture color to the specular color


    In the "InfiniDyDirectional Wind ROOF" shader, in "Forward add" pass, line 606, change from:
    Code (csharp):
    1. float3 specularColor = float3(node3,node3,node3);
    to the below:
    Code (csharp):
    1. float3 specularColor = float3(node3,node3,node3) * node_1;
    Let me know if this solves the issue on your side as well and will be standard in v2.0 of the pack.
     
  22. gian-reto-alig

    gian-reto-alig

    Joined:
    Apr 30, 2013
    Posts:
    756
    Just bought the asset, struggling a little with the setup. I have added the grass manager, but even scaling the grass somehow made the patches look wonky.

    I am using a scale of 0.25 for all my objects in Unity, what is the proper way to scale down grass without the wind going haywire and suddenly big white cubes popping up in the middle (guess these are the control nodes I have read about, just way too large to be of any use)?

    Also, wind is completly out of control... any part of the documentation that explains how to setup wind for grass swaying properly? Currently the grass moves way, WAY to much. I already have a Windzone I have added to the proper box in the Grass Manager.
    Scaling the Wind seems to do nothing... but I probably am doing it wrong.

    Any example on how to create alpha grass? I am trying to convert my simple Unity Grass textures to Infinigrass meshes (using a cruziform mesh created in Blender), and it seems only the alphagrass does work with the alpha of my Textures. Am I doing it wrong here too? What shader should I pick for simple grass quads?


    Sorry for the noobish questions, but I couldn't find an answer in the Documentation.


    EDIT: Oh, and another noob question. The grouping in the Brushes has nothing to do with the grouping at runtime? So if I make very small custom brushes to paint certain types of grass very exactly, it will still be batched into bigger groups at runtime?
     
    Last edited: Nov 28, 2016
  23. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,355

    Hi,

    I attach a video link showing the key points of configuring for lower scale.

    Setting up wind for smaller scales:


    The procedure is to first lower the global "World Scale" to a smaller scale (e.g to one) and then press an icon to apply the new scale to the default brush parameters for the brush. The World Scale does not scale the grass itself, but rather scales the presets enabled when the brushes are selected.

    Wind for very low scales has to be regulated with one variable in the material itself as well ("Buldge_scale_copy" variable, that is an extra offset to further regulate the wind in cases like this for example), this will be adressed in next version to be automatic as well for any scale (set by the manager).

    The cubes are the Gizmos, these can be turned off in the Inspector, or lowered in size (though in the test in the video i did not have to resize as i used the World Scale to first assign smaller scales to everything.

    Another note is that since the new world scales are applied after an icon is pressed, if the first grass type is to be used, then pressing on it wont apply the scales (since it is selected by default already), so need to press another and the first again until the automatic scaling is done (e.g. in wind and parameters below).

    Also the system requires a windzone to pass wind properties correctly, like directionality etc, so first add a windzone as well using the windzone button.

    The batches are automatically created - grouped, but the brushes will remain at the painted spot and keep properties. The groups will not change the individual brush themselves, but use them to create the batched grass, which will include the original grasses in the spot they were painted on (but in single batched meshes).

    The quads are best used with the transparent shader (vertex best used with arbitary meshes), so use the shader that the first grass type material is using (this is quads). You could also directly change the texture in the first grass type material to check the effect.

    Here are also a set of step by step tutorials for the system that cover making new brushes as well as other subjests.
    https://www.youtube.com/watch?list=PLJQvoQM6t9Gddp8uags3YC4D9zUQ4CbYt&v=l-apm8ZcZuc

    Let me know for further questions
     
  24. gian-reto-alig

    gian-reto-alig

    Joined:
    Apr 30, 2013
    Posts:
    756

    Thanks for the long and quick reply... got scaling to work, and the hint with changing the buldge value in the shader solved the wind scaling problems for my custom alpha grass.

    I will have to invest more time to create my own brushes it seems, but I think I have all the information I need for that at the moment.

    3 questions that popped up while experimenting further with infinigrass:

    1. The Vertex grass brushes now work like a charm for me. The brushes with the alphagrass have a weird behaviour though. At some points on the Terrain where I paint the grass is invisibly small. Moving some unity units further back the grass grows humongous, with a quick ramp up between the two areas. I searched the brush for some misconfiguration, but seems to be configured the same as the working vertex grass. Is this a known problem?

    2. Shadows. I see the batches meshes have shadows turned on, but I cannot see the grass cast shadows in game view... any idea what setting I am missing here?

    3. Aliasing. I am using a very expensive AA algorithm, 1.5x supersampling, in my test build at the moment. Works brilliant on static geometry, and while it cannot completly rid cutout shader materials for things like speedtrees or Unity grass from aliasing, these also get antialiased quite considerably to the point where I hardly notice it (as one would hope when practically slashing the framerate in half as the image is rendered at 100% more pixels than what is visible on screen).
    Now I have noticed that the Infigrass Grass looks considerably more aliased in the final image. I am theorizing here why that could be, either it is because the grass looks more "solid" compared to Unitygrass (which has almost a slightly transparent look to it... could be up to the colors though, I haven't been able to match the Infinigrass color to my terrain colors quite as well yet), or maybe you are doing something with rendering it (postprocess after the AA maybe)?

    Any hint on how to improve anti aliasing on Infinigrass when hardware AA like MSAA is off the table because of the usage of the deferred renderer? Granted, I haven't tried the very latest TAA or SMAA algorithms by Unity as I haven't upgraded to 5.4 yet. Does that bring any improvements?
     
  25. nasos_333

    nasos_333

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

    About #1, i think it may be the player interaction, for some grass like low grass in low scales, it may give a bigger than wanted height. I have addressed that in a new version of the shader, i also passed the night time change and sent a PM to see if fixes the issue. The new option limits the max height the interaction can give to the grass, for cases like low grass or any other.

    And a video to guide for the new variable use


    The shadows are from Unity side, i attach a video that i do some regulation, for very small scales the distance must be set equally lower to see the shadowing proper.

    I also post a video using the standard AA of unity effects (not 5.4+ new image effects) and an adjustment showcase of the alpha cutoff value for grass which may affect the edges and how it does affect them in various values. This is adjusted on shader side.

    There is no extra post processing in InfiniGRASS in general, so the AA is on top of the grass like anything else in the scene.

    Videos on shadows, AA and the issue in low scale low grass before the new shader option:


     
    ftejada likes this.
  26. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695

    Forgive me but I can not find "InfiniDyDirectional Wind ROOF" shader, And I do not find the shader InfiniGrass Directional Wind ROOF either...

    Where is it located? Can it be the InfiniGRASS_Transp_Wind_FENCE 1-ROOF shader?
     
  27. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    I already found out ... it was ....

    Changing the line of code you said solves the problem. But I see something else that is not very well explained. I post a video so you can see it.

    It is a light that does not emit shadows. But it seems as if grass is not properly illuminated in some parts and it seems that if there are shadows in the grass, but they do not move according to reality ...


     
  28. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    I continued to investigate and with another type of grass what happens is that it looks almost black, regardless of any lights.

    The Shader is the same (InfiniGRASS_Transp_Wind_FENCE 1-ROOF shader), with the corrections you told me.
    IluminacionInfiniGrass.jpg
    IluminacionInfiniGrass2.jpg
     
  29. nasos_333

    nasos_333

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

    I sent with PM the new version of the shader to make sure all changes are tested, i have tested the shader on my side and has normal lighting in both shadowed and non shadowed cases, with spot lights, so hopefully this will address the issue.

    Let me know if it worked ok.

    Also the previous post effect at night is probably due to the specular color, so as a first step try to lower the specular factor in the inspector for the grass type and see if fixes it as well
     
  30. gian-reto-alig

    gian-reto-alig

    Joined:
    Apr 30, 2013
    Posts:
    756
    I did try the suggestions in the vids and I was able to solve the issue with the off grass scale (was exactly the stop motion distance setting, setting it to zero solved the problem), and the shadows issue. Seems that some grass objects were just to small to cast any shadows. Well, I will have to tweak my shadowing system anyway somewhere in the future. Preferably when baking shadowmaps becomes viable again for large terrains with a new Unity version.

    The AA still seems to be a problem, I guess because of the stark difference in color between the default grass types and my ground texture. With some experimentation and my own grass I might be able to soften the issue somewhat. Also, I haven't tested the new 5.4 AA algorithms yet.


    I experimented with the default stones, but I am left now with 2 additional questions to rocks:

    1. The Infinigrass rock shader does not work for me. At all. Looks completly off. But, to be honest, I would rather use the UBER Shader I am using for everything else for small rocks. Is it possible to use a different shader for brushes in Infinigrass, or does it have to be an Infinigrass shader?
    Could I take an existing shader and make it work for Infinigrass else? And if yes, is the same true for grass shaders? Given I would like the shader to match my terrain shader more in color under different lighting (I am using a dynamic day/night cycle, so this is a big problem for me), could I take an existing shader or write my own, and adapt it to work for Infinigrass Grass?

    2. I don't see the rocks being culled at some point. I have enlarged some of the rocks a little so I see them over a longer distance, and not matter how much I move the camera away from the rocks, they stay visible. Grass on the other hand seems to get culled just fine (a little sudden though, is there a way to make the fade "smoother"?).
    Is this expected behaviour for rocks? Shouldn't they fade out at some distance?


    EDIT:

    Oh, one last thing. Is there a possibility to switch a grass brush (a custome one) to use billboards? Because I have seen with Unitygrass that billboards seem to work just fine in my usecase, and of course it would save even more performance.

    Of course I understand that shadow casting for billboards would be problematic (unless the shader would just use a different billboard for shadow casting always turned towards the light, thus always having a working shadow no matter how the visual billboard was oriented)...
     
    ftejada likes this.
  31. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,355
    InfiniGRASS can use any shader for objects that do not have wind. Some of my rocks (in the grass system) have for example other shaders to use as reference. The only limitation is for the grass that uses my own wind code (which wind can also be embedded in other shaders especially if they have a clear vertex part, but needs manual work to do so, which i can help with if needed).

    The same is also for any item that does not use wind, e.g. tree barks can also use another shader etc

    Also if another shader does wind and works with InfiniGRASS can also be used. Some shaders though use special methods like vertex embedded info to do wind and these are not directly compatible for use with IndiniGRASS (they will show the models, but animate wind like SpeedTree shaders when used with InfiniGRASS)

    The rocks and fences painted with the general systems (not grass system) are batched all together for the whole scene. To use LOD and cutoffs with batching, you can use the rocks in the grass system (i have 2 samples) that have all properties of grass.

    The same can be used for trees etc, i have samples for most uses in the library as well (and many more to come in future updates, including use with Unity trees directly, without changing the leaves to InfiniGRASS quads etc)

    I have not tested with billboards, i am not sure how billboards work so i cant say, but i suppose the batched model would not be easy to turn towards camera view, so probably billboards use individual qudas that would defeat the purpose and would not use batching or do dynamic batching that is expensive in big numbers, so is not certain to save on performance. I have tested with cross quads for distant forest (perhaps that could be used for grass) and is very fast and you can have batched model that is the fastest option from a processing point of view. The v2.0 will also allow shadow control per LOD level, which would help in performance and control of shadowing.
     
    gian-reto-alig and ftejada like this.
  32. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    hi nasos, I send the message here because MP does not let me upload the photos

    With the new shader it seems that the grass is illuminated like a light bulb, compared to the environment. Is there any way to do this?
    IluminacionInfiniGrass3.jpg


    Regarding to change the "specular factor" Do you mean to this parameter?

    Because it does not seem to influence, Except when the box is checked "Toggle grass tint"

    But it influences the function of the tint power and color


    IluminacionInfiniGrass4.jpg

    regards
     
  33. nasos_333

    nasos_333

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

    There is a snow offset and glow modifier, in Time.y (snow offset) and Time.z (glow), place both to zero and see if fixes the issue.

    Also turn the Specular to zero as well, in case this affects it also.

    Here is a video of the new shader in the demo i am working on for InfiniGRASS 2.0, it uses a spot light with intensity 2.6 and snow is off (no snow in Sky Master and zero offset in Time.y)



    I will place both snow variables and specular to zero as start point as well (defaults in shader), as i use Sky Master to regulate snow usually and i missed this initilization possible issue (since snow offset should start at zero in general case)

    If snow is used, the "1" default in glow is also a max value, so it is best to be put lower (around 0.5-0.75 is a good value, though depends on the lighting of the scene as well)
     
    Last edited: Nov 30, 2016
    ftejada likes this.
  34. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    hi

    Sorry but I can not find the parameters "snow offset and glow modifier". The "Specular" has not been clear to me if it is the one that I showed you in the image.


    Regarding the parameter "Time" I do not know exactly what it is, since in the shader there is a "Time" parameter that is displayed in the inspector but there is not one for snow and another for glow

    IluminacionInfiniGrass3.jpg

    I'm a bit confused, you can clarify it better.

    Regards
     
  35. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,355
    The snow offset and glow are encoded in the Time.y and Time.z of the Time vector in the material, this is a bonus feature for use with Sky Master ULTIMATE so there is no direct control in InfiniGRASS (though there is a demo with a script controlling the snow to showcase how it might be used without Sky Master in the main demo). The Time.y and Time.z are offsets over the global Sky Master control embedded in the shader, to further refine the effect over the global snow coverage (or to use as stand alone).

    The offset should be zero normally (unless an offset is needed of course), so i had that default in one and probably is why you see the white which could be the snow coverage offset of one.

    So set in the material, in the Time vector, Time.y = 0 and see if fixes the issue.

    The Specular is indeed the parameter shown in the pic (and "Specular" named variable in the material itself)

    Let me know if this helps and for any more details needed.
     
    Last edited: Nov 30, 2016
    ftejada likes this.
  36. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,355

    I add also a pic from my setup of the shader, with noted the key variables to change the overall shader look. Also try the tint to zero, global tint color to a darker one and Alpha cutoff to higher values and see if one of those solve the problem (as well as the Time.y to zero as discussed above)

    Also does the issue happen in the first grass type (like the one in the pic) or in my demo scenes ?
     
    Last edited: Nov 30, 2016
    ftejada likes this.
  37. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    Hi nasos !!

    Already solved! The problem was "Global tint". Being white he lit up any grass like a light bulb.

    Two simple questions.

    1) How can I access shader variables at run time to modify their values? For example to the variable "Global tint"


    2) You tell me this:
    What is the name of that script and where is it located? To learn how you do it

    regards
     
  38. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    I am asked another question ...

    I'm seeing that there are other shaders where problems occur and they light up like a light bulb. But they do not have the "Global tint" parameter so I can not solve the problem:

    InfiniGRASS_Vertex_Spec_Curved Wind
    InfiniGRASS_Vertex_Spec_Curved Wind VertColored INTERACT
    IluminacionInfiniGrass6.jpg

    And others in which the problem is that they do not light up. They go dark as the initial problem I told you
    IluminacionInfiniGrass5.jpg
    I have not looked at the other grass since I have not had time, but maybe these problems happen with all grass.
    You may have to revise your code as you did with the shader you sent me

    a greeting
     
  39. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,355
    The shader variables are accessed by the material

    e.g. GrassMaterial.setfloat("variableNameinSahder", 1.0f);

    or .setvector if the variable is vector (float3-4 in the shader)

    The demo is the main one ("DEMO v1.7 Shader Based Interactive Grass - Tree - Vertex blending" and the code that handles snow is on the "InfiniGRASS_DemoRealTimev1.7" script in the player object. Search for "Snow amount" in the code to find the variable handler that increases the snow for example (and snow glow for the snow intensity)

    About the other grasses, it is recommended to put the new shader to them as well, for a uniform shading across all at night time. In vertex grass case i will also revise the shading for next versions and have the shader available as soon as it is ready. It is also possible to use the transparent shader with Alpha cutout set to zero, to the vertex grass as well.

    Let me know for further questions
     
    ftejada likes this.
  40. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,355



    InfiniGRASS v2.0 WIP, snow and various grass types (InfiniGRASS v2.0 procedural world demo with Sky Master ULTIMATE v3.4)
     
    ftejada and Acissathar like this.
  41. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634
    Hi Nasos is this going to work on mobile, ?? if so what versions of Android 2.0? 3.0 and up? etc?

    Thanks,
     
  42. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    For v2.0 can you provide demo scenes that have full terrains already with fully painted grass? I could not find any examples in 1.7 that showed this. Everything was either a small area with a few sample grass patches or terrains where you had to paint grass in real-time. The paint in realtime examples are useless for testing on a console platform. I have to convert all the input to joystick and then go around painting grass just to see what the performance would be. That's just not practical.
     
    ftejada likes this.
  43. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634

    sadly mobile is the same way.
     
  44. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,355
    v2.0 will allow pooling and any size of world with automatic memory management, the demo is an endless terrain on the fly populated with multiple layers of grass and full coverage and on the fly change of biomes too (e.g. you can tell the system to grow thck forests at any point and then when get back to the area will have kept the thick forests etc)

    These are all paintable in editor side as well, plus the spread methods will be in editor side too to easilly fill terrains with multiple types of grass and preview it.

    Painting and editing will also be exponentially faster.

    The demo first version is almost done (i have added a pre-pooling functionality so the time to go in game is reduced to minimal a few secs, since no batching is ever happening in game)

    The new version also has per LOD control of shadowing, to better adapt to mobile like cases and can also do (theoretically) one draw call per grass layer for vast areas as the grass is ground agnostic and pool these big one draw call patches around for minimal overhead and allocations.
     
    magique likes this.
  45. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,355
    I have not yet tested the new ground adaptation system on various mobiles, it is SM3.0 though so will be best on newer ones.

    After the initial release i will also check whether the new system can be adapted for older mobiles (SM2.0 for example)
     
  46. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634

    ya sounds good.


    we plan to support devices 2.3 and above.. so would be great if it can... If not I will just use InfiniGrass 1
     
  47. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,355
    The system will support SM2.0 as well for most functionality, besides the auto ground adapt that allows the pooled items to conform to any ground, making it possible to use huge batches with pooling and any terrain without rebatch or extra overhead - allocations, so SM3.0 systems will benefit a lot from that (also streaming - positioning the grass is much faster and easier as well)
     
  48. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634

    great.! Thanks. any idea when the release is , or able to try it out or test it? Let me know. Would love to test it for mobile once its ready.. as we are beta releasing our game soon. Which will start with InfiniGrass 1 for now, and maybe update to 2 if all goes well.
     
  49. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,355
    The plan was for December, but the latest 11 day Unity sale and holidays took the development some steps back due to lowering drastically overall sales and having to take a few extra projects. Now i will try for late December to early January, though directly depends on sales and reviews in coming weeks.

    The first demo is almost done and i will try to come up with a mobile demo sooner than the actual release too.
     
  50. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634
    no problem, we are getting ready for our beta release so I can wait for InfiniGrass 2 and add it in a future update.

    infinigrass 1 works fairly well so far. but we havent tested on every device so we will have to see how the beta goes.