Vegetation System – Vegetation Tab

Vegetation System – Vegetation Tab

This page is part of the documentation of the VegetationSystem Component.

Vegetation Distance

Vegetation Distance

Vegetation Distance is the visible range for grass, plans and objects in the scene. Adjusting this does not require a respawn of cells in cache.

Additional Tree Distance

“Additional Tree Distance” is added to the “Vegetation Distance”. It will render Large Objects and Trees as meshes in this additional Range.

Additional Billboard Tree distance

“Additional Billboard Range” is distance on top of the additional tree distance. In this range billboards of trees will be rendererd. See BillboardSystem component for more detailed info.

Tree billboards showing in the distance

 

 

Vegetation Density

Vegetation density is designed to allow the developer to easy controll the general density of vegetation. This will work as a multipler for the sample distance of the individual Vegetation Item. This can be usefull as an exposed setting for players to reduce density on lower quality computers.

Adjust setting to change scene tree density.

Same scene with tree density set to 1.7, 1 and 0.3

Same scene with tree density set to 1.7, 1 and 0.3

Same scene with tree density set to 1.7, 1 and 0.3

Vegetation Scale

Adjust this to change the scale of all VegetationItems in the vegetation package.

Random Vegetation

Random seed

All vegetation placement done by VegetationStudio is based on a random seed. Based on this the vegetation spawned will be 100% identical every time. Change the seed to get variations of vegetation.

Add Vegetation Item

In order to add new vegetation to the Vegetation Package, drag and drop the prefab of the plant, tree etc to the corresponding drop area. The difference between the areas is the default configuration for each item. Sample distance, Type, rotation etc.

In addition to prefabs you can drop Texture2D grass and flowers direct. They will be used as mesh grass/plants and you have a range of settings. If you want more detailed controll you can make a custom grass mesh patch prefab using the Grass Patch Generator.

Select Active Vegetation Item

To remove or edit a Vegetation Item in the package, select it from the grid.

Heatmap

The heatmap function is designed to show you the potential spawn area for an Vegetation Item. Turn it on to see potential area based on height and steepness settings.

Show heatmap

Enable to display heatmap. Heatmap will be disabled if you change selected GameObject or Tab.

Showing heatmap of vegetation using simple mode for height and steepness

For simple mode a min/max value is used but for Advanced mode a curve based system for steepness and height give much more control.

Vegetation Item

Delete selected item

This will delete the selected item from the Vegetation Package. Prefab or Texture2D is not touched.

Duplicate selected item

This will duplicate the selected item, with rules and prefabs.

Item name

Item name is your name for the Vegetation Item. This can be anything and is only used for your reference

 

Vegetation Prefab/Texture

This is the link to the actual Prefab or Texture of the Vegetation Item. You can replace this with a new by dropping a new object.

Vegetation Type

Settings like Billboards, Colliders, Grass settings, LOD groups is based on this setting. This is automatic when adding an Vegetation Item. WIll be removed after Beta.

  • Grass
  • Plant
  • Tree
  • Object
  • Large Object

Selected Initial LOD

Vegetation studio supports Vegetation Item prefabs with LOD groups (standard gameobject LOD naming). If you want to reduce the inital LOD used you can change this setting.

Render Mode

There are currently 3 different render mode for Vegetation Items.

  • Normal
    Using Graphics.DrawMesh. This is the slowest rendering method and a fallback for computers without instancing support.
  • Instanced
    Most Vegetation Items will use Instanced rendering. They will be rendered in batches of up to 1023 per draw call at a low CPU cost.
  • Instanced Indirect
    At release only Vegetation Studio Grass is rendered InstancedIndirect. This is rendering done from a ComputeBuffer on the GPU. when set up the CPU use is very low and there is no 1023 batch limit like Instanced Rendering.

Run-time spawn

Enable run-time spawn to activate the Vegetation Item run-time spawned. When you bake the item to the persistent storage it gets disabled since the item instances is loaded from the storage

 

Colliders

Collider type

Change collider type from disabled to add a collider to the Vegetation Item. This is possible on trees, objects and Large Objects.
See ColliderSystem page for more detailed information.

  • Capsule
  • Sphere
  • Mesh

Adding a capsule collider to a Vegetation Item

Adding a sphere collider to a Vegetation Item

 

Billboards

See BillboardSystem component for more detailed info.

Enable billboards

Enable toggle to use billboards on the selected tree.

Billboard Quality

