InfiniGRASS COREL GUIDE V1.7.8 Infini GRASS

InfiniGRASS%20GUIDE

User Manual: Pdf

Open the PDF directly: View PDF PDF.
Page Count: 40

DownloadInfiniGRASS COREL GUIDE V1.7.8 Infini GRASS
Open PDF In BrowserView PDF
InfiniGRASS
Guide

Contents
P.2.
P.8.
P.15.
P.17.
P.19.
P.24.
P.26.

InfiniGRASS Quick Guide
User guide
Best practices
Asset creation
Version 1.5 Systems
Version 1.6 Features
Showcase

Features
InfiniGRASS is a robust grass and prefab painting and optimization system, which allows very detailed next gen grass to
be placed in mass quantities and is controlled for performance with auto grouping, batching and LOD systems that will
minimize CPU usage and reduce draw calls, while giving the option to paint grass in all surfaces with a collider (surfaces
created in play mode can also receive grass) and have dynamic options like stepping on grass or making it grow.
џ
џ
џ
џ
џ
џ
џ
џ
џ
џ
џ
џ
џ
џ
џ
џ
џ
џ
џ
џ

Create grass of high detail with any shape and material on any surface, in both Unity editor and while playing the
game.
Unlimited amount of grass can be placed on a map, the LOD system will make sure draw calls remain low at all
times.
Smooth shader fade option in LOD and cutoff distances
Dynamic grass possibilities. Use any motion or script on grass, only limited by concurrence.
Grow grass in play mode and paint it on any surface with a static collider.
Interaction of grass with scene objects, e.g. throw items to level grass.
Static and dynamic batching, for best performance in each use case.
Spectacular shadows, lighting and grass density
Dynamic snow growth on grass
Complete integration with Sky Master ULTIMATE v3.0, for best lighting, snow coverage control and water
combination.
Global Wind simulation with per grass type weighting for total control
Translucent lighting emulation
Powerful grass editor, with complete control over painted grass properties.
Fence creation system, with automatic batching for maximized performance (working in both play mode and Unity
editor)
Rocks and other prefabs placement system
Extensive collection of ready to use preset grass brushes.
Total control over performance, with adjustable LOD, grouping and batching systems and compete freedom in grass
definition and shading.
The system can be used as a general 3D decal system, the grass is just one of the many possible applications.
Rocks can be painted on top of each other to create various constructs.
Special grass placement controls, for reducing unnecessary detail and adapting grass to the environment.

The v1.0 of InfiniGRASS is targeting mid to high end PC, but the core of the system can be used on any multi-CPU
platform with the proper grass shapes and shaders. Lower end system can benefit from the multithreading batching and
LOD systems. Later updates will bring more shaders for lower end systems and tests on mobile platforms and more
platforms will be added to the officially supported depending on the results.

Features v1.1
InfiniGRASS v1.1 brings many new features and a few fixes.

џ Added ability to sort batching by target object, and allows to control grass with the object transform.
џ Added option to follow the object grass is painted on. This is more expensive than static grass, but wont show in
lower quantities. Two modes are available, parent to object or follow transform. The object must not be scaled (grass
follows rotation - translation) in the latter method.
џ Fixed small bug where some blades would in rare case appear in 0,0,0
џ Fixed bug where absense of Unity terrain would create an error (in v1.0 Unity terrain should be preset to paint
grass)
џ Added two more LOD levels, now materials must be named LOD0, LOD1 and LOD2 and their mesh filters must be
disabled in the source prefab.
џ Added option to avoid hitting the grass own collider of painted grass
џ Added option to randomize grass rotation, both uniform and randomized are very usefull and provide different
looks. (That is additionally to towards surface normal orientation)
џ Added new 3D "grass" sample brushes, Rocks and Mushrooms with LOD setup, Ground Leaves and extra
vertex varieties (Wild grass)
џ Added support for texture based grass scaling depending on Unity terrain splat maps.
џ Addition of castle like wall in demo for vertical painting and some new ground textures to increase ground quality.
A Unity terrain must be preset in order to use the new texture based grass scaling option.

Grass Manager - Editor v1.7.8
InfiniGRASS v1.7.8 introduces a new tabs based separation of the various functionality.
Following are presented the main categories and functionality in brief. The guide that follows refers in detail to the various
systems, using the unified scheme (before tabs separation).
Grass Prefabs Definition

Prefabs, Materials &
Extra Materials definition lists

Image based guide on new brush creation & prefab definition

