InfiniGRASS COREL GUIDE V1.7.8 Infini GRASS
InfiniGRASS%20GUIDE
User Manual: Pdf
Open the PDF directly: View PDF
.
Page Count: 40
| Download | |
| Open PDF In Browser | View 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.cdrEXIF Metadata provided by EXIF.tools