There are currently 6 different quality settings. 3 for 2D and 3 for 3D billboards.
Normal, High and Max. The settings control the size of the Atlas texture and sizes are 1024, 2048 and 4096.

Billboard Texture

The generated Atlas texture with the trees billboard.

Billboard Normals

The generated Atlas normal texture with the trees billboard.

Regenerate billboard

When changing lighting model in Unity you need to manually regenerate the billboards of all trees in the package.
Press regenerate to create new atlas.

Spawn Rules

All rules enabled for Vegetation Item must be evaluated to true in order for the Vegetation Item to spawn.

 

 

Position

Sample distance

When trying to find possible position for Vegetation Items the terrain will be sampled. Each Vegetation Item will sample at “Sample Distance” intervals in both x and z direction.

Randomize distribution

When enabled the sampled position will be randomized within 50% of sample distance.

Min/max scale

The vegetation Item will be spawned with a ranom size based on the min/mac value of the scale.

Position offset

This Vector3 offset will be applied to the final sampled position. This is usefull to move rocks down a bit more in the ground etc.

Rotation

  • Rotate around Y
  • Rotate XYZ
  • Follow terrain
  • Follow terrain scale
  • Geological Buckling. (comming soon)
    When tilting of specific spawned objects in the XZ planes (compass) are needed, for instance with geological buckling, or tilting from the plane of deposition for sedimentary rocks; Vegetation Studio has XZ sliders that will tilt the models to be spawned in world space.This is independent of Y axis rotation, so that models spawned with this method can be of any Y axis rotation, but will always have the same world space XZ rotation. Ensuring a more realistic geological outcome for spawned rocks and strata.The same technique can be employed for spawning a Fraise (sharpened angled stake defensive barrier), or wind-swept trees on a high cliff; indeed any repeating object that requires tilting from the horizontal at a given compass direction

Height

Height setting is used to decide if a Vegetation Item can spawn in a location or not. It is relative to Sea level in Settings.

Use height level

Enable to use height level as part of the rules.

Selection type

  • Simple
  • Advanced
    Advanced mode is still under development. Planned finished during the Beta.

Min/max height

the min and max height allowed for the Vegetation Item.

Steepness

Seepness setting is used to decide if a Vegetation Item can spawn in a location or not. Value is location steepness (0-90 degrees)

Use steepness

Enable to use steepness as part of the rules.

Selection type

  • Simple
  • Advanced
  • dvanced mode is still under development. Planned finished during the Beta.

Min/max steepness

the min and max steepness allowed for the Vegetation Item.

Perlin Noise

Perlin noise is used to make Vegetation Items grow in “organic” patterns.

Use perlin noise

Set toggle to enable to use perlin noise.

Perlin noise cutoff

This sets the cutoff level for when to spawn a Vegetation Item.  Perlin noise returns a value from 0-1.

Perlin noise scale

Perlin noise scale sets the scale of the perlin noise area. A bigger scale will give bigger “patches” of vegetation.

Inverse perlin noise

Enable this toggle to inverse the perlin noise value. Example use case could be to have one normal and one inverted on 2 grass types and have them grow in oposite patterns.

Terrain Textures

Terrain texture rules can be used both to include and exclude Vegetation Items from areas.

The road here is masked out with a Terrain Texture exclude mask on the Vegetation Items. Any location with a density of 0.1 -1 of the path texture will have no vegetation.

Exclude terrain textures

Enable toggle to show UI and use exclude rules. You can add multiple Terrain textures and rules.

Include terrain textures

Enable toggle to show UI and use include rules. You can add multiple Terrain textures and rules.

Vegetation Masks

Vegetation Items can be set to only spawn inside VegetationMasks. In order to enable a rule for this enable “Use Vegetation Mask” and select a vegetation type.
Any Vegetation Mask with Include Localized Vegetation set to the same ID will spawn this Vegetation Item.  See VegetationMaskArea Component for detailed use.

Use vegetation masks

Enable toggle to show Vegetation ID dropdown selection and use vegetation mask rule.

Touch React

Enable touch reach to have the object bend grass. This is available on objects and large objects.

Navmesh Obstacle

Select navmesh obstacle type. When enabled it will create a navmesh obstacle on the run-time spawned colliders to carve the navmesh.

Shadows

Check to disable shadows on this vegetation item. This will override any general setting.

Texture mask rules

Configure texture mask rules. Masks must be added on the Mask tab. Rules function the same way as terrain texture rules.

Terrain detail masks

This include rule will use the unity terrain detail layers as a density mask for spawning vegetation items.