Grass Manager - Editor v1.7.8
The Global Configuration Tab includes global material update control, threading control (e.g. may need to disable for
WebGL builds), world scale for scaling the preset brushes initial values and control of the way grass appears - grows in
the scene (e.g. all at game start, or gradually as the player comes close). This section also allows grabbing grass from
play mode and inserting it in the editor. The Player can also be setup here for various gameplay cases, in order to apply
the LODS and Interaction with grass.
Global Configuration

Material Update and Multithreading control

Define initial world scale and scaling on regrow
(after ungrow the grass)

Grass Ungrow to free resources from editor and minimize
saved scene size (Grass will grow in play time)

Grass growth methods when Ungrown (gradual, with distance)
Use Recreate to remove grass far away & recreate it on approach
Grass Refresh and Regrow for editing in editor time

Grab grass from play mode

Define player and player update mode

Grass Manager - Editor v1.7.8
The Grass Painting Tab is where the grass painting is enabled (and rocks, fences). Options for real time painting and
painting on “PPaint” tagged meshes are enabled in this section. The Editor view distance can increase editor performance
when lots of grass is around. It also recommended to split the grass in multiple grass managers and grow - ungrow the
grass to leave only the one in focus active.

Grass Painting

Grass Painting

Main Grass Brush Parameters

Advanced Grass Brush Parameters

Grass Manager - Editor v1.7.8
The Mass Planter Tab is used to auto plant grass regions based on terrain splat maps and slope-heigtht. The Global
Grass Properties Tab is used to apply Wind and global tint on the grass. Both wind and global tint can be further
adjusted and offset directly in the materials for fine tuning each over the global values. Grass Interaction Tab is used for
setup the player interaction power for the shader based interaction.

Mass Planter

Mass Place grass section

Global Grass Properties

Global grass wind and color tint parameters

Grass Interaction (Shader based)

Grass interaction section (shader based)

Grass Manager - Editor v1.7.8
The InfiniGRASS system uses shader based wind, turbulence and interaction with the player. Below is a summary of the
variables that affect the wind and grass motion.
In lower World scales the “Stop motion distance” variable must be set equally low (at 1-2 meters for example for world
scale of 3-4). This is set per brush, so first press on the brush icon that needs to be changed and then reduce (or
increase) the variable accordingly.
Also important is to add a windzone to the Grass Manager, as this is needed in order to pass the wind properties to the
shader properly. In lower world scales the wind and turbulence must be set lower.
There is also offset values for wind and turbulence integrated in the shader for further fine tuning each material, also
presented below. These values are additional to the global variables defined in the grass manager, thus can be regulated
to fine tune each material separately, over the main values that are applied to all equally.
Stop motion distance
defines interaction radius with player

Windzone definition and Global Wind parameters

Direct on material-shader offset variables
for fine tuning per material

Adjust Alpha value of texture
Adjust Turbulence Offset (zero will stop Turbulence effect)
Adjust Wind Waves
Adjust Wind Frequency (X) and snow coverage (Y) & strength (Z)

Adjust Global grass color

Adjust Wind Strength Offset in X and Z axis

Adjust Maximum height of brush when player interaction is activated
Use when lower World Scales are used, for controlling the Y axis offset of grass
and prevent waving motion near the interaction - player area
Activate in Unity 5.6+ for extra draw call reduction

Grass Manager - Editor
InfiniGRASS uses a minimalistic approach with integration of the Grass Manager and Editor in a single interface. The
setup requires an empty gameobject where the ‘InfiniGRASSManager’ script must be added. It is recommended to
name the gameobject as “Grass Manager” for clarity.
After insertion the system will introduce the default prefabs - materials used for the samples in Grass Materials and Grass
prefabs lists (1-2). These lists can then hold any number of custom presets per script, with drag and drop from the
library. The list count must also be increased accordingly. Icons are provided as a means to select the presets and the
extra custom ones can be selected from the horizontal selection slider (Grass type).
Note: The grasses painted can later be edited for interactivity flag using their type, which corresponds to the Grass
Prefabs list Id, so it is recommended not to delete items from these lists and only add to them (after painting with one of
the items). The references to the painted grass are kept in a private “Grasses” variable in the script.
IMPORTANT: The system optionally uses four tags to control the grouping of grass, if the grass should be grown
without a grass manager. If these are not automatically added by the scene, they should be manually added. The tags
are «INfiniDyForest», «INfiniDyForestInter», «INfiniDyTreeRoot» and «INfiniDyTree». The interactive grass will be
batched in the “INfiniDyForestInter” groups. ‘Player’ tag is used for the player.
Grass materials (corresponds to the prefabs below, for wind etc shader control)

1

Grass prefabs for painting are defined here

2
Use “PPaint” tag to paint
on any mesh collider

Fence prefabs are defined here, mid prefabs are used between the fence posts

