Search Unity

[Released] Vegetation Studio Pro

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

  1. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Texture masking system

    The texture masking system is now working. You can create TextureMaskGroups that contains multiple textures that can be sampled for spawning rules. Each of the added textures will have a worldspace location/area to support high res textures in one area or multiple textures for multiple terrain.s



    Here you can see a group with a single texture mask.
    In the image below a include rule is set for the Blue channel and the min/max density of the sample has to be between 0.1 and 1

    Lennart

     
    Mark_01 likes this.
  2. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Beta update.

    During the weekend I will write a setup/getting started guide and give download access to users that have signed up for the beta.

    Lennart
     
    mons00n likes this.
  3. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Hi. Vegetation Studio Pro will not contain any vegetation assets, except for a basic demo scene.

    We are working together with NatureManufacture and creating several biome asset packages.
    Each of these will contain trees, plants, grass, rocks and terrain textures as well as a pre configured biome package.

    These can be used as they are, or configured to fit your needs.

    You can of course also create your own biomes using any vegetation objects you have from before.

    Lennart
     
    Mark_01 likes this.
  4. Dorian-Dowse

    Dorian-Dowse

    Joined:
    Jun 2, 2016
    Posts:
    95
    Will we be able to use an RGBA texture mask to control Biome layouts? Or are they only controlled by the BiomeAreaMasks?
     
  5. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Have a look at this post.

    Lennart
     
  6. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Beta package

    Hi. I just finished the beta package. I will write the getting started guide and then I give access to the users that have signed up for beta access.

    Lennart
     
    Ivy-SM, MrG, Mark_01 and 1 other person like this.
  7. GamePowerNetwork

    GamePowerNetwork

    Joined:
    Sep 23, 2012
    Posts:
    257
    Hi Lennart!

    Is it too late for me to purchase VS and jump into the beta? If it's not too late, I'll buy VS today!
     
  8. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    No. just sign up on the form on the website. My plan is to add all users that signed up to the beta tomorrow.

    Lennart
     
    GamePowerNetwork likes this.
  9. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Vegetation Studio Pro Beta.

    The beta is live now. You should be getting an automatic email. When you log in to the website there is a beta download section. Here you will find link to a guide and a what is new section. Follow the Unity configuration part to get things running.

    If someone did not get access, send me an pm. There was a few requests that did not have a user created.

    For new requests I will try to process the list once a day.

    Lennart
     
    WildStyle69, Lurking-Ninja and Rowlan like this.
  10. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Does this mean I can output a RGBA texture from mapmagic as the biomes mask then input this mask into vegetation studio's biomes system?
     
  11. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
  12. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Yes. as the last LOD i think it should work good.

    Not now, but i think it should be possible to implement as long as the mask has the data I described in the post.

    Lennart
     
  13. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Hi Lennart!
    Great to know that thoese new features will work together!
    And I've located the issue I mentioned before that may crash my game on build, here is the steps to recreate:
    Setup a mapmagic infinite terrain using one vegetation package to output all the vegetations.
    Then enter the game without any pinned terrain, let mapmagic generate the terrain in runtime.
    Fly around and let mapmagic create several terrains and destroy some.
    Then stop play mode, right now, there is nothing wrong.
    Go change any script in the project, return to unity and let it recompile. After, you should see a lot of warnings like this:

    GarbageCollector disposing of ComputeBuffer allocated in D:\Project\Assets\AwesomeTechnologies\VegetationStudio\VegetationSystem\VegetationItemModelInfo.cs at line 398. Please use ComputeBuffer.Release() or .Dispose() to manually release the buffer.

    We found the line and tried to debug it, then found this line was actually called when a terrain tile is deleted, but when it's trying to clear the vegeInfoList, the list count is zero. These garbages seems only get to be released when quitting the game or, in editor, recompile the scripts.
     
  14. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Got your pm also. will answer that.

    Lennart
     
  15. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    UI changes.

    Hi. I am trying out some UI changes. The Vegetation Item list now has a VegetationType filter. This should make it a bit easier to navigate.

    Lennart

     
    PeterB, mons00n, Rowlan and 2 others like this.
  16. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Great, can you make an option to only show the name of prototypes rather than a thumb nail? I have hundreds of prototypes in one profile, and their thumb nails occupied a lot of working space in the inspector
     
    Dorian-Dowse and carking1996 like this.
  17. PeterB

    PeterB

    Joined:
    Nov 3, 2010
    Posts:
    366
    This is excellent. Thanks! But we also need a search field with autocomplete. And it would be good if the items were alphabetically sorted, too. Now they frequently change positions, and with 130 items it's almost impossible to find what you just had selected – the visual feedback provided by the miniature icon really is of limited help. A simple popup giving the name of the item would be a great help, too.

    Vegetation Studio is so powerful, and has so many uses, that the most common use case probably will involve many items. In my case they are rapidly approaching 150 or so in number, with even more to come. I don't think I'm alone in this.
     
    Last edited: Jul 31, 2018
    Harekelas likes this.
  18. transat

    transat

    Joined:
    May 5, 2018
    Posts:
    779
    Is there a way to drop multiple assets at a time onto a vegetation item category?
     
  19. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    I'm planning hundreds of prototypes ;)
     
  20. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    The drop zoned accept multiple assets. Lock the inspector. small lock icon in the top corner. Then you can select multiple prefabs in the project view and drag and drop here.

    Hi. I try to keep this thread to Vegetation Studio Pro related issues/questions. Do you mind reposting this in the standard Vegetation Studio thread?

    Lennart
     
    transat likes this.
  21. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Ah, sorry that I didn't realize this is the pro thread :D
    Will move that post to the standard thread.
     
  22. WildStyle69

    WildStyle69

    Joined:
    Jul 20, 2016
    Posts:
    318
    Hi @LennartJohansen - I've setup the pro beta already, considering I've never actually setup the standard VS it's been pretty easy so far and works great. Performance has blown my mind pretty much, as I've seen a massive improvement on rendering the same scene with Unity's standard vegetation system.

    I have a question regarding instanced indirect and Speedtree trees specifically -- I'm using the shader from GitHub (https://github.com/AwesomeTechnologies/Vegetation-Studio-Speedtree), which can be used on the trees as well as grass right? If yes, should the standard Speedtree trees support WindZones 'out of the box' with this shader? At the moment WindZones are not affecting the trees when rendering instanced direct with the custom VS shader.

    Also FYI -- I had a 'UnetWeaver' error after installing Burst and Entities, which was preventing other scripts from compiling and so couldn't run the project. Steps from this post enabled me to disable UNet locally and keep working, in case anyone else is having the same issue.
    https://forum.unity.com/threads/une...ting-network-code-errors.541236/#post-3568763
     
    Last edited: Aug 1, 2018
  23. WildStyle69

    WildStyle69

    Joined:
    Jul 20, 2016
    Posts:
    318
    Another question too -- the MegaSplat control texture for masks can still be used with pro, or that is not yet integrated?
     
  24. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Hi. Great it is working good for you.

    In VS Pro you do not need to use the shader from github. It is built in and by default will replace the speedtree shader. Uncheck the replace shader checkbox to go back to the unmodified shader.

    This is done using the new shader controller system. The UI settings you see below is also added by the shader controller and saved in the vegetation package.

    Instanced speedtrees will support a single directional wind zone in the scene.



    The unet weaver error seems to be an issue with the incremental compiler that will be fixed in an update from Unity.

    The only mask that is implemented for now is a per channel RGBA/ARGB mask. But the mask system itself supports multiple mask types. I just need to implement the Mega Splat control mask again.

    Lennart
     
    sparkwd, Mark_01 and WildStyle69 like this.
  25. WildStyle69

    WildStyle69

    Joined:
    Jul 20, 2016
    Posts:
    318
    Thanks for the speedy reply and details on the instanced indirect, confirming that it all works just great with the standard VS pro shader. I can't get over how much performance has improved... jaw on the floor here.

    Great news on the MegaSplat mask texture coming back eventually -- no hurry for that really though, as the mask areas are working just great for my current needs.

    Cheers man!
     
    LennartJohansen likes this.
  26. GamePowerNetwork

    GamePowerNetwork

    Joined:
    Sep 23, 2012
    Posts:
    257
    So I've been using VS Pro for a few days now.... and the first thing I have to say is the performance is absolutely outstanding. With full lush grass covering my entire terrain, it's performing as if I have no grass in the scene at all! I love it.

    I do have one question.. I opened the entity debugger and I didn't see any entities in there. Is that normal? For some reason I thought VS Pro used the new ECS.

    Either way, I'm happy with the performance so far (for a beta product). I'm still fiddling around for bugs to help squash them. But so far not seeing anything buggy jump out at me yet.
     
  27. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    You will not find any entities. Vegetation Studio Pro uses the job system and burst compiler but I manage the instances/entities manually.

    You have to add the entities package to get the Mathematics and collections packages. Those are not yet added as separate packages to the package manager but are dependencies to entities.

    Lennart
     
    Alverik and GamePowerNetwork like this.
  28. Bodyclock

    Bodyclock

    Joined:
    May 8, 2018
    Posts:
    172
    Hi, any reason why Pro wouldn't work with Voxeland's procedurally generated meshes?
     
  29. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Hi. I think that should work. I talked to one of the beta testers that tried a setup. He used the RaycastTerrain component to set up a virtual terrain for the area of the voxelland meshes. This component uses the new raycast command job to sample the terrain heights/normals from the terrain colliders.

    You would probably want to connect to a change event on voxel land and clear the vegetation studio cache for that area when it changes. I think that should not be to hard to do.

    Lennart
     
  30. Aaron2348

    Aaron2348

    Joined:
    Dec 12, 2016
    Posts:
    328
    Hi So im just wondering will all these features work on a mesh?
     
  31. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Does VG Studio Pro contains all features from Vegetation Studio ?

    Can brush painting have some rules like no grass near river sides
    check 1:38
     
  32. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    When done it will contain most of the bigger features of standard Vegetation Studio. I am still working on adding a persistent storage and a collider system.

    There will be no brush rules like in the video you posted but you can create biome masks for the rivers that controls this.
    R.A.M and Cascade is adding automatic generation of river and lake biome masks now.

    Lennart
     
    eaque, Mark_01 and zenGarden like this.
  33. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Most doesn't mean all, so to get the most complete product, we must buy VG standard and VG Studio.
     
  34. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    No. They are separate assets, can not be installed in the same project. They share namespace to make the API for 3rd party assets be as close as possible.

    All features from standard Vegetation Studio will not be implemented since VS Pro does some things different and some of the helper components/smaller features will not work the same way.

    Lennart
     
    zenGarden likes this.
  35. WildStyle69

    WildStyle69

    Joined:
    Jul 20, 2016
    Posts:
    318
    This is interesting - I was wondering about brush placement and cross checking the current features of pro when testing with the original VS. I couldn't find a way in pro to handle situations where I have multiple levels that require vegetation, example being a tunnel where the ground inside the tunnel is Unity terrain and the covering is mesh. I want to exclude vegetation from inside the tunnel and put vegetation on the top (mesh). So I thought painting vegetation could be the way to achieve this. I tried using masks but that didn't work, as it didn't handle the elevation / difference of the mesh terrain.

    Edit: also worth noting my terrain is using MegaSplat.

    Thanks for pointing this pointing this out, I think it's important to understand the differences. At the moment I can't yet use either product effectively, as pro you'r still working on (understandably of course :)) and mesh support is not in the original VS, will that feature be coming to the original?
     
    Last edited: Aug 16, 2018
  36. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Hi. I think we are talking about different things. Vegetation Studio Pro will have the same manual brush/paining/editing functionality as in normal Vegetation Studio. I was talking about some additional "rules" shown in the video zenGarden posted that did some "biome/distribution map" painting on the terrain.

    On the MeshTerrain component there is a TerrainSourceID setting. You can use this to make spesific spawning rules for each mesh you add to the MeshTerrain.

    I still want to try to backport the MeshTerrain functionality to normal Vegetation Studio, there is some speed issues I need to look at since I do not have the jobs and burst compiler there to accelerate the BVH tree sampling.

    Lennart
     
    Mark_01, evilangel89 and WildStyle69 like this.
  37. WildStyle69

    WildStyle69

    Joined:
    Jul 20, 2016
    Posts:
    318
    Thanks for clarifying @LennartJohansen - makes sense your comments, and I'll look into the TerrainSourceID setting you mention. Good news also that you're considering back-porting the MeshTerrain to standard Vegetation Studio.
     
  38. LittleMike

    LittleMike

    Joined:
    Jan 12, 2014
    Posts:
    101
    Hey Lennart,

    I'm still a C# noob, so if I got this wrong, feel free to correct me. I followed the getting started instructions for the Pro beta and created a new project, imported burst and entities packages, then imported the Pro beta package I downloaded (0.6.1.0) and got an error about Quaternion not existing in the namespace. Line 29 of the CellSpawnJob.cs file, I changed


    Code (CSharp):
    1. public Unity.Mathematics.Quaternion Rotation;
    2.  
    to

    Code (CSharp):
    1. public Unity.Mathematics.quaternion Rotation;
    2.  
    and the error went away. Just wanted to let you know in case I did something wrong (or to point out the typo, whichever is correct haha).

    Thanks!
    LM
     
  39. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Unity changed then naming of quaternion to Quaternion in the mathematics library 3 days ago. Yesterday they pushed a new version of the entities package (Preview10) that has a dependency to the latest Mathemathics package.

    I got this and removed a few compile errors this made. Then they suddenly pulled the Entities update from the package manager leaving all new installs with the old math package.

    I will use the UnityEngine.Quaternion until the update is live again (the internal structure is the same)

    Posting a new version on the beta download that will not get the error. (The fix LittleMike did will also work temporary)

    Lennart
     
  40. LittleMike

    LittleMike

    Joined:
    Jan 12, 2014
    Posts:
    101
    Ugh, what a pain Unity is being. I'm glad my workaround will work for the time being. Thanks for the quick turnaround. :)
     
  41. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Beta development update

    Hi. I have been doing some restructuring to allow for assembly definition files.
    Vegetation Studio Pro and the Touch React System will now compile to 4 dlls. 2 run-time and 2 edior dlls.

    These should only compile when the Vegetation Studio code changes and should save you compile time when you change your own code.

    Below you see the 2 run-time dlls added to a build.


    It will also remove the need for enabling the unsafe code setting when setting up a project



    At the next beta update you will need to remove the folder before importing to make sure the folder structure is correct.

    I will note this in the changelog and update email for you all to remember to remove the folder first.

    Lennart
     
    eaque, PeterB, tapawafo and 3 others like this.
  42. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Update on setup guide.

    Hi. I have updated the setup guide.
    Unity made some new packages public and it is now possible to set up Vegetation Studio Pro without adding the Entities and Incremental Compiler packages.

    This will help with with the UnetWeaver error some assets still have with the incremental compiler.

    Look at the guide but you now need this 5 packages
    • Mathematics
    • Jobs
    • Burst
    • Collections
    • Post-Processing
    Mathematics, jobs and Collections was earlier only available as dependencies of the Entities package.

    Image 519.png

    Lennart
     
    Ascensi, eaque, WildStyle69 and 3 others like this.
  43. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Development Update

    I just finished a new 360 degree culling mode on cameras.
    It can be selected on each camera on the Camera Tab.

    This can be used for special cases like 360 video export.

    It will also be needed in the future when Unity supports the Microsoft DXR to use RTX features from Nvidia.
    The realtime GI, reflection and shadow features will need rear geometry in the GPU also to raytrace against.



    I am preparing a new update with this and a big list of smaller changes and fixes.
    I will release this later in the week.

    Lennart
     
    Ryan-Hayle, Flurgle, PeterB and 3 others like this.
  44. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Multi terrain test

    Hi. I am doing some testing of multi terrain.
    Here I am generating a procedural splatmap from the biome splatmap rules.
    20x20 km area.
    400 terrains.
    1024 resolution heightmap
    512 resolution splatmap

    Lennart

     
    Flurgle, docsavage and Bodyclock like this.
  45. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    It looks more like blending two textures to make new one, it's not really random splat maps with random volumes and random textures and some random blending.
     
  46. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    I only used super simple rules. No noise, only 2 textures. Was more to show that it works in a multi terrain environment.
    You can have per biome splatmap rules etc.

    Lennart
     
  47. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Billboard shader.

    Hi. I added a specular version of the billboard shader. Will make it easier to match the render mode of each tree better.
    I will expose default settings to the shader controller classes to allow 3rd party shaders to set settings that work good for them.

    Lennart

     
  48. LennartJohansen

    LennartJohansen

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

    Hi I am preparing a new update to the beta. It will be available later today. It has support for the 2018.3 beta and a lot of improvements and fixes.

    Update guide
    There has been some folder changes and some removed files. It is important that you remove the old folder before importing the new version.

    Improvements
    • Package Manager requirements are now. Mathemathics, Jobs, Burst, Collections and Post-Processing. Entities is not longer needed
    • Restructured code to support assembly definition files.
    • Created editor and run-time assembly definition files for Vegetation Studio Pro
    • Created editor and run-time assembly definition files for Touch React Pro
    • Added Smoothness, occlusion and Metalic setting for billboards
    • Added Specular alternative to the billboard shader
    • New rotation setting for Billboards. When using "2D" billboard they only orient around the Y axis.
    • No need for "unsafe code" setting in unity project.
    • API changes to support Unity 2018.3 without warnings.
    • In Unity 2018.3+ TerrainLayers are now created and saved to project when applying textures from vegetaton packages to terrains.
    • Added Speedtree 8 ShaderController
    • Added 360 degree culling mode to cameras. This can be used with 360 video export.
    • Vegetation now updates when terrain height is changed with the Terrain inspector tools
    • API for Refreshing heightmap exposed on VegetationStudioManager
    Changes
    • Removed the last use of the MathLib.dll All code in c# and burst jobs now.
    • General code cleanup
    • Generating splatmap now clears vegetation cache to respawn based on new splatmap
    • Increased max blend distance on BiomeMaskArea to 300
    • Remove a multicompile keyword not needed in the VS_Speedtree shader reducing variants needed
    • Removed SetCamera static function on VegetationStudioManager. Will be replaced by AddCamera/RemoveCamera functions
    • Added AddCamera and RemoveCamera static functions on VegetationStudioManager
    • Added SetSunDirectionalLight static function on VegetationStudioManager
    • Some Cleanup and optimization on BillboardShader
    • Updated PrefabUtility.CreatePrefab to PrefabUtility.SaveAsPrefabAsset on Unity 2018.3
    • Added internal functions for adding multiple terrains at the same time. Optimizing stats generation.
    • Changes to progressbar when generating biome splatmaps
    • Changed minimum billboard brightness from 0.5 to 0
    Fixes
    • Fixed billboard related run-time error with multiple cameras
    • Removed potential null exception error in AddVegetationMaskToVegetationSystem function.
    • Fixed for BiomeMaskAreas not updating if only scale of the Transform was changed
    • Fix for terrain heights not refreshing on GenerateSplatmap
    • Removed error that could happen when Generating hull outline on a VegetationMaskArea with no meshRender children
    • Fix for NativeArray error when using undo while painting the terrain.
    • Fix for wind sampler error when adding a camera run-time
    • Fix for deleted prefabs creating error. Now replaces with red cube to spot missing item.
    Lennart
     
    brettj, ftejada, Flurgle and 3 others like this.
  49. LennartJohansen

    LennartJohansen

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

    I am doing good progress on the persistent storage. I think it will be ready during next week.

    Lennart
     
  50. Rockwall33

    Rockwall33

    Joined:
    Mar 4, 2016
    Posts:
    186
    Hello!

    Out of curiosity, what will be the price difference between 1st VS and Pro? Is pro going to be around $75 or is it planned to be higher?

    Just curious, thank you!!