Change log Vegetation Studio
184.108.40.206 Submitted: November 1th, 2018
- Now working with Unity 2018.3 beta
- Trees and Large Objects can now render instanced indirect with shadow visibility testing.
- Upgraded terrain APIs. for 2018.3+ TerrainLayers are now used.
- Added ClearCache(Bounds) static function on the VegetationStudioManager
- Added ClearCache(Bounds) public function on the VegetationSystem component
- Added LoadAllBillboardCells API call to BillboardSystem Component
- Added overloaded functions that refreshes billboards for overlapping area
- public void RefreshVegetationBillboards(int vegetationCellIndex)
- public void RefreshVegetationBillboards(VegetationCell vegetationCell)
- Changed shadow visibility culling algorithm
- Instanced indirect now renders DistanceBand3 instances (trees and large objects)
- Updated CreatePrefab API used in grass patch generator for 2018.3+
- Fix for billboards not refreshing when removing and adding trees with the API
- Fix for billboards not refreshing when removing and adding trees with the Editor
- Fix for billboards not refreshing when removing and adding trees with the Painter
- Fix for scene not set dirty when you recalculate the hull on vegetationmaskAreas
- Removed using not needed in vegetationsystem_computeshader.cs
- Properly disposed a computebuffer that was recreated if you swapped terrain
- Fix for compute buffer size error on 2018.3+
- Fix for build warning in SceneMeshRaycaster.cs
220.127.116.11 Submitted: August 8, 2018
- Added a mode to render all shadows in shadow culling.
- Added speedtree LODFade calculation for Unity 2018.2
- Added a Vegetation Type selector to the vegetation item list.
- Added ClearCache(Bounds) function to the BillboardSystem
- Include/exclude texture rules now support 32 texures on the terrain.
- Added option on MapMagic component to add vegetation system based on names of child object of the generated terrain.
- Added fix for more than 64 items not rendering instanced
- Fix for missing compute shader error on 2018.2. Could happen on empty cells
- Fix for vegetation items in the persistent storage not masked by vegetation masks if UseVegetationMask was enabled.
- Fix for potential error when painting manuallaly and one or more terrains was not started.
- Fix for artifact in top of billboards. Needs billboard regeneration.
- Fix for instanced indirect rendered objects getting bad lighting with lightprobes in scenes.
18.104.22.168 Submitted: June 18, 2018
- Advanced mode setting for allowing more than 64 vegetation items. This will be set as default in a future update.
- Added static SetWaterLevel function on the VegetationStudioManager.
- LODs are now recognized with both upper and lowecase naming. LOD0, lod0 etc.
- SceneVegetationImporter does now check if the prefab already is added to the vegetation package and uses that.
- TerrainTreeImporter does now check if the prefab already is added to the vegetation package and uses that.
- Autoselect terrain will now prioritize terrain components in parent Transforms.
- Added tool window for setting up Vegetation Systems on multiple terrains.
- Added a variant of the grass shader that takes bend info from the alpha vertex color
- Vegetation Studio will now randomize the random seed after it generates the values needed.
- Added fix for source LOD settings on billboards only showing on speedtree
- Fix for Mega splat texture rules not working correct when top and bottom layer is the same
- Fix for compute shader error that could happen on 2018.1+ Compiler gave an error if a cell had an empty compute buffer.
- Fix for issue with some blinking at billboard transition.
- Fix for error when using Aquas and Vegetation Studio in 2018.1
- Fix for frustum culling issue that could happen with multiple vegetation systems with different camera view.
- Setting RenderVegetation to false now suspends vegetation loading also
- Changed #pragma on the heatmap shader to work on osx
- Added fix for global density changes not saving.
22.214.171.124 Submitted: April 16, 2018
- Speedtree vertex LODFade is now working on Unity 2018.1+
- Added LightProbeUtility to extract lighting components from SphericalHarmonicsL2
- Trees and objects can now be painted on the peristent storage.
- Max radius on painting tool increased.
- Max sample distance on painting tool increased
- Grass meshes generated with the GrassPatchGenerator now supports the wind in the HD.Lit shader of the HD SRP
- Added single and Quadoption for billboard atlas (1×1 and 4×1)
- Added a Gaia extention to easy add Vegetation Studio to scenes with Gaia terrain.
- Added advanced option to enable editing Vegetation Item IDs
- Vegetation Masks now have an optional Ground Layer for snapping to terrain. This is for future mesh terrain use.
- Increased perlin noise max value to 500
- Fixed error when trying to paint with an empty vegetation package.
- Fix for washed out billboards in Linear mode on 2018.1
- Fixed material refresh when changing some spawn rules not syncing accross multiple vegetation systems
- Fix for computeshader link error on OpenGL on Windows.
- Added fix for curve labels in wrong color on light skin.
- Colliders now work for instanced indirect rendered vegetation items
- Fix for error in Amplify Editor node for touch bend
- Added workaround for another asset hiding the UnityEngine.Tools class
- Fixed error that could happen in 2018.1 with Speedtree lodfade and invisible trees casting shadow.
126.96.36.199 Submitted: March 16, 2018
- Support for GI when rendering instanced in 2018.1
- Added API to get instances of a vegetationItem to VegetationStudioManager.
- Fixed thumbnail refresh slowdown issue in inspector
188.8.131.52 Submitted: March 7, 2018
- Fixed Gizmo error on VegetationMask in 2018.1
- Added VegetationSourceID for Voxeland
- Added static functions to Add a Vegetation System to a terrain in run-time
- Added static functions to set up VegetationStudioManager
- Advanced setting for automatic starting vegetation system when loading a scene or exiting play mode
- Added ThreadUtility class
- ShadowMaskCreator can now handle “unlimited” number of vegetation item instances when generating the shadow mask.
- VegetationMaskLines can now have disabled segments and per segment width
- Added Amplify node for Touch React system, for 3rd party grass shaders.
- Added RefreshVegetationModelInfoMaterials to the VegetationStudioManager.
- Grass, plants and objects with multiple submeshes can now render instanced indirect.
- Added some API changes for integration with MapMagic.
- Added some additional Vegegetation Mask line options for EasyRoad3D integration.
- Changed Additional mesh max distance from 700 to 1000 meter.
- Small render loop optimization on computeshaders.
- PersistentVegetationStorage package can now be set to auto init.
- Changes for multi threaded access to PersistentVegetationStoragePackage
- Added static functions on VegetationStudioManager to set sunlight on VegetationSystems
- Changed default layer for touchbend from 31 to 29 to fix a problem with enviro
- Original MaterialPropertyBlock is now read from Renderer component in prefab
- Fix for error when PersistentVegetationStoragePackage is in memory only
- Persistent storage component not getting reference to VegetationSystem if created in playmode
- Fixed small issue with normals on billboards. needs regeneration.
- Fixed compile error on
- Fixed UI bug in inspector with billboards disabled
- Fixed VegetationPackageList not initalized early enough
- Fixed issue with UseTerrainTextures on VegetationPackage not possible to disable
- Fix for compile error on TerrainHeatMap.shader on vulcan.
184.108.40.206 Submitted: February 6, 2018
- Setting for enabling manual vegetation refresh on the vegetation tab.
- Added a run-time serializer for the PersistentVegetationStoragePackage
- Added BroadCircleMaskArea class. (for internal mask API)
- Runtime prefab spawner can spawn on grass and plants, also when instanced indirect.
- Added disable option on PersistentVegetationStorage
- Vegetation Items in the persistent storage can not be affected by VegetationMasks. Setting on each item.
- Internal changes for MeshTerrain Support (still work in progress)
- Objects and Large objects can now be rotated around all axis in the manual editor in the PersistentVegetationStorage component
- Added VegetationSourceID for Origami and Landscape Builder
- Removed “clone” from the name of objects spawned with the RuntimePrefabSpawner.
- Added OverrideRenderQueue/renderque settings on BillboardSystem
- Added override layer for billboards
- Windsamplers are now activated for terrains out of range.
- Added custom WindSampler material for Speedtree wind. Will allow dynamic bathing on this.
- Fixed autodetection bug for sunlight.
- Fixed compile issue for windows store on CTI billboard shaders.
- Corrected text for sun setting on render tab
- Removed “enable runtime spawn” button that would show up on an empty vegetation package
- Fixed missing TreeCreatorLeaves shader in standalone builds
- Fixed colorMask sRGB setting in linear mode.
- Fixed compute shader errors on Unity 2018.1 Beta.
- Now removing NavMeshObtacles from the WindSampler object if on the original prefab.
- Fix for edges of terrain not spawned if terrain height is other than 0
- Fix for some tree creator trees missing leaves in the standalone builds.
- Fix for billboard atlas generated that was effected by scene fog.
- Fix for not clearing windsamplers at disable
- Fixed billboards not showing at one angle. Regenerate billboards needed.
220.127.116.11 Submitted: December 18, 2017
- Changes to Billboard system for better support of CTI shaders.
- Automatic shader switch on tree creator to the version that works with shadows instanced properly
- BakeVegetationItem function on PersistentStorage is now enabled for use in builds. The Storage will not save between sessions.
- Max sample distance set to 100 meter now
- Billboards atlas texture wrap mode is now set to clamp
- Fixed bug with VegetationItemMask not working properly
- Setting new VegetationPackage did not set component as dirty
- Alpha problem on billboards could happen on some computers
- Fix for error when detecting shader and no mesh object was detected.
- Fix for heightmapUtil dll error on Mac with target set to windows.
18.104.22.168 Resubmitted: Desember 5, 2017
Unity requested some small changes. We decided to include the first planned update when resubmitting.
- Added ShadowMapCreator Component. Makes shadow masks for Microsplat.
- Added VS_indirect.cginc file for upgrading shaders to instanced indirect
- Custom billboard atlas renderer for Custom Tree Importer trees
- Custom billboard atlas renderer for Unity Tree Creator trees
- Billboard Atlas packed better, giving 4x the pixels per image and lower pixel discard rate while rendering.
- Added new highsample modes for 2D and 3D billboards. 16 samples in each direction.
- VegetationColorMask does not need background settings. Using Alpha bleeding/padding now
- Vegetation Studio will now detect the Alloy speedtree shaders as Speedtree and inject the proper wind
- Added BillboardShaderDetector class to support custom billboardAtlasRenderers
- Added alpha padding on generated billboards to get better mipmapping, and removing black edges
- Added BillboardTintColor shader parameter
- Added FOV as factor to the LOD calculations for trees
- Added Mipmap Bias setting to billboards. Adjusting the mipmap layer to sample
- Copy is now added to the name of duplicated items
- Injecting CTI shader wind automatic.
- Changes to billboard shader. More noise in billboard texture sample
- Removed dependency of TouchReact in VegetationSystem.cs
- Reorder of some spawning tests. Should help speed on setups using multiple include/exclude vegetation masks for Vegetaton Items
- namechange on touch react buffers
- Enabled LODs in editor mode
- Added delete confirmation on VegetationItems
- 3 jpg files replaced with png versions
- Fix for sea level cells always excluded, setting had no effect
- Fix for tree billboards not following rotationOffset setting.
- Fix for error that could happen in PersistantVegetationStorageEditor with no package added
- Fixed UI splash screens in wrong color mode in linear.
- Fix for terrain updating splatmap when Apply on editor changes was disabled.
- Small change in OnRenderObject to exclude som tests not needed in playmode or builds
- Removed possible error when missing TerrainHeatmap material
- Changed SHADER_API_PS4 to SHADER_API_PSSL for PS4 compilation
- New vegetation items are selected automatic.
- Fixed high memory use and problems with large terrains on VegetationColorMaskCreator
- Terrain splatmap heatmap did not work properly with non 0 y-position on the terrain
- Fixed bug with VegetationItemMask not working properly
- Setting new VegetationPackage did not set component as dirty
22.214.171.124 Submitted for review: November 6 , 2017
- Added warning and removed error if Persistent storage API is used to add instanced when vegetation studio on sleep mode
Fixed bug where a random GUID was returned when asking a vegetationPackage if a prefab exists from before.
Fixed bug where culling group would not initialize if you started game with maximize on play
1.0 Release Candidate 2: November 3 , 2017
- All components now have documentation direct links from the upper right corner help icon on the components.
- Added additional testing to reduce work in update function for terrains out of distance.
- Added setting to use CPU frustum culling and individual LODs on Objects and LargeObjects.
- Inspector UI changes on BillboardSystem, ColliderSystem, TerrainSystem,PersistentVegetationStorage and VegetationStudioManager
- Enable instancing will only be set to enabled if it is disabled. Was triggering file change for source control.
- Removed error that could happen in editor mode with no sceneview visible.
- Changed some UI textures to transparent versions.
- Updated UI logo on TouchReact components
- Removed post processing stack behaviour from demo scene camera
- Removed collider with importer warning in 2017.2
1.0 Release Candidate 1 patch 1: October 31 , 2017
- Fixed shader warning on MinPostFilter.shader
- Fixed line shift on MeshExtention.cs
- Fixed trying to read a cutoff value from a material with no parameter
- Fix for render loop issue when material was missing.
- Replaced some occurances of touch bend in inspectors. Touch react now.
1.0 Release Candidate 1: October 30 , 2017
- All components help icon now linked to documentation pages on the website.
- Added a TerrainDetail mask. This is configured by the terrain detail importer
- Trees are now culled by camera frustum. Potential shadowcasters outside are rendered as shadows only.
- Enabled per item LODs on objects and Large objects. Shadow culling on Large object shadows. This allows for proper exclusion of non visible trees and less load on the GPU.
- Changed Vegetation Item drop zones UI. they allow for mulit selection drag and drop now.
- Touch Bend system renamed to TouchReact system. This might require adding TouchReact and Mesh components to objects again.
- Cleanup of package. Post processing removed. Profile still included
- Merged Height/Steepness and Scale/rotation groupes in Vegetation System Editor
- Compute shader renderloop is set as default to disabled. It can be enabled on the Render tab.
- Changed minimum LOD factor to 0.15
- Scene Vegetation Baker can now export grass and plants also.
- Scene Vegetation Baker has setting for static export.
- GC cleanup in render loop.
- SunDirectionalLight is set at Reset() event.
- Set PersistentVegetationStoragePackage to [PreferBinarySerialization]. Saving the binary data as text takes to much space,memory and time. Only affects new packages
- Added setting to load terrain detail mask to memory. Default setting is false.
- Added an extra float4 as control data to the structured buffer passed to the indirect shaders. for future use.
- Removed compiler warnings in 2017.2
- NavMeshObstacle center not showing on capsule mode UI
- Reduced memory use on VegetationColorMaskCreator
- Fix error where compute shaders would not be initialized if starting with compute shaders disabled
- Fixe error in Billboard system that could happeen with run-time instantiated terrains
- Removed VR related compile error.
- Fixed bounds calculation wrong on prefabs with an scale of != 1;
- Fix for potential error with missing materials on VegetationPrefabs
- Fixed potential error in MeshUtils when calculating the bounds of a prefab.
Beta 6.2: October 23 , 2017
- New compute shader based renderloop. Instanced Indirect (grass, plants, flowers) render lists are now produced on the GPU, culled for frustum and vegetation distance and split in LODs for rendering direct from a compute buffer.
- Individual LOD control per vegetation items for instanced indirect shaders.
- Added settings for GPU Culling, Use Compute shaders and use Indirect LODs on render tab.
- Generate hull outline function for Vegetation Mask Area component. API and UI
- Added support for generating NavMeshObstacles on Colliders.
- Redesign of some UI on vegetation system component.
- Added setting to Enable/disable GPU frustum culling on instanced indirect grass.
- GPU Culling is now disabled by default in VR due to multiple camera frustums.
- Added menu option to add and assign VegetationStudio component to a terrain
- Option on colliders if you want to use them with bake to navmesh feature
- Added name of selected Vegetation Item in UI
- Bounding size calculation on the indirect GPU grass culling
- Fixed vegetation not sampling correct close to the cell borders.
- Fixed baked billboards saved to scene ending out with empty material
- Fixed error in demo harvesting script if no camera was enabled
- Fixed bug in culling sphere calculation for GPU culling
- Fix for floating origin billboard mesh bounds issue
- Fix for baked billboard mesh saved to scene not serializing
- Fix for Alt-left button rotate not working in painter
- Fix for issue when multiple vegetation systems with the same vegetation package did not refresh on multiple terrains.
- Fixed issue with import of textures from terrain to VegetationPackage
Beta 6.1: October 14 , 2017
- Added a 2nd level GPU frustum culling on instanced indirect grass and plants. This is done on top of the internal cell based culling.
- Added version of grass shader that reads wind/bend info from red vertex color channel
- New component. ObstacleMaskCreator. Use this to create an obstacle mask for the terrain. Spherecasts for obstacles on your selected layers.
- Multiple vegetation system using the same vegetation package will now sync/refresh if you add/remove or change vegetation items
- New option to assign custom mesh to colliders
- Added Overload of static AddVegetationItem that takes Texture2D to VegetationStudioManager
- Added static GetVegetationItemID(string assetGUID) to VegetationStudioManager
- Added static RemoveVegetationItemInstances to VegetationStudioManager
- Refactoring of AddVegetationItem code in VegetationSystemEditor
- Added MaskVegetationItem function to VegetationItemInstanceInfo
- Option to apply mesh rotation to items Added with API
- Baked billboards now have option to save as root gameobjects in the scene.
- ColliderSystem.BakeNavmeshColliders now returns the GameObject holding all the colliders.
- Menu option to add additional vegetation system objects for multi terrain
- Billboard culling distance wrong in VR
- Build compile error in SceneMeshRaycaster
- Build compile error in BillboardSystem
- Fixed bug in MeshUtils when enabling a vegetationSystem from a physics event
- Fixed small issue with VegetationItemMask
- Fixed billboard culling bug that could happen on none 0,0,0 terrains.
- Fixed error when adding VegetationItems using the API with a sleeping VegetationSystem
- Fixed Billboard system needed to be enabled to bake billboards.
- Fixed error that could happen when changing the amount of terrain textures in a Vegetation Package
Beta 6.0: October, 2017
Changed beta number to 6.x was some confusion with similar numbers as unity version numbers 🙂
Also some bigger changes. The new painting system, baked billboards, floating origin and a rewrite of the RuntimePrefabSpaner GUI.
There has been some renaming. DELETE the AwesomeTechnologies folder before importing.
- Extended RuntimePrefabSpawner component. You can now configure multiple prefabs per Vegetation item. Per item seed and an event for custom spawn logic.
- Persistent Vegetation Storage painter is now working.
- New static functions on VegetationStudioManager to refresh VegetationSystem components using a specific terrain as parameter.
- Baked billboards can now save mesh and material to project as assets
- Baked billboards can be parented to the terrain automatic
- Baked billboards are now generated in localspace of the terrain.
- Custom baked billboards shader. Culling distances set in global shader parameters.
- Blinking in billboards and trees when changing floating origin is removed.
- Internally cell vegetation are now moved and not re-spawned when terrain origin is moved.
- Added SceneVegetationBaker component
- GUI cleanup on wind settings
- Added billboard cutoff to each tree settings, removed from billboardsystem component.
- TouchBendControler renderTexture is now not serialized with the scene.
- Billboards internal meshes are now relative to the terrain. Offset is done in the render matrix. This makes floating origin changes “instant” for the billboards.
- Changes to internal structure for loading trees for the billboard generator. This is now done with the new DirectSpawn functionality of the VegetationCell. This reduces some memory use since the spawned trees for billboards does not end up in the cache.
- Clear old billboard as option when baking new billboards.
- Changes to internal message system to refresh billboards.
- Some name changes on internal API on VegetationSystem.cs
- Small billboard culling fix.
- Fix automatic billboard generation issue with missing prefabs.
- Billboard brightness adjustment no longer refreshes billboards
- Removed error when using the RefreshAPI while in sleepmode
- Fixed warning in MinPostFilter shader
- VegetationStudio settings visible when component in sleep-mode and disabled
Beta 5.2: September 27, 2017
- Added HotswapTerrain function on the VegetationSystem component. You can now replace a terrain of the same dimentions without recreating the quadtree and cell structure. Internal data is moved to the new worldlocation. This is usefull in cases where you are reusing vegetationsystem components from a pool with run-time instantiated terrains.
- All grass and plant materials will have 2 set properties. _CullFarStart and _CullFarDistance These can be used in grass shaders to cull grass at a distance to remove cell popping effect.
- New component. VegetationColorMaskCreator. this will export a unlit color mask of selected vegetation. Designed for use with terrain shaders to blend in this maske where mesh grass stops.
- New component. VegetationItemMask. This is designed to mask a single VegetationItem. This could be used for harvesting resources in games.
- Harvesting demo script added to demo scene.
- Added custom billboard generator for TreeCreator trees
- Exposed per Vegetation Item billboard brightness.
- Extended navmesh bake to bake colliders to the scene also
- Added a per vegetation item Disable LOD setting on trees.
- BillboardSystem.BakeBillboards now have a optional Transform parent parameter to control where to place the billboard meshes in the scene.
- VegetationItemInstanceInfo component is now added to all run-time spawned colliders
- VegetationItemInstanceInfo component is now added to all run-time object created by the run-time prefab spawner.
- New internal mask type circleMaskArea.
- New setting to disable/enable compute shaders.
- VegetationItem settings to disable shadows. Usefull for underwater plants etc.
- Removed Pre-Cache buttons on Debug tab
- Added progressbar to navmesh baking
- Added copy/paste to curves.
- Added refresh prefab button.
- Added progressbar on billboard atlas generation.
- Fixes UI bug on Persistent Vegetation Storage that allowed you to try to bake vegetation without a VegetationStoragePackage added.
- Removed warning on GrassPatchVertexColor shader
- Fixed black border on help button on some computers
- VegetationPackage not set as dirty after regenerate billboards
- Fixed small bug with collision detection and baked vegetation
- Fixed issue with culling group not destroyed in some cases.
Beta 5.1: September 18, 2017
You will get a warning about billboards in wrong color space when first using this beta version. It is part of upgrading the package as I do not know what color space you currently has generated for. In the future and on new packages it will only happen when you change color space of the project.
Individual LOD selection on trees is now working. Settings is based on LODGroup settings in the prefab.
- Warning/dialog when using a vegetation package with billboards generated for another color space.
- Tree LODs are now working as they should. Distances is calculated from the LODGroup and adjusted for QualitySettings.LODBias and an exposed LODFactor setting per VegetatonItem. Make sure your initial LOD setting is set to LOD0 if you want the full quality if the trees.
- Added option to make colliders triggers.
- Added support to add Texture2D grass from the static API
- New terrain detail settings importer. This will help you set up VegetationItems for grass and plants used in a unity terrain for run-time spawning.
- Fix for sea cells being tested when creating billboards
- Changes to internal code to bake navmesh. Spawn is now direct to component bypassing cache.
- New code for selection of VegetationItem for RuntimePrefabSpawner
- Cleanup VegetationPackageInspector
- Added setting to disable updating terrain on vegetation Package editor
- Default LOD for trees is now LOD0
- UI changes for logo and documentation button.
- Fixed VegetationItem clipboard not cleared properly
- The name of the VegetationItem when adding Texture2D textures is now set to the Texture name by default
- Navmesh build problem. on some cases the entire terrain would not bake.
- Fixed error on persistent Vegetation Storage that could happen with a Vegetation System without vegetation package
- Fixed problem with blinking billboards when moving out of 1st level culling
- Fixed error that could happen in runtime prefab spawner.
- Fixed error when adding trees with no materials.
- Fixed timing issue that could stop vegetation mask from working with terrains loaded run-time.
- Removed a custom AnimationCurve property drawer that made a problem on 2017.1 or newer
- Fixed bug in terrain texture UI
Beta 5.0: September 09, 2017
Hi. We jumped to beta 5.0 Some bigger new features in this version.
First is the Persistent Vegetation Storage. It allows you to bake the result of the run-time rules to a persistent storage.
When baked you can edit tree locations, add and remove instances etc.
Loading speed is faster at the cost of some space. But the size is not bad. a 2000×2000 meter terrain with really dense grass took 58mbyte including everything. 1.4 million instances.
There is also an API for 3rd party tools to spawn vegetation into this storage and 2 importer modules.
1 that imports terrain trees and the other can import gameobjects from the scene. rocks, trees etc.
There is also a painting tool included in the Storage but this is not complete yet.
Delete the old folder before upgrading. Some files was deleted, other changed name.
- You can now import terrain textures from any Terrain or TerrainData. Drag and drop on target VegetationPackage
- Added PersistentVegrtationStorage
- Added TerrainTreeImporter
- Added SceneVegetationImporter
- Changed default value on scale and density texture masks
- Changed internal behaviour of sea cell excluding. Needed for persistent storage
- Renamed CullingSphereIndex to CellIndex
- Renamed NoiseGenerator class to RandomNumberGenerator
- Moved some VegetationPackage editor functions to a common tool class
- Internal refresh changes to GrassPatchGeneratorEditor.cs for wind.
- Changes in billboard system to create billboards for items from the persistent storage
- Added VegetationSourceID for 3rd party spawners.
- General cleanup of code and function naming
- Some namechanges on the VegetationMask properties.
- A PersistentVegetationStorage Component is now added when adding VegetationStudio to a new scene using the menu.
- Some internal ID renaming. All vegetationItems will get a new ID but packages should upgrade.
- Changed name of a propery on TerrainTextureSettings. Textures used for terrain splat map generation will have to be enabled again.
- Changed max sea/water height to 5000
- Some cleanup in the VegetationSystemEditor class
- Fixed issue with edge cells not spawning vegetation on terrains with no TerrainCollider
Beta 4.5: August 22, 2017
- Added inverse texture mask setting
- Added rotate texture mask setting
- New “Disable in editor” mode on RuntimePrefabSpawner
- Grass patch generator does now keep plane aspect ratio when adding random scale.
- Added setting to force disable/enable + GC cleanup when saving the scene. You can turn this on/off in editor tab.
- Billboards now rotate correct against the Gameview camera in editor mode also.
- Removed Grass and Billboard debug keywords. Will increase shader compile speed
- Renamed Grass and Billboard shaders. Materials should auto upgrade. Meta file not changed.
- Renamed Billboard diffuse/normal atlas shaders
- Renamed shaders for touchBend/React system
- Renamed TerrainHeatmap shader
- Removed “Disable in editor mode” setting for vegetationSystem component. This is not needed after sleep mode
- Added define VS_USE_HEIGHTMAP_DLL to enable native dll for height map steepness lookup in editor also.
- Copy paste vegetation item will now copy texture mask rules also.
- Added refresh height map button on debug tab
- Fixed a bug in the bake billboards function.
- Added baked billboards origin fix. would happen when VegetationSystem was not on 0,0,0
- Added text on run-time prefab spawner.
- Changed random seed calculation on the RuntimePrefabSpawner. multiple prefabs on the same Vegetation Item now have different random spawn chance.
- Removed some GC generation when using the native DLL to sample the height map in standalone Windows builds
- Changes to 2nd level tree distance culling calculation
- Fixed texture mask scale rule – scale multiplier
- Cleanup VegetationSystem component editor
- Saving the scene or entering play-mode will now restore the terrain material if heat map was active
- Added static SetCamera function to VegetationStudioManager Component
- Added static SetTerrain function to VegetationStudioManager Component
Beta 4.4: August 17, 2017
- In editor mode billboard generation is now split over multiple frames. Any changes to rules involving billboards will be updated automatc.
- Added Micro Splat stream control mask. You can now use Wetness, Puddles, Streams and Lava as spawn rules.
- Added Dropdown String list property type for custom Texture Masks.
- fixed slow memory copy issue.
Beta 4.3: August 14, 2017
We removed this beta version due to a memory copy issue that slowed down the render loop. Will be fixed for next version.
- Multi sceneview support. Culling will be based on the active sceneview.
- Started using compute shaders for some compute heavy tasks. Minimum shader model 5.0 (was 4.5 before) Reducing spawn time on cells with grass and flowers.
- Internal changes in cell spawning. Reduced memory use.
- Optimized visible items render list creation. 0 GC created while updating visible lists. Speed increase also.
- Changed names on Initial LOD settings
- Removed PrefabType selector for Vegetation Items
- Fixed error assigning texture 9 when only 8 texture in package
- Added max scale on masks to 200
- You can now change the number of textures in a vegetation package. Option on the vegetation package inspector.
- Added a test to make sure textures are readable before adding to terrain.
- Fixed some issues with tree creator wind. Now injecting the wind manually in the materials when rendering instanced indirect.
- Fix for memory leak when adjusting touch bend buffer size
- Fix for offset issue with terrain texture include/exclude rules. could give an sample error of half the splatmap pixel distance.
- Fix for error when setting vegetation/tree/billboard distance from API before system is initialized
- Renaming of TouchBendSystem to TouchReactSystem. Also moved the folder of the touch reaction system parallell to VegetationStudio
- Changed logo of TouchReact system
- Changed default alpha cutoff to 0.1 on grass. Gives better grass coverage at distances.
- Moved calculating the InverseMatrix for grass to the GPU using a compute shader.
- Removed debug option on VegetationStudioManager to show VegetationMask outlines.
- Changed fade distance on grass from 10 to 20 meter.
- Added range settings to collider system
- Fixed warning in VegetationPackageEditor
- Added SceneviewDetector class
- Fixed Billboard clipping problems with terrains in non 0 y position
- Removed VegetationStudio.Assembly. Will add later in 2017.2 beta
- Restructure of data sent to InstancedIndirect Shaders
Beta 4.1: August 07, 2017
- New texture mask type. Colormask. It allows you to select a color and tolerance range form a mask texture. Option to get density from alpha or tolerance accuracy.
- Adding option for masks to store texture in VegetationPackage or on Vegetation system. This is used if you have multiple terrains using the same VegetationPackage and different mask textures.
- Added WindController component. Used to inject wind data to the VegetationStudio grass if used in a scene with no VegetationSystem.
- New curve editor that allows for editing height and steepness rules direct in inspector.
- New curve editor for VegetationBeacon falloff
- Sceneview now refreshes when leaving sleep mode
- Added Paste Values option when copying vegetation items.
- Updated UnityTerrainData.cs You can now disable the c++ dll used for some math in windows standalone mode by defining VS_NO_HEIGHTMAP_DLL as a compiler define. System will fallback to c# version of the same code.
- VegetationStudio will now compile on Unity 5.5 releases, there is limited functionality. Instanced Indirect(grass does not work), shaders must manually be enabled for instancing in code. 5.5 Will not be a supported unity version.
- Fix for wrong rotation on TextureMasks
- Enable instancing for grass patches generated by Grass Patch Generator
- Fixed wrong initial rotation on billboards
- Storing texturemasks on VegetationSystem component now works good with multiple vegetation systems using the same vegetation package
- Changed warning for missing camera.
- VegetationMasks needs to be enabled to edit.
- Adjusted height on the Start vegetation systems button
Beta 4.0: August 02, 2017
- Added bake option for colliders for Navmesh baking
- Added baked billboards mode to BillboardSystem Component
- VegetationSystem now starts up in a sleepmode when in editor.
- Billboards will have to refreshed manually when rules change in editor mode. This is first part of speeding up the refresh when changing rules.
- Allow compressed textures for texture masks
- Runtime prefab spawner can now be on a child GameObject of VegetationSystem
- Collider offet is now relative to vegetaionItem rotation
- Runtime prefab spawner offet is now relative to vegetaionItem rotation
- Added labels to distance rings on VegetationMaskArea
- Fixed range slider min/max when using edit field
- Moved regenerate all billboard atlases to editor tab
- Fixed issue with setting VegetationPackage before OnEnable
- Added setting to adjust random distributon range
- Moved BillboardSystem render to LateUpdate. This fixes blinking billboards while moving VegetationMasks run-time
- Fixed billboards not refreshing after disable/enable component
- Added get density functions to VegetationStudio Manager
- Fix for depreciated function on 2017.2 Beta
- Added error message on inspector if developer try to add the base class VegetationMask component.
- Added NoRotation option for vegetation items
- Fixed localspace rotation offset bug
- Changed the way assets import after generating billboard atlas
- Added settings to compile VegetationStudio into separate binary in in Unity 2017.2 and newer. Will give faster compile time as code is only recompiled when VS code changes.
Beta 3.9: July 27, 2017
- Added scale mask support
- Started refactoring the internal cache to remove GC buildup
- Doing some cleanup before saving scenes.
- Fixed threading issue that could lead to theads loaded with more work than others.
- Added “Refresh masks” button on Mask Tab
- Added support for TextureImporterFormat.ARGB32 and TextureImporterFormat.RGBA32 for masks
- Added seed value per vegetation item
- Added density value per vegetation item
- With multiple masks density rules now uses the highest value
- Added offset to perlin noise
- UI changes. Made Terrain texture rules, Texture mask rules and Vegetation Mask expand/collapse
- Include in terrain checkbox moved up to top of settings
- Fixed refresh mask textures loop bug
- Removed a Sceneview.RepaintAll call in the VegetationSystem inspector
- Fixed focus control not reset when selecting new mask
- Fixed masks not working in builds
- Fixed issue with adding node in the VegetationMask editor when moving sceneview camera
- Refresh cell size button.
- Added static function to Set Vegetation Packages on all vegetation systems.
- Plants now show up for the run-time spawner if they are not instanced indirect.
- Added density and scale multiplier setting for rules for texture masks
- Offsets on vegetation items, colliders and runtime prefab spawners are now scaled with the item.
Beta 3.7: July 22, 2017
- Added RGBA texture mask
- Added Mega Splat Param texture mask (reads puddle density)
- Finished Mega Splat Control texture mask.
- Added texture mask validation rules and fixes, read only, no chunk compression, ARGB format requirement
- Added Texture mask Include and Exclude rules.
- Fixed compile error when exporting.
Beta 3.6: July 21, 2017
- Fist support for texture masks. Grayscale density mask and perlin mask is ready.
- Texture Mask Density rule is finished.
- Removed the need for the EditorCamera in edit mode. Now using the native SceneView Camera for culling.
- Added MaskBackgroundCreator Component. Add to VegetationSystem Gameobject. Select resolution and generate a ortho image that can be used as background for manual masks.
- Renamed settings PlantDistance to VegetationDistance. This will reset VegetationDistance on current scenes to default of 100 meters.
- Fixed density setting mapped to wrong category.
- Fixed touch bend not copying with copy/paste
- Fixed Vegetation Mask area not removing on disable/remove
- Fixed possible error in Vegetation Beacon editor
- Added UP/Down navigation in ExtendedFlycam Q and E button
- Added static getDistance functions on VegetationStudioManager
- Billboards now only get generated on tree prefabs
- Grass patch generator refreshes AssetDatabase. Fixed a possible crash when saving.
- Removed speedtree wind in editor
- Forced GC cleanup after clearing cell cache
- Changed serialization mode for some lists
- Some memory management changes
- Forced random seed on vegetationTypeDetector
- Changed text for Vegetaion Item vegetation Mask
- Restricted terrain texture denisty rules to 0.01 – 1
- Fixed automatic vegetation update problem when using terrain inspector on vegetation packages with no textures
- Fixed edge spawning after 9.9-10 density fix
- Increased max sample distance to 50 on vegetation items
- UnityTerrainData fix for refreshing heightdata with bounds outside of terrain
- fixed error in BillboardSystem if VegetationSystem component is disabled
- Added Id field to VegetationMasks.
- Will automatic set mask textures to readable when adding masks.
Beta 3.3: July 18, 2017
- Added new shadow culling system to get shadows from invisible trees. New setting on Render Tab to set distance
- Added copy paste of vegetation items.
- Added static SetVegetationDistance, SetTreeDistance and SetBillboard distance to VegetationStudioManager. Sets on all VegetationSystems in scene
- Added pdf manual to core package
- Adjusted Vegetation Beacon UI
- Fixed VegetationSystemEditor error
- Fixed error in VegetationSystemInspector with missing prefab
- Added Rotation Offset to the VegetationItems
- Added “external web link” to the documentation button text.
- Fixed sample distance bug giving huge changes from 9.9 to 10 meters
- Width and height of the grass patch generator is now a range. this can help give different height to each plane.
- Added Vegetation scale multiplier
- Fixed some spelling mistakes in enums
- Renamed SetPlantDistance to SetVegetationDistance
- Changed position offset on vegetation items to localspace.
Beta 3.2: July 14, 2017
- Added Vegetation Beacon Component.
- Added all 5 categories Density setting. Grass,Plant,Tree, Object and Large Object.
- Removed some warnings
- Fixed density setting on Localized vegetation on masks.
- Using prefab and texure name as VegetationItem Name when adding new.
- Fixed dark textures in terrain texture rules
- Fixed inital position for Mask areas if parent of GameObject was != 0,0,0
- Exposed SetDensity static functions on VegetationSystemManager. Will set on all VegetationSystem components in scene.
- Fixed Inspector UI bug on VegetationMaskLine. Will work with only max range set now.
- Fixed typecast bug in inspector with wind wave noise
- Fixed selection of object after adding a new Texture2D vegetation item.
Beta 3.1: July 13, 2017
- Runtime colliders and spawned objects now have a RuntimeObjectInfo component with a reference to the VegetationItem class it is created for. Get this component from the GameObject to get more info about the VegetationInfo
- There is now a scale setting on box, sphere and capsule TouchBendColliders. Usefull to increase the affected area of ragdoll colliders etc.
- Added a 2nd level culling on trees. there is no overlap distance between trees and billboards now.
- Added source LOD for Billboards. Users can decide what Speedtree LOD to use for the billboard generation.
- Fix offset to be local space on colliders
- billboards not visible is not affected by API respawn.
- Fixed OnBeforeDestroyColliderDelegate not called when clearing all colliders
- Fixed billboard Atlas max resolution not set to 4096px
- Fixed render bug on billboard Atlas generation.
- Fixed VegetationSystem inspector error with empty vegetation Package
- Fixed bug with assigning terrain texture rules on vegetation package with “no textures”. Textures images now direct from terrain in these cases.
- Fixed error when removing the last vegetation package
- Added info on terrain textures tab when no textures package is selected.
Beta 3.0: July 11, 2017
- Added Collision Detection for trees and large objects. Enable on each item to activate
- Added HUE and Color tint setting for speedtree, real time updates as you change settings.
- Added HUE and Color tint to billboards when using speedtree
- Added wind effect range to limit wind on grass.
- Option to render billboards to all cameras
- Fixed dark skin logo in private mode on Extended Terrain Editor
- Added a regenerate all billboards button on BillboardSystem. Usefull after changing lighing model.
- Fixed problem with depth buffer on billboards in Forward mode. This fixes problems with Enviro and other fog systems.
- Updates on math library
- Added Vegetation Studio version number on the VegetationSystem component
Beta 2.8: July 09, 2017
- Removed crash issue with some Editor layouts.
- fixed unity layout bug
- Removed disabled dropdown on BillboardSystem component.
- Adjusted post processing stack in demo scene
- Fixed wrong active Vegetation item after changing VegetationType on an item.
- Fixed wrong active Vegetation item when adding new. Both a bug from the new sorting of Vegetation items per type.
Beta 2.6: July 08, 2017
- Fixed memory leak that could happen when rendering sceneview in editor mode.
- Small UI inspector changes.
- Internal work on Texture Mask system.
Beta 2.5: July 06, 2017
- Added support for a range additional distance on Line and Area masks. Area in range is using a perlin noise to create a more organic edge on the mask.
- New advanced scale mode where you can scale vegetation items in all axis. Lerp between min and max vector3.
- Fixed issue with some temp gameobjects not clearing when unity recompiles source.
- Fixed instancing indirect shadow issue on grass. Unity was using a lot of CPU even with grass shadows turned off.
- Fixed init/checklist bug that could happen in a empty terrain
- Exposed a setting under Render tab to disable InstancedIndirect LODs for grass. Better density in distance at some extra render cost.
Beta 2.4: July 05, 2017
- Added support for curves on height and steepness spawning
- Updated vegetation item heatmap for curves and or min/max
- Fixed bug with PreviewCache class
- Fixed Instancing not auto enabled in editor mode for GrassPatches
Beta 2.3: July 04, 2017
- Fixed scale bug on Runtime Prefab Spawner
- Added cache system for preview images to speed up inspectors
- Fixed VegetationSystem inspector horizontal slider issue.
Beta 2.2: July 03, 2017
- Added prefab preview and use VegetationItem scale to Runtime Prefab Spawner Component
- Layer setting for instanced prefab on Runtime Prefab Spawner
- Fixed potential crash when editing colliders.
- Direct update to colliders in sceneview when editing in VegetationItem inspector. No longer respawns vegetation.
- Fixed problem with slower framerate in Playmode Gameview if VegetationSystem inspector was active. The lower fps did not show up on Stats window.
- Fixed potential crash when removing temporaty gameobjects in editor mode.
Beta 2.1: July 03, 2017
- Fixed a bug with the new billboard shadows not rendering
- Fixed a instanced material problem that could happen in editor mode with generated grass patches.
Beta 2: July 02, 2017
- Added wind support for Tree Creator trees.
- Added the Runtime Prefab Spawner component.
- Tree Billboard shadows now exposed as a setting on BillboardSystem Component
- Fixed grass disappearing sometimes in editor mode.
- Fixed occlusion culling bug removing speedtree wind in some cases.
- Vegetation Items are now sorted by type in VegetationSystem inspector, Large Object, Object, Tree, Plant, Grass
- VegetationSystem inspector tabs now remember last selected tab.
- Removed some potential init errors when VegetationPackage is missing
- Changes to rendering loop for billboards
- Fixes some cases where speedtree could be using a few drawcalls more than needed
- Autodetect camera feature will now also find cameras with name containing “Main Camera” or “MainCamera”
- Fixed issue where vegetation could be spawned on neighbour cell and in some rare cases not be controlled by a vegetation mask.
- Fixed issue where tall trees on edges of cells could be culled while they still should be visible.