Remove grown grass from editor, for performance & lower scene file size.
Regrow the grass for editing or preview. Grass is auto-regrown in play mode.
Enable real time painting and erasing of grass
Enable painting on objects tagged with “PPaint” (on object collider).
Governs the distance in editor from the camera the grass gets disabled,
use to enhance performance while painting - editing grass
Enable gizmos that show the grass placement
Enable grass colliders in editor
Enable wind on the grass
Create a windzone and keep its reference to control grass with accordingly.
Increase or decrease windzone influence to the grass
Add a turbulent effect
Show wind effect in editor
Tint grass with a custom color for extra variation
Tint power & color
Tint frequency (defines the frequency of the color shift pattern)
Sun lighting enhancement on grass for a translucent effect
Activate a summary of the basic use of the system

Select paint type. Grass, rocks & fences can be painted in editor or play mode

Grass Manager - Editor v1.3
InfiniGRASS v1.3 introduces the following new features:
- Ability to mass place grass, using two transforms as corners to define a rectangle in the editor
- The spread can be controlled per splat map, a brush (or no brush wiht -1) can be assigned for each terrain splat.
- Ability to gradually grow grass as the hero moves and also optionally erase grass that is far away to lower RAM
usage. This feature eliminates the initial delay to grow all grass on the map and also RAM limitation when there is a lot of
grass to be grown. This allows for theoretically infinite grass to be placed on vast maps and has the trade off that very
dense grass may create a spike as it grows when hero approaches, depending on the target machine power and the
player speed. Use the “Regrow below this distance” parameter to define the hero approach distance.
- Definition of icons for extra user created custom brushes, in the editor

Gradual growth mode, the grass has to be “Ungrown”. “Grow gradually” will create the
grass as hero approaches and “Recreate Grass” will delete created grass that is far away

Grass brush icons for brushes, these are added in the menu below

Transforms that define Mass Placement corners.
They can be moved while Grass Manager is active.
The 2ond corner (Corner B) must have higher X and Z than corner A.

Assign a brush per splat map for Mass placement
Insert “-1" in order to not spread grass on the specific splat map
Brush ID to be used in splat map

Enable extra grass types for the specific splat map, for variety

Density of grass in Mass Placement, start with lower numbers.
Grass will be grown gradually when below this distance from the player
Transforms that define a rectangle to mass place grass within.
The transforms must be placed above the ground
Mass place grass between the corners and density defined above
Adjust brushes for the desired world scale.
Icons can now be enabled for all custom brushes

The “-1" value will not grow grass on the specified splat map (grass in the below sample)

Grass Manager - Editor v1.4
InfiniGRASS v1.4 introduces the following new features:
- Ability to grab grass from play mode. Paint grass in game mode on the desired object, then disable the object & copy
it to the scene after exiting play mode. Insert the pasted item in the ‘Grass parent from play mode’ & the original
equivalent scene item to the ‘Grass holder in editor’ boxes & press ‘Grab grass’ to insert the copied grass to the editor.
The copied holder can be erased afterwards. Make sure the copied item has the grass grower scripts as children. Only
the object grass has been painted on & the grow scripts need to be copied (will be copied along when object is copied),
the batcher scripts or the actual grass itself do not need to be copied, as they will be recreated by the grass grow scripts.
The ‘Move with object’ option must be turned on, so the grass grower scripts are parented to the object.
- Ability to re-apply LODs per grass type with set LOD button.
- Ability to assign more than one extra materials for each grass type for wind etc, in ‘Extra grass materials’ list.
- Option to apply interactive properties per grass type and assign interaction radius and offset (distance at which
interaction will start with Interactor)
- Option to define the Interactor for each grass type.
- Option to scale and randomize scale of grass when grabbed from play mode or when regrown, with ‘Scale
grabbed - Ungrown grass’ and ‘Rand scale’ parameters
- Ability to save per brush settings with ‘Save brush settings’ button and load later, or use the structure of all saved
settings with Mass Planting system, when ‘Use brush settings’ option is activated.
- Ability to assign fade parameter per grass type.
- Tag based player definition, for the cases where the main camera cannot be used.

Assign more materials for each grass type, if the brush requires more than one

Use the saved brush settings structure to Mass grow grass, so each involved grass
type may have its own parameters.
Save & load the current brush settings in the brush settings structure for the
current brush.

Scale play mode grabbed or regrown grass. The effect will appear after regrowth.
Further randomize the grass scale upon regrowth from ungrown or play mode grass

Place the copied item from play mode that holds the grass growers
Place the equivalent scene item in editor mode, that will hold the play mode grass
Grab the grass from the item copied from play mode & transfer to the editor mode item

