Search Unity

[Released] Vegetation Studio Pro

Discussion in 'Assets and Asset Store' started by LennartJohansen, Jun 29, 2018.

  1. Shadowing

    Shadowing

    Joined:
    Jan 29, 2015
    Posts:
    1,234
    Ahh ok man. Would there be no performance increase having billboards for grass?
    I know grass doesn't have much geometry. Just curious.
     
  2. Waterlane

    Waterlane

    Joined:
    Mar 13, 2015
    Posts:
    149
    you may know, but I see no option to add Vegetation Studio Pro, under the Window tab with 2019.1.0f2
     
  3. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    Any compile errors? Did you follow the setup guide?
     
  4. Waterlane

    Waterlane

    Joined:
    Mar 13, 2015
    Posts:
    149
    I've only just created a New Project (3D+) with Unity 2019.1. Started a New Scene. Imported the latest VegStudioPro, then set .Net4 and added the required packages. Looking under the Window Tab I can't see any Awesome Technologies...
    (I've also saved, closed, opened Unity again - no change)
     

    Attached Files:

  5. Waterlane

    Waterlane

    Joined:
    Mar 13, 2015
    Posts:
    149

    Some compile errors:
    Assets\AwesomeTechnologies\VegetationStudioPro\Runtime\VegetationSystemPro\VegetationPackagePro.cs(4,34): error CS0234: The type or namespace name 'Interfaces' does not exist in the namespace 'AwesomeTechnologies.Common' (are you missing an assembly reference?)


    Assets\AwesomeTechnologies\VegetationStudioPro\Runtime\VegetationSystemPro\Terrains\UnityTerrain_GenerateSplatMap.cs(702,23): error CS0246: The type or namespace name 'CompileSynchronously' could not be found (are you missing a using directive or an assembly reference?)

    (lots of CS0246 errors)
     
  6. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    Do you mind joining the discord server and message me there? Link in my signature. Easier to debug with a text chat.
    CompileSynchronously is part of the burst compiler. Looks like you still are missing something.

    Lennart
     
  7. Waterlane

    Waterlane

    Joined:
    Mar 13, 2015
    Posts:
    149
    Done ;-)
     
  8. Shadowing

    Shadowing

    Joined:
    Jan 29, 2015
    Posts:
    1,234
    on a 2k map. Changing Detail resolution from 2k to 4k on terrain settings doesn't seem to make a difference?

    Here is 2 situations i run into often. This is using the auto hull outline button.
    For some odd reason though If I add a vegetation area mask to this prefab I still have to go through each stone clicking calculate hull outline. Other wise its off a bit.

    Notice the grass coming through the tiles. Even with auto hull autoline clicked. I fully understand why I'm just saying this is something I run into often. I have like 100 of these placed on the ground. So i'll have to go through every stone adjusting the outline.
    Maybe if there was a setting for offset? idk.

    Next thing though is it better efficiency to use a line mask instead of area masks on each individual stone? But then again i wouldn't have any grass between the stones if i did that. Course these stones are pretty close together.





    I noticed changing vegetation cell size from 100 to 200 made a noticeable performance boost in my editor.
    I dont really see any real difference on the vegetation. Wonder if you could explain what the cell size is all about @LennartJohansen ?
     
  9. JohnnyFactor

    JohnnyFactor

    Joined:
    May 18, 2018
    Posts:
    146
    I am considering using Vegetation Studio Pro on a MapMagic infinite terrain. This will be for Android/iOS. I am aware of the instancing limitations on mobile, but my needs might make it ok. It will be top-down only and fairly close (20 trees max, and 100 units of grass/rocks).

    My question:
    Is Vegetation Studio Pro still a useful package for me without indirect instancing or shader model 5? I will be using #pragma target 3.5.
     
  10. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    Hi. The render loop in Vegetation Studio is built around instancing and compute shaders. With the normal instancing rendering you might get it working on Shader Model 4.5. There is an additional fallback using the Normal Graphics.DrawMesh API. This could in theory work since you do not have a lot of visible vegetation.

    Feel free to contact me on the Discord server to discuss this a bit more.

    Lennart
     
  11. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    Hi.

    1. There is an offset/additional distance settings on the Vegetation Masks.
    2. If you make the mask on the GameObject and save it as a prefab it will have the mask ready when you add more rocks.
    3. The masks test the pivot/center point of vegetation. With large patches you can get overlap like this.

    4. Cell size is the size of the internal structure in Vegetation Studio. Larger cells could in some cases give some faster cell culling and merging for cells before rendering but will also take more time to spawn as you move around the map. The smaller cells will normally load less per frame as cells become visible.

    Lennart
     
  12. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    Development update

    Hi. I have added a new QualityManager component to Vegetation Studio Pro.
    You add it to the same GameObject as the VegetationSystemPro component.

    You can then set individual, distance, density and shadow options for each Quality level in Unity.
    It will also let you add different Biomes/Vegetation Packages for each level.

    These settings are applied in playmode when the VegetationSystem enables.

    This will be included in the next update.

    Lennart

    Image 1221.png
     
  13. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    Development update - Predictive preloading.

    Hi.

    I have added a new predictive preloading system to Vegetation Studio Pro.
    When enabled (by default) it will pre load potential visible cells close to the camera before they become visible.
    This will reduce the chance of multiple cells loading in a single frame and spread spawning over time.

    In addition to this there is a pre loading API where you can define an area to preload.

    Code (csharp):
    1.  
    2. public void PreloadArea(Rect rect, bool important)
    3. public void PreloadArea(Rect rect, List<VegetationCell> overlapVegetationCellList, bool important)
    4. public void PreloadAllVegetationCells()
    5.  
    areas flagged as important will be kept in the preloading list until loaded even if the camera moves and the "predictive selection" are changed.

    This will be in the upcoming 1.2 update.

    Lennart

    Image 1227.png
     
  14. Shadowing

    Shadowing

    Joined:
    Jan 29, 2015
    Posts:
    1,234

    lol idk what is wrong with me. completely forgot about the additional perimeter range on the area mask :)
     
    SickaGamer likes this.
  15. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    Development update.

    Hi. I have added some new render settings for the 1.2 update of Vegetation Studio Pro.
    You will now be able to disable instanced indirect support on a per platform basis.

    This can make multi platform compiling easier if a platform performs bad on indirect rendering or does not support it properly.

    Image 1229.png

    Lennart
     
  16. JohnnyFactor

    JohnnyFactor

    Joined:
    May 18, 2018
    Posts:
    146
    That's great. I would like to release on mobile and console and this helps a lot.
     
  17. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    Development update

    Hi. I have added a new position rule that will help adjusting rocks.
    Image 1231.png

    Height offset range allows you to set a min/max height to offset an item in the ground.
    offset is scaled by the scale of the item/rock and up direction is based on the Rotation setting.
    for Rotation.XYZ the terrain normal is used as up direction.

    Lennart
     
  18. ksam2

    ksam2

    Joined:
    Apr 28, 2012
    Posts:
    1,001
    Even if I disable all vegetations it'll reduces frame rate from 140 to 100 and increase level load time from 10s to 200s When I enable vegetation studio system
     
  19. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    All internal setup, cell structure ,meshes, materials etc are still done on startup. Ready for if you enable vegetation by code or there is instances in the persistent storage. You should not have items added that you do not plan to use.

    Message me on discord if you want to profile, the startup sound a long? Are you using huge terrains and small cell size?

    Lennart
     
    ksam2 likes this.
  20. Shadowing

    Shadowing

    Joined:
    Jan 29, 2015
    Posts:
    1,234
    Is there a way to spawn things in random clusters.

    Like a cluster of clover on the ground.
     
  21. Instinct

    Instinct

    Joined:
    Feb 21, 2013
    Posts:
    12
    I am curious to hear if the release of 2019.1 made any changes to the billboarding issues in hdrp? Also, did you get any other nice improvements?
    Still haven't purchased this, but I'm not sure how much longer i can wait, seeing as almost everything works with hdrp anyway.
     
  22. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    Hi. Could you join the discord server and message me there. Link in my signatrure. Easier to debug in a text chat.
    The LODs should work the same in editor and playmode.

    Lennart
     
  23. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    Hi. Still waiting for a solution from Unity for custom nodes. There is a workaround with updating the assembly info in the ShaderGraph to get internal info but it would be much better with a official API.

    I added the workaround to the git repo for the nodes to add instanced indirect. Still playing a bit more with that before doing some more HD/LW work.

    Here is the updated repo.

    Lennart
     
  24. AdminArdagor

    AdminArdagor

    Joined:
    Feb 6, 2018
    Posts:
    11
    I've been exploring this question and found out that this LOD1 skip is only in Instanced Indirect render mood. I've tested all three render moods:
    -normal - the slowest one. LODs work correctly (it goes LOD0, then LOD1, then LOD2)
    -Instanced - much faster. LODs work correctly (it goes LOD0, then LOD1, then LOD2)
    -Instanced Indirect - seems even faster though LOD1 is replaced by LOD0. (it goes LOD0, then LOD0 again, then LOD2) but it's still a bit faster even so.

    So seems a question of render mood. Its not a disaster I can go with it, thank you for your work anyway! Just wrote it to let you know about this interestig issue

    (and in editor window everything's fine because you use "instanced rendering while in the editor, only using the indirect in playmode."- https://forum.unity.com/threads/indirect-instancing-in-the-editor.524558/#post-3446308 )
     
    Last edited: Apr 30, 2019
  25. joticarroll

    joticarroll

    Joined:
    Jan 30, 2013
    Posts:
    4
    Has there been any progress on the issues with speedtree8
     
  26. rmon222

    rmon222

    Joined:
    Oct 24, 2018
    Posts:
    18
    Hi. Is there any way to cut tall, GPU instanced, grass with a sword or more generally delete certain instances at runtime with a collider? Thanks in advance.
     
  27. Barritico

    Barritico

    Joined:
    Jun 9, 2017
    Posts:
    188
    Hello

    I am a user of VEGATION STUDIO and I have some doubts to move to the PRO version.

    Migrating my project to .NET FRAMEWORK 4 is a real problem. I work with SQL SERVER and I have not yet found a way to migrate correctly. Other warnings come out of other tools, but I'm less worried.

    The justification for my update to the PRO version would be (today) based on performance.

    Does VEGETATION PRO have more performance than the previous version?

    Thank you.
     
  28. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    Hi. I will post an status update this weekend.

    Lennart
     
    Rowlan likes this.
  29. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    Have a look at the touch react system. That allows for grass to bend for colliders, but if you use a trail renderer it can be kept down.

    If you join the discord server and message me I can explain more. Link in my signature.

    Lennart
     
  30. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    Hi. The .Net 4.x requirement is absolute. The job system and Burst compiler tech from Unity that Vegetation Studio Pro is based on needs this to work.

    CPU performance in Vegetation Studio Pro is much better. Faster spawning and CPU culling/preparation while rendering instanced. This is due to better multithreading with the job system and vectorized math with the burst compiler.

    with the faster spawning the internal cells are also larger that will give a small GPU speed gain when merging cells.

    There is also a lot of new features like the biome system and mesh terrain support but for performance the CPU gain from the jobs/burst is the most important.

    Lennart
     
    Willbkool_FPCS and Barritico like this.
  31. Barritico

    Barritico

    Joined:
    Jun 9, 2017
    Posts:
    188

    Ok.
    Thanks!!!
     
  32. Shadowing

    Shadowing

    Joined:
    Jan 29, 2015
    Posts:
    1,234
    This line mask is completely ignoring the tree. I have it set to remove trees. Its set to 25 on range.
    Even if i set it to 40 the tree remains.
    If i move the line mask directly on top of the tree the tree is removed though.
    Its removing the other trees just fine.
    This has happen a few days back too where one tree will be stuborn.

     
    Last edited: May 4, 2019
  33. tredpro

    tredpro

    Joined:
    Nov 18, 2013
    Posts:
    403
    im sure i wll will find it before you reply but i am having trouble finding the compute shader option in vgs pro. is it not an option within pro?
     
  34. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    It is enabled by default on instanced indirect vegetation.

    Lennart
     
    tredpro likes this.
  35. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    Do you have noise enabled on the additional distance? Can you screenshot your mask settings?

    Lennart
     
  36. tredpro

    tredpro

    Joined:
    Nov 18, 2013
    Posts:
    403
    So I set up my shaders with instanced indirect and now trees only show up in the distance. Any idea what I broke?
     
  37. mhhj

    mhhj

    Joined:
    Jul 30, 2014
    Posts:
    21
    Hello, I've been having problems recently with Vegetation Studio Pro's Billboard system for some reason. Not sure why, but no matter which billboard setting I choose, the BGs spawned for them in the editor and during runtime are never transparent.

    Instead they will always show as such.

    https://i.imgur.com/r5ZEB2V.png

    I haven't been able to find a workaround to this problem aside from possibly editing the billboards myself to give transparency, but I feel that defeats the point of utilizing the system in the first place if it's meant to autogenerate them.

    Thanks for any help!
     
  38. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    It looks a bit strange that you got a blue background there. It almost looks like something you have in the scene renders also. due to how Unity works the billboards atlases are rendered in the scene.

    Do you have a large skysphere or something?

    Could you try in an empty scene. Just add the same vegetation package and regenerate the billboard?

    Lennart
     
  39. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    Billboards render with its own shader. My guess is that something went wrong when you added instanced indirect support. Did you follow the github guide and add the cginc to the same folder?

    Lennart
     
  40. mhhj

    mhhj

    Joined:
    Jul 30, 2014
    Posts:
    21
    Hello again, this is the result from trying this in a brand new scene.

    https://i.imgur.com/Db8Bkzj.png

    Though it doesn't seem like it made any difference aside from the color, I decided to check my lighting settings for the new scene. It seems like the skybox color changes the BG of the billboard to match with whatever color is selected. I don't remember this happening before so I'm not sure why it started now or what I can do to change this. Even removing the Skybox does not change how it looks.

    https://i.imgur.com/7yubAtP.png
     
  41. tredpro

    tredpro

    Joined:
    Nov 18, 2013
    Posts:
    403
    Yes I did. Paste 3 lines. Move file into same folder. Etc
     
  42. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    Could you send me the shader in a pm. I can look at it at work tomorrow.

    Lennart
     
  43. tredpro

    tredpro

    Joined:
    Nov 18, 2013
    Posts:
    403
    speaking of billboards. for the speedtree billboards do you have a shader we are suppose to choose?
     
  44. EnriquePage91

    EnriquePage91

    Joined:
    Jul 2, 2015
    Posts:
    50
    Hey EmpireBattles!

    Did you manage to figure this out? I'm trying to do the same. I've set up voxeland to add the raycast Terrain component to each chunk, I am populating the vspro terrains list through the inspector but I guess the chunks are rebuilt when entering play mode so those references get lost.

    Up to this poInt I've been unable to have grass spawn on the terrain at all, and I'm just not sure I'm going about this the right way. I guess I could write a script to add the references to the terrain list once they are built, but will this allow me to spawn the geometry? Is the grass supposed to spawn automatically or am I supposed to click somewhere on the VSPro manager?

    I'm also getting a lot of grass objects built that are trying to utilize Voxeland's grass shader, this didn't use to happen before installing VSPro so I'm almost sure there's some part of Voxeland trying to utilize vspro to generate it, or the other way around.
    Did you run into this issue too? Unfortunately my Voxeland's Grass shader is broken because of an Assembly issue and I can't get it fixed so I'm not even sure if once fixed it would spawn with all textures set, because as of right now the materials are just not configured.

    Any help would be greatly appreciated, thanks!
     
  45. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,289
    Vegetation Studio has its own billboard system with a included shader. that us used automatic.

    Lennart
     
  46. CyberRon

    CyberRon

    Joined:
    Feb 23, 2017
    Posts:
    3
    Hi. I'm a hobby game creator.
    I very like terrain generators.
    I have Terrain Compresor 2, Gaia, and now Vegetation Studio Pro.

    TC2 and Gaia are easy to install.
    VS Pro causes big problems in installation.
    I read the guides from your website.
    Please create more video tutorials.
    I have a problem with choosing plugins myself.

    Unity 2019.1.2f1
    Burst preview.25 - 0.2.4 it works
    Collections preview.16 - 0.0.9 it works
    Jobs preview.9 - 0.0.7 it works
    Mathemathics preview.1 1.0.0 it works
    Postprocessing ???

    Thanks.
     
  47. A77ila

    A77ila

    Joined:
    Nov 28, 2015
    Posts:
    4
    Hi Lennart and hi to everyone here in this forum, I'm following you from some days now, first of all, a great asset and great community!

    I'm a former game designer from a VR indie company and I recently got a new position in a rendering/B2B company willing to enter the gaming field, everything is very early stage right now so I'm making pre-production analysis, rough concepts, etc.

    I have some general question that I hope someone kind here maybe could help me with:

    - Is vegetation studio pro usable in a multiplayer structure? Trying to understand if the instantiating system is deterministic (meaning every running client will have the same vegetation, placement/tree and especially colliders) I guess it should be since it's possible to bake colliders but need a confirmation

    - I'm trying to find a smooth "semi-procedural" pipeline for the map creation, It's days that I'm looking between Gaia, Cts, Microsplat, world builder pipeline, World creator 2 and many others and honestly I'm a little lost, not sure what covers what and my only certainty is that I'd love to have a lot of vegetation so VS Pro would be used for sure.
    Looking between all software, I see that World creator 2 (the standalone version) has the most powerful tool for texturing and it's very cool for object placement too, I wonder though if there is a way to make the output of WC2 works seamless with VS Pro?
    I saw @Rowlan posting the video and I loved that but apparently, it's just the naked terrain, what would happen if I would paint everything in WC2? There would be a way for Vegetation Studio to read from the textures where to spawn all vegetation types or I would have to do it manually?
    Also, what is the best asset that allows tessellation to be used in the terrain compatible with vegetation studio (if there's any) Microsplat + the plugin? Would that work painting with World creator 2?

    - Being a project that is not even born, we are looking at the HDRP as our future pipeline, any rough estimation on how much time it will be needed for a full feature VSPro on the HDRP?

    Sorry, I didn't have the time to test all these packages yet so I'm a little confused.
    Thank you very much for your help!
     
  48. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    836
    You could paint the terrain in World Creator 2 and import it including textures and objects into Unity. That's not a problem. However, in that video with the flexibility of Vegetation Studio Pro I preferred the dragging of Biomes which included object movement and terrain painting. That's why I chose building the "naked" terrain in WC2. You could use the splatmap and textures from the WC2 import and not use the one from VS Pro. Even importing the objects into persistent storage would be easy with a simple script. However regarding plants it might be more benefitial to use Biomes from VS, especially with features like different size on edges of a forest. That just adds to the atmosphere imo. My current workflow is the creation of whole terrains and stamps using WC2 and use those in combination with VS Pro and the Unity Terrain Tools. Very efficient and flexible. In addition to that I use Microsplat and its stochastic texturing to get rid of texture tiles.
     
    A77ila and Lars-Steenhoff like this.
  49. A77ila

    A77ila

    Joined:
    Nov 28, 2015
    Posts:
    4
    Thanks Rowlan. Mind if I ask you a couple of details?

    Taking the "naked" output of WC2 and applying the Biomes from VS gets you the majority of the terrain texturing done just by adjusting Biomes areas, right?
    What happens for mountains and zone where you don't have vegetation? You manually paint there?
    Can you manually put some texture details (for example a rocky texture with tessellation) in the middle of a biome without having the vegetation growing on top of it somehow?

    The ideal workflow for me could be: having a WC2 output with texture (especially mountains etc where the texturing with concave option results in very cool visuals inside eroded part etc) and then on top of that having the VS Biomes and finally fine-tuning small parts with some manual painting adjustment on the terrain with Microsplat, do you think this would be doable?

    Already glad to see that WC2, VS Pro and Microsplat work together. Now I guess I have to figure out how they will work together :)
     
  50. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    836
    It gets you all of the texturing done, you have to use a default Biome.

    You can also use the default Biome. You simply adjust the texturing curves for the relevant textures.

    You can use the texture Exclude rules for that. If you use it e. g. on a tree, that tree will never be put on such a texture.

    Yes, just don't apply the texturing via VS Pro.