Use the object with the selected tag as player. Otherwise the system will use
the main camera. Enable ‘Update player’ if the Main Camera or tag based
player changes during play time.

New brush painting and dynamic grass control options
Insert player to act as Interactor for dynamic grass. The main camera is the default.
Assign or Reset Interactor to current brush or all brushes (use ‘Apply Interactive’ to all)
Set Interactive also assigns radius & Offset in v1.4
Select radius at which scripted interaction will start with the assigned Interactor
Smooth in and out offset on the interaction radius, defines the gap between entering
& leaving the interaction

Grass Painting and control
Painting grass on scene requires the Paint grass button to be pressed and in “painting” mode. The grass is placed with
the right mouse button and can be deleted with the left shift keyboard button. The system uses colliders for the
painting, so these must be added to items that need to be pointed with grass. Also to paint on items besides the terrain
a special tag must be added to the item (’PPaint’ tag).
The brush can either be used with a top-down approach (the grass brush grid casts downwards) or using the hit surface
normal to rotate the grid and cast towards the normal direction. The normals method is best for painting on objects and
the downwards method for painting evenly around a hit point, even when it is angled. The two methods are toggled using
the ‘Rotate brush with normal’ checkbox.
The grass can be flagged as interactive (’Make grass interactive” option) and this mode allows the grass manipulation in
code based on conditions. A step on grass sample is available as reference (’flatten’ option in script), this will scale and
rotate grass based on the hero (or other interactor) speed direction and magnitude.
InfiniGRASS has an integrated LOD system, that uses 3 LODs and one cut off distance. Name your materials with ‘LOD0’
to ‘LOD2' word included in the material name and disable their mesh filter in the source prefab, then the system will batch
the LODs together and enable them at the specified LOD distances. The cutoff distance will make the grass turn off
completely. The grass fade distance governs the fading of the shader based on camera distance, this should be set to
fade before the LOD cutoff for a smooth grass vanish effect in the distance.
The system uses a method that automatically groups the items for batching, the number of items to be in each group is
controlled by the ‘Max interactive group members’ parameter for the interactive case, which is the most demanding. The
static case has a fixed number of 12 items per group, but this may also be changed if required in the prefabs that hold
the grass creators. The lower number will allow a faster opening of a group for interaction, but will introduce more draw
calls, so there is a trade off between draw calls and interaction performance. The static case requires to only open the
group for adding an item if painting grass in real time, which is very fast (depending also whether the grass will be made
to grow when painted and the selected growth speed).
Each grass is created by an instantiated script, which also holds a collider that controls the interaction. The created items
are then grouped under a batcher and the batcher keeps a reference to the creation script, which is then used to control
the batching and interaction.
IMPORTANT: “Group by object” option must be enabled,
before using any of the object follow options.

Select grass id of grasses prefabs. Icons cover only the sample prefabs.
Cast grass grid along the hit surface normal (or downwards if disabled)

Set items as interactive in batch. It will apply to the currently selected prefab.
Make all grass items painted interactive, with ‘Set Interactive’
Check to paint interactive grass (static has better performance and can still allow
grass addition in play time. Interactive flag is for longer interaction actions.
Set the defined LOD & cutoff distances for all painted grass. Use only in editor.
LOD0 distance for the painted grass
LOD1 distance for the painted grass
LOD2 distance for the painted grass
Cutoff distance for the painted grass
Smooth shader based fade, set distance so that grass will fade before cutoff

The max number of grass patches to be batched together. Use a smaller
number than static grass, to have batched groups open faster for interaction.
Group grass for batching by target object, to allow following the object
Parent the batched grass to the object it is painted on, using Group above.
Move grass with the object it is painted on, without parenting (scripted)
Stop wind motion near interactor, so the scripted based control takes over
the grass motion completely. Use to avoid sudden motions on interaction.

Grass Painting and control
Painting can be done with various options, enabled from either the editor or the prefab directly for more advanced uses.
The grass patch distance is the minimal distance a new patch will be created at from the last & is used to control constant
painting.Raycast distance governs how far the ray will be cast from the hit position to spead the grass patch grass blades.
Grass can have a random scale range. The spread (distance from the hit point) and density defined in the instantiated
source prefab can be changed while painting using the Override Grass Spread and Density options. Note that minimum
density should be kept lower than maximum for best performance.
Grass placement supports elimination of grass blades that do not hit on the original painted surface and hit on other
colliders. This is useful for placing grass near obstacles. The system will check in Near distance for elimination to cut
blades or Near distance for scaling to scale blades. If very few blades do register, the ‘Clean up low blade count’ option
can remove the grass patch, if blade count is lower than the minimal for clean up defined with the corresponding slider.
The interaction option refer to the collider that touches the grass and its speed. The Power factor will enchance the force
asserted on grass based on collider speed and the Min speed for interact will cut off interaction when the collider speed is
lower than the defined threshold.

Select grass id of grasses prefabs. Icons cover the sample prefabs.
Cast grass grid along the hit surface normal (or downwards if disabled)
Activate region based erase.
Radius to erase around the mouse position.

Set range of grass scaling
Scale values min-max (set specific number)
Set range of grass random rotation
Rotation values min-max (set specific number)
Collider scaling (for interaction)
Gizmo scale for preview in editor
Check to define a different density than the set in the grass prefab.
Grass density min-max
Check to define a different spread area than the set in the grass prefab
Grass spread area min-max
Use scaling based on Unity Terrain splat maps (weighted).
Clean up low on blades grass patches
Grass patch deleted if it has lower blade count than the defined
Cut blades that hit different colliders at that range
Scale down blades that hit different colliders at that range
Avoid hitting the automatically created grass collider while painting
Enhance the force asserted on grass based on collider object speed
Cutoff interaction if interactor speed lower than this threahold

Fence Painting and control
Painting fences starts by selecting Paint fence mode. The first mouse click starts the fence at the clicked point and then
dragging the mouse will extend the scale. Click again to place the next post and when the fence is painted, click on
‘Construct’ button to exit fence paint mode and finalize the fence. Press Paint fence to start on the next fence.
Fence post distance will stop fence posts from being created near the last post. Fence scale should the same for the
whole fence (it can be changed during fence creation though and then the result may be manually refined).
The fence will automatically be grouped in a single gameobject for best organization and will be batched when in play
mode for performance. Note that the real time painted fence will be batched per fence, while the editor will be batched
whole (all fences together).

Select fence id of fences prefabs. Icons cover the sample prefabs.
Set minimal distance between two fence posts
Fence scale

Rock painting
Painting rocks is similar in options to grass (scale and patch distance) and can be done with the left mouse button and
same erase scheme (left shift).
Rocks are auto batched for speed. Rocks may be painted on top of each other (when PPaint tag is given).

Best practices

On grass shaping.
- Use low polygon grass for lower end platforms. The vertex variety grass and shaders are a great start for such
a setup.
- Create variety by adjusting blades in branch prefabs in various sizes and rotations. Size will also vary based on
the level of growth. The grass grows like a tree, where branches are then brought to the ground level.
- The system will align the up vector of the grass blades (branches) with the surface normal, so orient the blades based on
the required angle to the up vector (which will determine the angle to the painted surface).
On grass grouping
- Use a lower items count for dynamic grass grouping, as the dynamic phase of grass opens up grass patches locally and
this will increase draw calls during the action, so the less items the opened group has, the less the impact on draw calls
during interaction. Also it is much faster to open the batched group, which means less or no spike during interaction start end.
Using lower items per group will create more groups, which in turn will cause a higher draw call count while not
interacting, and the LOD system can be used to lower this draw call count.
For static grass a higher count of items may be used, if there is no grass growth in real time it is best to have an as high
number as it makes sense for a local LOD group to form.
On grass painting in Unity editor.
- For the more detailed grass, Unity editor introduces a delay while painting/moving the camera, so it is best to use a
lower editor view distance number and move closer to the painting area. After painting the grass can be disabled for faster
scene editing and reenabled before play mode.
- Use the mass erase mode for easier erase of grass.
- The editor holder object must be selected in order to paint grass and control editor view LOD (so if grass is LODed in
editor, to restore it when close up, the Grass Editor gameobject must be active.

Best practices
On managing grass in scenes
- The system allows the ungrowth of all painted grass in the Unity editor. This allows to reduce the saved scene size, as
the grass is only grown at play time. Also it increases the speed of the Unity editor, if the grass quantity is very big.
- The grass can be grown back for further editing at any time.
On image quality settings
- The image quality vs performance depends a lot in the quality settings set for the game. The shadowing is the most
important factor and it is recommended to use medium resolution shadows and 2 cascades. Resolution is more important
in performance impact and has the least impact in image quality, so the best ratio of image quality vs performance is at
medium quality shadows and 4 cascades.
On overdraw
- One of the performance factors with the transparent version of the grass, is overdraw. To avoid overdraw it is a good
practice to reduce grass density on taller grass, mix low height grass with higher height one and use vertex grass to fill in
between areas.
- Use textures with as little transparent space as possible in the edges & keep the blades prefab in an arrangement where
blade quads wont overlap a lot (with a large angle between them, which is also good for making grass look full)

Custom grass prefab creation
The anatomy of the grass patches prefab will be described in this section. The prefab is a single script, that also holds a
collider and a collision handler script. This script instantiates the ‘bark’ (grass base) and ‘branches’ (grass blades) that
are defined in its parameters.
The bark is a single item in the base of the grass (can be used to have a middle flower for example, or for any other use).
The LOD may also be a plane in bark itself (if no branch LOD materials are defined, which means no grass blades will be
shown at LOD distance), for better performance.
The steps to creating this prefab are:
1. Create an empty gameobject.
2. Add the ‘InfiniDyGrassfield’ script to the object
3. Add a collider and the ‘grassChopCollider’ script that handle the collision for the dynamic grass
4. Add the grass middle part and grass blade prefab in the “bark prefab OBJ’ and ‘Branch Prefabs OBJ’ parameters.
Leaves may also be defined as an extra decoration for the ground (Leaf prefabs OBJ).
5. Define InfiniGRASS materials for the grass blades and flowers
6. Create a prefab and add it to the grass prefabs in the Grass Manager (and its material)
Note that the grass can be any item, so the system can be used to efficiently spread essentially anything around the level,
in both editor and real time. The sample brushes are made for world scale 20, for smaller scales it is advised to
rescale the existing prefabs or created new smaller ones for the relevant scale.
Pass surface normal rotation to grass

Grass blades prefabs - use same material when possible
Distribution of defined grass prefabs per grass level

Max trees per interactive group
Max trees per static group
Distance to create a new grass group at
Control whether the collider will be active if
the grass is not interactive

Use multithreading - recommended
Index of this item reference in combiner
Index of this item reference in Grass Manager

Batcher with meshes

Sample actions for interaction
Remove shadows when grass is decombined

Shadow removal controls
Player for interact
Interaction activator

Finer controls for blade distribution - scaling

Grow grass from this scale to end scale
of its original size
Growth speed

(*)Grass blades prefabs sample - Three quad setup

Exporting grass patches
InfiniGRASS has an export feature that can create an object file from a grass patch. This is useful for organizing static
grass and helps in Unity editor performance, as the grass patch is a batched version of the painted grass, like it was
batched in play mode for performance.
The system should be used in play mode and when the grass patch is static (so batching applies).
The idea is to copy the batched grass patches as a single model in the disk and place it in the scene to replace (or act
with) the already painted grass the batched patch corresponds to.
Steps for grass patch creation:
1. Paint grass in the editor or in real time
2. Choose a big static group members count so all relevant grass will go in the same group
3. After the grass patch is painted, enter play mode and select the batched mesh (or meshes if it was split in 64K vertices)
4. Goto File -> Export -> Wavefront object and click to save to a selected directory
5. Exit play mode and insert object in the scene, rotate the root of the object 180 degress and it will move to the proper
location.
6. Apply the material of the originally painted grass on the created grass patch and it can now be used independetly of the
InfiniGRASS system as a separate entity. A prefab can also be created after this step, so it keeps the material and
location when inserted in the scene.
NOTE: The grass area should be kept low, so a LOD system can be applied to the patches (a simple cutoff based on
camera distance for example)
NOTE 2: The fading based on camera will still work, so the LOD cutoff may fade for a smooth grass vanishing.

2.Export batched grass as a single object

1.Select painted batched grass

3.Import to scene to replace painted grass

InfiniGRASS v1.5 Summary
InfiniGRASS v1.5 introduces the following new features:
1. Slope and height controls for Mass Placement and density preview
2. Shader based interaction for grass interaction with near zero performance hit
3. Batch radius control for refining batch creation
4. New grass performance options (disable unneeded scripts & eliminate original grass meshes after batching)
5. Gravity emulation shader
6. Vertex painting of grass blades per ground texture color (texture must be readable)
7. First version of mobile shader
8. New brushes using the above new features and demo scene
9. Rescale of grass on regrow per grass type
Slope and height controls in Mass Planting

New list with prefab names for easier identification of currently selected brush
New list with custom rock prefab icons for new brushes definition
New list with custom fence prefab icons for new brushes definition

Use Height range for mass planting
Mass place grass between this height range
Refine min-max height values & add variance for the edge regions
Use Slope range for mass planting
Mass place grass between this slope range
Refine min-max slope values & add variance for the upper slope region

Preview Mass plant result (max number of grass patches to plant)

Shader based interaction controls
Shader based interaction for grass interaction with near zero performance hit. The grass will react to the current player
(or camera if player is not enabled).
IMPORTANT: The effect requires wind strength to be above zero (0.2-0.4 range is recommended) and the affected
distance from the player is governed by the “Stop Motion Distance” parameter (that is used to stop wind motion in other
shaders).
Enable shader based interaction for the current player
Define interaction strength

“Stop Motion Distance” parameter

Batch radius controls

Define the max radius from the plant point that the system will look
for a batcher with empty slots to submit the new grass in. A new batcher
is created if none is found within the defined range.
Apply batch radius to all current grass

New grass performance options
New grass performance options include the disable of unneeded grower scripts & eliminate original grass meshes after
batching, for static grass that does not require further deletion of scripted interaction.
IMPORTANT: The grass may not be erased in play time when in this mode, as it will make the batched grass disappear.
The system is activated in play time and does not affect the editing in the editor. Grass can be painted in real time and the
gradual growth mode can also be enabled.

Disable grass grower script after grass has been grown
Only disable (and eliminate grass) when the combiners are fully filled
Eliminate original grass meshes after the new batched mesh is created
Apply the performance options to the current grass type
Enable to apply the performance options to all grass

Vertex painting of grass blades
Vertex painting of grass blades per ground texture color, using a new shader variant that can read the color and affect
the lower grass part with it.
IMPORTANT: The ground texture must be set as readable in order for the system to grab the color. The script must be
attached to any item that requires the vertex coloration and uses the new vertex colored shader variant. The vertex
ground coloration is currently supported in vertex grass.
Procedurally change items when entering play mode.
Choose scale of the change and speed

Randomly colorize object, used as template for doing color manipulation in code
Randomly rotate - scale object

Apply vertex coloration to the item the script is attached to.
Choose scaling of the effect, the “Dest color” is for debug purposes
Apply vertex coloration tint on the grass base, over the grabbed ground color

Disables the script after this time, keeps last changes when timer is over
Toggle procedural change mode on and off

Rescale of grass
A new system has been added that enables the re-scale of painted grass by type. A scale can be defined for each
type and be applied when the grass is grown back. Put scale of 1 to leave the specific type unchanged.
IMPORTANT: Make sure to remove the scaling option when done so it is not re-applied when another ungrow-regrow
takes place. This system affects the starting & max tree scale (equally), the randomizer of min scale is defined by the
slider bar (Grass rand. min scale) in both per type and global re-scaling.

Define a re-scale factor for each grass type (put 1 for no change)
Enable the option to apply the defined scales in the next regrow
(after ungrowing the grass)

New grass & tree brush types
Multiple new brushes have been added in v1.5 that use the various new shader effects & controls described in the
previous sections.

New brushes (last row)
- Mobile grass (Shader Model 2.0)
- Pine tree
- Thick grass with shader based interaction with the player
- Gravity emulation shader & vertex coloratino by ground color vertex grass
- Thick tall grass

Interactive Grass shader options
A new set of shaders is available in v1.5 that allows for vertex painted vertex grass & interaction for both vertex &
transparent grass variants. There are also various new controls that can be set to refine the interaction and behavior to
the global wind and turbulence.
Below is a breakdown of the shader options that can be set per material to tweak the various effects.

Transparency control of texture edges (user defined)
Turbulence strength control (auto handled by the system)
Turbulence strength refinement (user defined). Scale the global Turbulence per case
Waves.xyz controls wave placement, Waves.z controls the Interaction strength
Use lower Waves.z values when the global interaction power is too high (user defined)
Time.x defines the turbulence frequency (user defined)
Time.y & z control snow coverage offset (over the global) & strength (user defined)
Wind direction & strength control (auto handled by the system)

Interaction position (auto handled by the system)
Interaction direction & strength (auto handled by the system)
Fade out distance from player-camera (auto handled by the system)
Shader Interaction radius (v1.5) & stop wind motion distance near hero(pre v1.5)(auto)
Grass tint color (auto handled by the system)
Grass tint power (can be oversaturated) (auto handled by the system)
Tint frequency, use lower values to cover more grass (auto handled by the system)
Specular light & translucency strength (auto handled by the system)
Tweak for wind motion (user defined)
Wind strength controls (for extra customization of wind strength per material)
Scale the global wind strength in x and z axis by this amount (user defined)
Control the height points of gradual wind application on the specific vertex grass
In v1.5 this also controls the gravity shader break point (user defined)
Control the base light amount in the new (v1.5) vertex coloration by ground system
Control the base light height from ground (user defined)

Transparent shader variant - extra parameters
The transparent shader supports gradual snow growth and a snow texture may be defined for that purpose. The snow
growth is handled automatically when the Sky Master ULTIMATE asset is also in the project.
IMPORTANT: currently snow is only available in transparent
grass and vertex ground coloration in vertex grass

InfiniGRASS v1.6 Summary
InfiniGRASS v1.6 introduces the following new features:
1. New options for customized brush rotation and randomized rotation along a 2ond axis for better precision and
variety in the handling of trees and vines.
2. Option to define prefab orientation (for orienting the prefab in Up or Forward vectors)
3. New tree sample added with LOD to showcase the best way to handle LODs in trees.
4. New stackable rocks system - brush
5. Full WebGL support
6. Easy control of Multithreading status (e.g. for building with WebGL)
Multithreading control
Turn threading on and off for play mode (use to build in WebGL)

Editor Grass refresh
Refresh editor grass, for the case the last preview batching missed an item
This has no impact on play mode (in play mode grass auto refreshes)

Customized rotation mode

Define customized rotation for the brush (no use of surface normal)
Lerp rotation towards the custom vector & up or forward vectors
Lerp amount between the defined vector & up or forward of item
Define where the prefab item looks (up or forward vector in parent axis)
based on this, the up or forward of the prefab item will align to target vector
Randomize rotation along the Right vector of parent item axis
Randomize rotation minimum and maximum angles

IMPORTANT:
This option must be enabled to set the custom rotation target vector
If not enabled, the custom rotation will be the original item rotation
Customized rotation uses this variable as target vector
(e.g. look down with ‘-1' or up with ‘1' in Y axis)

IMPORTANT: The new ‘Lerp rotation’ & ‘HorizontalAligned’ settings above function when ‘Custom Rotation’ mode is
enabled. In the non Custom rotation mode the grass - trees that apply the ‘Rotate Towards’ modifier must be aligned
along the Forward vector (LookAt is used to align them to the target ‘towards’ axis) of the parent item axis and the
normal grass that does not use the ‘Rotate Towards’ modifier must be aligned along the Up vector of the parent item
axis.

New brushes and augmented on site help

New integrated information on using the LODs system

New brushes templates (Twist tree & stackable rocks)

Stackable rocks

Twist Pine with LOD and the new Custom rotation system

Water & Volumetric fog using Sky Master ULTIMATE



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.7
Linearized                      : No
Profile CMM Type                : Lino
Profile Version                 : 2.1.0
Profile Class                   : Display Device Profile
Color Space Data                : RGB
Profile Connection Space        : XYZ
Profile Date Time               : 1998:02:09 06:49:00
Profile File Signature          : acsp
Primary Platform                : Microsoft Corporation
CMM Flags                       : Not Embedded, Independent
Device Manufacturer             : IEC
Device Model                    : sRGB
Device Attributes               : Reflective, Glossy, Positive, Color
Rendering Intent                : Perceptual
Connection Space Illuminant     : 0.9642 1 0.82491
Profile Creator                 : HP
Profile ID                      : 0
Profile Copyright               : Copyright (c) 1998 Hewlett-Packard Company
Profile Description             : sRGB IEC61966-2.1
Media White Point               : 0.95045 1 1.08905
Media Black Point               : 0 0 0
Red Matrix Column               : 0.43607 0.22249 0.01392
Green Matrix Column             : 0.38515 0.71687 0.09708
Blue Matrix Column              : 0.14307 0.06061 0.7141
Device Mfg Desc                 : IEC http://www.iec.ch
Device Model Desc               : IEC 61966-2.1 Default RGB colour space - sRGB
Viewing Cond Desc               : Reference Viewing Condition in IEC61966-2.1
Viewing Cond Illuminant         : 19.6445 20.3718 16.8089
Viewing Cond Surround           : 3.92889 4.07439 3.36179
Viewing Cond Illuminant Type    : D50
Luminance                       : 76.03647 80 87.12462
Measurement Observer            : CIE 1931
Measurement Backing             : 0 0 0
Measurement Geometry            : Unknown
Measurement Flare               : 0.999%
Measurement Illuminant          : D65
Technology                      : Cathode Ray Tube Display
Red Tone Reproduction Curve     : (Binary data 2060 bytes, use -b option to extract)
Green Tone Reproduction Curve   : (Binary data 2060 bytes, use -b option to extract)
Blue Tone Reproduction Curve    : (Binary data 2060 bytes, use -b option to extract)
Page Count                      : 40
Create Date                     : 2017:12:12 22:24:27+04:00
Modify Date                     : 2017:12:12 22:24:27+04:00
Producer                        : Corel PDF Engine Version 19.0.0.328
Author                          : Terastio
Creator                         : CorelDRAW 2017
Title                           : InfiniGRASS COREL GUIDE v1.7.8.cdr
EXIF Metadata provided by EXIF.tools

Navigation menu