meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
leaf_mesh_generator [2022/09/28 12:22] steph.jorgensenleaf_mesh_generator [2023/07/20 12:57] (current) steph.jorgensen
Line 1: Line 1:
-====== Leaf Mesh Generator ======+====== Leaf mesh generator ======
 {{:leafmesh.jpg?100 |{{:leaf_gen_v8.png?100|}} {{:leafmesh.jpg?100 |{{:leaf_gen_v8.png?100|}}
  
-The Leaf Mesh generator is responsible for generating leaves based on [[toolmaterialsassetsbar|materials]] and [[kcmeshes|mesh]] assets.  Leaf Mesh generators (along with [[batchedleaf_generator|Batched Leaf]] generators) are the primary mechanism by which [[kcseasons|season]] transitions occur.+The Leaf mesh generator is responsible for generating leaves based on [[toolmaterialsassetsbar|materials]] and [[kcmeshes|mesh]] assets. Leaf mesh generators (along with [[batchedleaf_generator|Batched leaf]] generators) are the primary mechanism by which [[kcseasons|season]] transitions occur.
  
 ===== Generation ===== ===== Generation =====
-The [[generation_properties|properties]] in this group control how many leaves are generated and where they are placed.+The properties in this group control how many leaves are generated and where they are placed. Refer to [[generation_properties|Generation properties]].
  
 ===== Forces ===== ===== Forces =====
-The properties in this group control how forces affect the nodes created by this generator.  Forces affect only the orientation, not the position, of leaf meshes.+The properties in this group control how forces affect the nodes created by this generator. Forces affect only the orientation, not the position, of leaf meshes.
  
-== Allow Forces ==+==== Allow ====
 When enabled, all forces that are checked will act on the generator. When enabled, all forces that are checked will act on the generator.
  
-== Forces == +Each [[kcforces|force]] in the scene has an entry here. Check the box next to the name to enable the force for this generator. The value set here is multiplied by the strength of the force before being applied to the branch. The profile curve controls have no effect on leaves.
-Each [[kcforces|force]] in the scene has an entry here.  Check the box next to the name to enable the force for this generator.  The value set here is multiplied by the strength of the force before being applied to the branch.  The profile curve controls have no effect on leaves.+
  
->**Note:** Click on the force name to edit the force's properties.+>**Note:** Select the force name to edit the force's properties.
  
-===== Random Seeds ===== +==== Align ==== 
-Properties that have [[toolvariance_editor|variance]] are given random values based on a seed value in this group Vary the seeds in this group to randomize only the properties associated with the seed type+Each force has an **Align** strength in addition to its main strengthThis strength causes the original orientation to be affected by the force.
  
-== Randomize All == +=== Style === 
-Randomizes the value for all seeds used to compute this generator+Choose the style of the alignment operations from the following options. 
 + 
 +^**Property**^**Description**^ 
 +|**None**| No alignment will take place. | 
 +|**Individual**| Each node is aligned without regard for the behavior of any of its siblings. | 
 +|**Group**| A single alignment is computed for all siblings. | 
 + 
 +=== Amount === 
 +The alignment strength of each enabled force is multiplied by this amount before being applied. 
 + 
 +=== Match branch parent === 
 +Match the force alignment with that of the parent node. 
 + 
 +==== Geometry ==== 
 +The properties in this group control the behavior of leaves when they collide with a geometry force. 
 + 
 +=== Kill action === 
 +Choose when to remove leaves that collide with a geometry force. 
 + 
 +^**Property**^**Description**^ 
 +|**None**| Don’t remove leaves. | 
 +|**Quick**| Remove leaves early in the compute process based on a rough estimate of leaf size. | 
 +|**Accurate** | Remove leaves after they compute based on the actual leaf geometry. | 
 + 
 +=== Tolerance === 
 +Set how tolerant of collisions the algorithm should be. Larger values mean more of the leaves will intersect. 
 + 
 +===== Random Seeds ===== 
 +Refer to [[random-seeds-properties|Random seeds properties]].
  
 ===== Leaves ===== ===== Leaves =====
 The properties in this group control the type, size, and initial placement of the leaf nodes. The properties in this group control the type, size, and initial placement of the leaf nodes.
  
-== Size == +==== Use actual size ====
-This property sets the size of the leaf nodes.  By default, mesh assets are treated as unit meshes and then scaled by this amount when placed on the model. +
- +
-== Use Actual Size ==+
 When enabled, the size parameter is ignored and the mesh is used at exactly the size at which it was modeled. When enabled, the size parameter is ignored and the mesh is used at exactly the size at which it was modeled.
  
-== Flip == +==== Size ==== 
-When enabled, randomly selected leaf nodes are flipped over the Y-axis.+This property sets the size of the leaf nodes. By default, mesh assets are treated as unit meshes and then scaled by this amount when placed on the model.
  
-== Weld ==+==== +% of parent ===== 
 +Increase the size of the leaf nodes by this value multiplied by the size of the parent. 
 + 
 +==== Weld ====
 When enabled, leaves will be placed directly on the skin of their parent (as opposed to being anchored on their spine). When enabled, leaves will be placed directly on the skin of their parent (as opposed to being anchored on their spine).
  
-== Cross ==+==== Keep failed welds ==== 
 +When enabled, leaves that failed to weld are still computed. Use this to help find and correct failed welds in critical regions (failed welds in fine detail areas are often okay). 
 + 
 +==== Cross ====
 When enabled, leaves are rotated so that they are perpendicular to the original leaf placement. This is a shortcut for creating crossed, intersecting meshes that have the same position. When enabled, leaves are rotated so that they are perpendicular to the original leaf placement. This is a shortcut for creating crossed, intersecting meshes that have the same position.
  
-== Fix Winding == +==== Fix winding ==== 
-When enabled, the face winding of the polygons in the final mesh is adjusted to match the direction of the surface normals.  This correction is applied after vertex deformation and lighting adjustments.+When enabled, the face winding of the polygons in the final mesh is adjusted to match the direction of the surface normals. This correction is applied after vertex deformation and lighting adjustments. 
 + 
 +==== Flip ==== 
 +When enabled, randomly selected leaf nodes are flipped over the y-axis. 
 + 
 +==== Initial orientation ==== 
 +Orient all nodes in this generator based on the below options. This property is only available if **Flip** is disabled. 
 + 
 +^**Property**^**Description**^ 
 +|**Classic**|Orient nodes based on whether they’re on the left or right side of the model. Works best in [[genmode_phyllotaxy|Phyllotaxy]] generation mode and results in more organic shapes.| 
 +|**Synchronized**| Orient all nodes in the same direction relative to the parent.|
  
 ==== Type ==== ==== Type ====
-The properties in this group specify the materials and meshes for the leaf.  Meshes must be assigned to the material on the [[toolmaterialsassetsbar|Material Bar]] to be used on the leaf.  Materials are chosen based on their weights and [[kcseasons|season]] settings.+The properties in this group specify the materials and meshes for the leaf. Meshes must be assigned to the material on the [[toolmaterialsassetsbar|Material Bar]] to be used on the leaf. Materials are chosen based on their weights and [[kcseasons|season]] settings.
  
-== Material == +=== Material === 
-This property specifies a named material from the [[toolmaterialsassetsbar|Material Bar]]. If "Noneis selected or the chosen material has no assigned mesh, a simple square will be used as placeholder geometry.+This property specifies a named material from the [[toolmaterialsassetsbar|Material Bar]]. If **None** is selected or the chosen material has no assigned mesh, a simple square will be used as placeholder geometry.
  
-== Mesh == +=== Mesh === 
-Use this property to choose a particular mesh from the material asset or allow it to pick randomly ("Any"), the first mesh on the asset ("Primary"), or any mesh but the first ("Not primary").+Use this property to choose a particular mesh from the material asset or allow it to pick randomly (**Any**), the first mesh on the asset (**Primary**), or any mesh but the first (**Not primary**).
  
-== Weight ==+=== Weight ===
 Sets probability that a node will receive this material (this weight ÷ sum of all weights). Sets probability that a node will receive this material (this weight ÷ sum of all weights).
  
Line 60: Line 100:
 The properties in this group influence the resolution of the mesh. The properties in this group influence the resolution of the mesh.
  
-== Size Increase % == +=== Size increase === 
-This curve controls the increase in the size of the leaf nodes as the [[kcvfxresolution|resolution]] changes.  It is often desirable to increase the size of the leaves at lower resolutions to make up for a lower number of leaves.+This curve controls the increase in the size of the leaf nodes as the [[kcvfxresolution|resolution]] changes. It is often desirable to increase the size of the leaves at lower resolutions to make up for a lower number of leaves.
  
-== Mesh LOD == +=== Mesh LOD === 
-This curve sets which mesh version ("High""Mediumor "Lowdetail on the mesh asset) is used based on the active resolution. +This curve sets which mesh version (High, Mediumor Low detail on the mesh asset) is used based on the active resolution. 
  
-== Mesh LOD Offset == +=== Mesh LOD offset === 
-When set to a value other than 0, the mesh currently assigned will go up or down in mesh resolution ("High""Mediumor "Lowdetail on the mesh asset). Use this property (especially in conjunction with its parent curve) to adjust mesh resolution throughout the model.+When set to a value other than 0, the mesh currently assigned will go up or down in mesh resolution (High, Mediumor Low detail on the mesh asset). Use this property (especially in conjunction with its parent curve) to adjust mesh resolution throughout the model.
  
->**Note:** "Mesh LODand "Mesh LOD Offset" both require meshes assigned in at least two of the three [[kcmeshes|mesh asset]] LOD slots.+>**Note:** **Mesh LOD** and **Mesh LOD** offset both require meshes assigned in at least two of the three [[kcmeshes|mesh asset]] LOD slots.
  
 ===== Local Orientation ===== ===== Local Orientation =====
-The properties in this group are the first stage of orienting the leaf.  The orientation actions are performed in the order in which the properties are listed.+The properties in this group are the first stage of orienting the leaf. The orientation actions are performed in the order in which the properties are listed.
  
-==3D anchor style==+====3D anchor style====
  
 Set how 3D anchors align with the orientation of the parent node. Set how 3D anchors align with the orientation of the parent node.
Line 82: Line 122:
 | **Match parent** | Follow the orientation and deformations of the parent node. | | **Match parent** | Follow the orientation and deformations of the parent node. |
  
-== Unification == +==== Unification ==== 
-Uses the anchor to orient itself "out" before the rest of the orientation adjustments are performed.  The "Out" direction is considered to be the vector from the anchor point through the node's attachment point. Anchor point placement options are as follows:+Uses the anchor to orient itself "out" before the rest of the orientation adjustments are performed. The "Out" direction is considered to be the vector from the anchor point through the node's attachment point. Anchor point placement options are as follows:
  
 ^**Property**^**Description**^ ^**Property**^**Description**^
Line 92: Line 132:
 |**None**|No anchor point is computed, and no unification is done.| |**None**|No anchor point is computed, and no unification is done.|
  
-== Sky Influence == +==== Sky influence ==== 
-Controls how much the leaves point toward the sky. Higher numbers result in the 'Z' axis of each mesh pointing straight up.+Controls how much the leaves point toward the sky. Higher numbers result in the z-axis of each mesh pointing straight up.
  
-== Fold ==+==== Fold ====
 Rotates leaves up or down around the parent's growth direction. Rotates leaves up or down around the parent's growth direction.
  
-== Align == +==== Align ==== 
-Rotates the tip of the leaves toward or away from the parent's growth direction.  Use this property to point leaves in the direction the parent is growing.+Rotates the tip of the leaves toward or away from the parent's growth direction. Use this property to point leaves in the direction the parent is growing.
  
-== Face == +==== Face ==== 
-Spins the leaves around their stem so that their "upvector points in the direction of the parent's growth.  Use this property to make the leaves face out relative to their parent.+Spins the leaves around their stem so that their up vector points in the direction of the parent's growth. Use this property to make the leaves face out relative to their parent.
  
->**Note:** Interval and Phyllotaxy generation modes work best with these properties.  These modes give each leaf an idea of which side they're on.  Doing so makes a positive value for "Align," "Face,and "Foldall work the same, regardless where the leaf was generated.+>**Note:** Interval and Phyllotaxy generation modes work best with these properties. These modes give each leaf an idea of which side they're on. Doing so makes a positive value for **Align****Face**, and **Fold** all work the same, regardless where the leaf was generated.
  
 ===== Sensitivity ===== ===== Sensitivity =====
Line 112: Line 152:
 Parent sensitivity refers to orienting the leaf based on where it is positioned relative to its ancestors. Parent sensitivity refers to orienting the leaf based on where it is positioned relative to its ancestors.
  
-== Amount == +=== Amount === 
-Sets the amount that the bottom of the leaf is turned to face the point set by Anchor.+Sets the amount that the bottom of the leaf is turned to face the point set by **Anchor**.
  
-==Anchor==+===Anchor===
 This property picks a spot on one of the leaf's ancestors according to the following options: This property picks a spot on one of the leaf's ancestors according to the following options:
  
Line 125: Line 165:
 |**None**|No anchor point is computed, and no parent sensitivity is added.| |**None**|No anchor point is computed, and no parent sensitivity is added.|
  
-==Sky== +==== Sky ==== 
-Rotates the mesh around its central axis to get its "Z" axis as close to up as it can.  Think of it as the leaves rotating around their stem to face the light.+Rotates the mesh around its central axis to get its z-axis as close to up as it can. Think of it as the leaves rotating around their stem to face the light.
  
 ===== Final Adjustments ===== ===== Final Adjustments =====
-These edits are applied to the leaf meshes as a group after Local Orientation and Sensitivity are computed.+These edits are applied to the leaf meshes as a group after **Local Orientation** and **Sensitivity** compute.
  
-== Up == +==== Up ==== 
-Rotates each mesh around its local axis.+Rotates each mesh around its local x-axis.
  
-== Right == +==== Right ==== 
-Rotates each mesh around its local axis.+Rotates each mesh around its local y-axis.
  
-== Out == +==== Out ==== 
-Rotates each mesh around its local axis.+Rotates each mesh around its local z-axis.
  
 ===== Deformation ===== ===== Deformation =====
-The properties in this group alter the shape of the leaf mesh. It is important to remember that these properties work best when there are enough vertices in the mesh to reveal the changes.+The properties in this group alter the shape of the leaf mesh. These properties work best when there are enough vertices in the mesh to reveal the changes.
  
->**Note:** Using these properties on low-resolution meshes can produce undesirable results.  You should always have at least one vertex near the center of the mesh for the best results.+>**Note:** Using these properties on low-resolution meshes can produce undesirable results. You should always have at least one vertex near the center of the mesh for the best results.
  
-==Fold== +====Height==== 
-Folds both sides of the leaf, lengthwise along the Y-axis of the mesh. A negative value bends down, while a positive value bends up+Displace the leaf geometry based on the height map of the assigned material.
  
-==Curl== +====Fold==== 
-Curls the leaf around the mesh's X-axis.+Folds both sides of the leaf lengthwise along the y-axis of the mesh. A negative value bends down, while a positive value bends up
  
-==Twist== +====Curl==== 
-Twists the leaf around the mesh'Y-axis.  The farther away a vertex is from the X-axis, the more it is rotated.+Curls the leaf around the mesh's x-axis. 
 + 
 +====Twist==== 
 +Twists the leaf around the mesh'y-axis. The farther away a vertex is from the x-axis, the more it is rotated.
  
 ==== Vertex ==== ==== Vertex ====
 The properties in this group perform a noise-based deformation of each vertex in the mesh. The properties in this group perform a noise-based deformation of each vertex in the mesh.
  
-== Amount ==+=== Amount ===
 This property controls the amount of noise applied to each vertex. This property controls the amount of noise applied to each vertex.
  
-== Noise ==+=== Noise ===
 This value controls the tightness of the noise pattern. Higher values result in more localized deformations. This value controls the tightness of the noise pattern. Higher values result in more localized deformations.
  
-== Seed ==+=== Seed ===
 Vary this parameter to randomize the noise pattern. Vary this parameter to randomize the noise pattern.
  
 ====Scale==== ====Scale====
-The properties in this group scale the mesh.  The scale is performed in each leaf's local orientation.+The properties in this group scale the mesh. The scale is performed in each leaf's local orientation.
  
-==X== +===X=== 
-Scales the mesh by this amount in the X-axis.+Scales the mesh by this amount in the x-axis.
  
-==Y== +===Y=== 
-Scales the mesh by this amount in the Y-axis.+Scales the mesh by this amount in the y-axis.
  
-==Z== +===Z=== 
-Scales the mesh by this amount in the Z-axis.+Scales the mesh by this amount in the z-axis.
  
 ===== Lighting ===== ===== Lighting =====
 The properties in this group modify the vertex normals to change the lighting behavior of the mesh. The properties in this group modify the vertex normals to change the lighting behavior of the mesh.
  
->**Note:** These properties are not typically necessary for high detail VFX models but they can significantly improve the lighting on meshes that represent [[atclusters|clusters]] of leaves in real-time models.+>**Note:** These properties are not typically necessary for high-detail VFX models but they can significantly improve the lighting on meshes that represent [[atclusters|clusters]] of leaves in real-time models. 
 + 
 +====Style==== 
 +Choose an approach to edit the vertex normals for this generator. The Lighting group properties differ for each option. 
 + 
 +^ **Property** ^ **Description**^ 
 +| **Global** | Edit this generator as part of a larger group with [[lighting-leaves-and-fronds|global lighting properties]]. | 
 +| **Local** | Edit this generator individually with local lighting properties. | 
 + 
 +====Local lighting properties====
  
-==Smooth== +===Smooth=== 
-Use this property to compute smooth normals based on the average face normals at each vertex after the deformations have been computed.  A value of zero means no smoothing, a value of 1.0 means completely smoothed normals.  The other lighting adjustments in this group are applied after smoothing.+Use this property to compute smooth normals based on the average face normals at each vertex after the deformations have been computed. A value of zero means no smoothing, a value of 1.0 means completely smoothed normals. The other lighting adjustments in this group are applied after smoothing.
  
-==== Parent Puffiness ====+=== Parent Puffiness ===
 == Amount == == Amount ==
 Value scale that controls how much the normals on each individual leaf should face "out" depending on the assigned anchor point. A value of 1.0 makes each normal line up with the vector that goes from the anchor through the vertex. Value scale that controls how much the normals on each individual leaf should face "out" depending on the assigned anchor point. A value of 1.0 makes each normal line up with the vector that goes from the anchor through the vertex.
  
->**Note:** Click on a leaf with hints on to see the "Parent puffinessvectors.  +>**Note:** Select a leaf with hints on to see the Parent puffiness vectors. 
  
 ==Anchor== ==Anchor==
Line 196: Line 248:
  
 ^**Property**^**Description**^ ^**Property**^**Description**^
-|**Global**|The anchor point is located where the node's highest ancestor hits the ground.|+|**Global**|The anchor point is located where the node's highest ancestor hits the ground. |
 |**Deep**|The anchor point is the base of a node very near (and sometimes exactly on) the root of the node's ancestors.| |**Deep**|The anchor point is the base of a node very near (and sometimes exactly on) the root of the node's ancestors.|
 |**Intermediate**|The anchor point is somewhere in the middle of the node's ancestors.| |**Intermediate**|The anchor point is somewhere in the middle of the node's ancestors.|
 |**Local**|The anchor point is very near where the node is attached.| |**Local**|The anchor point is very near where the node is attached.|
 |**None**|No anchor point is computed, and no parent puffiness is added.| |**None**|No anchor point is computed, and no parent puffiness is added.|
 +|**Height**| The anchor point is located where the node's highest ancestor hits the ground. Properties in the Anchor Shift section move the anchor directly up rather than along the ancestor. |
 +|**Surface X**|The normals align with the x-axis of the parent where the node attaches.|
 +|**Surface Y**|The normals align with the y-axis of the parent where the node attaches.|
 +|**Surface Z**|The normals align with the z-axis of the parent where the node attaches.|
  
-== Puffiness == +==Anchor Shift== 
-After all normal adjustments have been performed, this value “sphere-izes” the normals around the center of the mesh, making the geometry have a more puffy appearance.+Adjust where the anchor sits on the ancestor.
  
-==Unify== +== Position == 
-This property causes all vertex normals to point in the average direction of all of the vertex normals Use this property to align the normals to help localize specular effects.+Adjust the height of the anchor point on the ancestorNote that the **Amount** value must be more than 0 for this property to work
  
-==== Adjustments ==== +== Amount == 
-The properties in this group rotate the normals of each leaf without rotating the geometry.  These properties are commonly used when creating [[atclusters|clusters]].+Set the range in which the anchor point moves when the **Position** value changes.
  
->**Hint:** Apply variance to these properties to make leaves in a cluster appear jumbled when lit in the final model.+=== Puffiness === 
 +After all normal adjustments have been performed, this value “sphere-izes” the normals around the center of the mesh, giving the geometry a more puffy appearance. 
 + 
 +=== Unify === 
 +This property causes all vertex normals to point in the average direction of all of the vertex normals. Use this property to align the normals to help localize specular effects. 
 + 
 +=== Adjustments === 
 +The properties in this group rotate the normals of each leaf without rotating the geometry. These properties are commonly used when creating [[atclusters|clusters]]. 
 + 
 +>**Note:** Apply variance to these properties to make leaves in a cluster appear jumbled when lit in the final model.
  
 == Up == == Up ==
-This property rotates vertex normals around the local axis.+This property rotates vertex normals around the local x-axis.
  
 == Right == == Right ==
-This property rotates vertex normals around the local axis.+This property rotates vertex normals around the local y-axis.
  
 == Out == == Out ==
-This property rotates vertex normals around the local axis.+This property rotates vertex normals around the local z-axis
 + 
 +=== World up === 
 +Point all vertex normals up. This property overrides all properties in the Puffiness and Adjustments sections. Use this property for uniform lighting on grass models
  
 ===== Wind ===== ===== Wind =====
-The properties in this group influence how leaves are animated in wind simulations.+The properties in this group influence how leaves are animated in wind simulations. There are separate settings for VFX, Games, Legacy UE4/Unity, and Lumberyard.
  
-==Scalar== +====Weight==== 
-Use this property to scale how much the leaf moves during wind simulations.  The amount and frequency of motion are set on the [[fan|Fan]] object.  The left-hand side of the profile curve corresponds to the pivot point.  The right-hand side corresponds to the vertex farthest away.+Use this property to scale how much the leaf moves during wind simulations. The amount and frequency of motion are set on the Fan object. The left-hand side of the profile curve corresponds to the pivot point. The right-hand side corresponds to the vertex farthest away.
  
 >**Note:** The left-hand side of the profile curve must be zero to avoid disconnecting from the parent. >**Note:** The left-hand side of the profile curve must be zero to avoid disconnecting from the parent.
  
-==Group== +====Cross===== 
-In many wind styles, multiple wind groups are available Use this property to specify which group the leaves belong to.  The most common use of this feature is to have separate animation parameters for leaves and fruit.+Increase the wind weight on vertices based on their distance from the mesh’s centerline on the x-axis. Use this property to show heavier wind impacts on the edges of leaves compared to the center. The right side of the curve corresponds to the edges of a mesh.
  
-==Seed== +====Group==== 
-Vary this parameter to randomize wind characteristics.+In many wind styles, multiple wind groups are available. Use this property to specify which group the leaves belong to. The most common use of this feature is to have separate animation parameters for leaves and fruit.
  
-==Lock to parent== +====Lock to parent==== 
-When enabled, leaf mesh stay attached to their parent during wind animation but do so by sacrificing their ownindependent motion.+When enabled, leaves stay attached to their parent during wind animation but do so by sacrificing their own independent motion.
  
 ===== Growth ===== ===== Growth =====
-The properties in this group control how the model behaves during animated growth.  In general, you create the model in the fully grown state and use these properties to control how it gets there.+The properties in this group control how the model behaves during animated growth. In general, you create the model in the fully grown state and use these properties to control how it gets there
 + 
 +==== Speed scale ==== 
 +The speed at which a leaf will grow is set on the [[tooltimeline|Timeline Bar]]. Use this property to scale that value. The profile curve scales the speed relative to the leaf's total growth time. For example, ease in and out of the growth animation by using an S curve.
  
-== Speed Scale == +==== Smoothing ==== 
-The speed at which a leaf will grow is set on the [[tooltimeline|Timeline Bar]]Use this property to scale that value. The profile curve scales the speed relative to the leaf's total growth timeFor example, ease in and out of the growth animation by using an "S-curve."+Leaves can be oriented based on the current state of their parent (0.0 smoothing), the final state of their parent (1.0 smoothing), or anywhere in between. Increase this value to prevent wild leaf motion during growth. This is especially useful for leaves growing off a twisted or gnarled parent
  
-== Smoothing == +==== Transitions ====
-Leaves can be oriented either based on the current state of their parent (0.0 smoothing), the final state of their parent (1.0 smoothing), or anywhere in between. Increase this value to prevent wild leaf motion during growth. This is especially useful for leaves growing off of a twisted or gnarled parent. +
  
-==== Transitions==== +=== Size === 
-== Size == +This curve controls how the size increases over the course of the leaf's growth time.
-This curve control how the size increases over the course of the leaf's growth time.+
  
-== Orientation == +=== Orientation === 
-This value controls how much to rotate the leaf about its local axis at the start of its growth period.  The profile curve controls how it transitions to the final orientation.  The rightmost point of the profile curve must be at 1.0 to match the model as it appears when growth is disabled.+This value controls how much to rotate the leaf about its local x-axis at the start of its growth period. The profile curve controls how it transitions to the final orientation. The rightmost point of the profile curve must be at 1.0 to match the model as it appears when growth is disabled.
  
-== Curl == +=== Curl === 
-Adds additional curl to the leaf at the start of the growth.  The profile curve sets how much of the additional curl is added during the growth cycle of the leaf.+Adds additional curl to the leaf at the start of the growth. The profile curve sets how much of the additional curl is added during the growth cycle of the leaf.
  
-== Fold == +=== Fold === 
-Adds additional fold to the leaf at the start of the growth.  The profile curve sets how much of the additional fold is added during the growth cycle of the leaf.+Adds additional fold to the leaf at the start of the growth. The profile curve sets how much of the additional fold is added during the growth cycle of the leaf.
  
 ==== Timing ==== ==== Timing ====
-== Style == +=== Style === 
-Sets the conditions under which the leaf will start growing. The Start % property works according to the option selected here. Options include:+Sets the conditions under which the leaf will start growing. The **Start %** property works according to the option selected here. Options include:
  
 ^**Property**^**Description**^ ^**Property**^**Description**^
-|**In Place** | The leaf will start growing exactly when the parent is long enough to reach its starting point in the fully grown model. "Start %has no effect. This style makes the animation appear to trace out the model.|+|**In place** | The leaf will start growing exactly when the parent is long enough to reach its starting point in the fully grown model. Start % has no effect. This style makes the animation appear to trace out the model.|
 |**Parent** | The growth of this leaf will be based on the growth of the parent. A Start % of 0.0 means start when the parent starts, 1.0 means start when the parent ends. | |**Parent** | The growth of this leaf will be based on the growth of the parent. A Start % of 0.0 means start when the parent starts, 1.0 means start when the parent ends. |
-|**Parent'Start and End** | The growth of this leaf will start and stop in perfect synchronization with its parent. Start % has no effect.|+|**Parent'start and end** | The growth of this leaf will start and stop in perfect synchronization with its parent. Start % has no effect.|
  
-== Start % == +=== Start % === 
-Causes leaves to start early (0.0) or late (1.0) according to the "Styleproperty as described above.+Causes leaves to start early (0.0) or late (1.0) according to the **Style** property.
  
-== Offset ==+=== Offset ===
 The start frame is shifted by a constant number of frames (negative means earlier, positive means later). This value is best used to “jumble up” start times of neighboring leaves.  The start frame is shifted by a constant number of frames (negative means earlier, positive means later). This value is best used to “jumble up” start times of neighboring leaves. 
  
Line 294: Line 363:
 Controls how much noise is applied to the speed at which the leaf reaches its final position. Controls how much noise is applied to the speed at which the leaf reaches its final position.
  
->**Note:** The final value for the profile curve must be 0.0 in order for the model to exactly match its correct final position.+>**Note:** The final value for the profile curve must be 0.0 for the model to exactly match its correct final position.
  
 ==Frequency== ==Frequency==
Line 305: Line 374:
 The properties in this group control how leaves transition in the [[kcseasons|seasons]] system. The properties in this group control how leaves transition in the [[kcseasons|seasons]] system.
  
-== Start Offset == +==== Start offset ==== 
-Leaf transitions are determined by looking up season curves based on the position of the season slider.  This value provides an offset on that curve lookup.  Use variance on this property to randomly shift when neighboring leaves begin their transition.+Leaf transitions are determined by looking up season curves based on the position of the season slider. This value provides an offset on that curve lookup. Use variance on this property to randomly shift when neighboring leaves begin their transition.
  
-== Time Scale == +==== Time scale ==== 
-Scales how fast time passes relative to a single leaf.  Higher values make leaves transition faster.+Scales how fast time passes relative to a single leaf. Higher values make leaves transition faster.
  
-== Drop Time == +==== Drop time ==== 
-Controls how long the leaf will remain attached.  A leaf can drop no matter what material is assigned.+Controls how long the leaf will remain attached. A leaf can drop no matter what material is assigned.
  
-== Droop ==+==== Droop ====
 Use this value to make leaves droop as they transition. Use this value to make leaves droop as they transition.
  
-== Curl ==+==== Curl ====
 Use this value to make leaves curl as they transition. Use this value to make leaves curl as they transition.
  
-== Fold ==+==== Fold ====
 Use this value to make leaves fold as they transition. Use this value to make leaves fold as they transition.
  
 ==== Fallen ==== ==== Fallen ====
-When "Show dropped leavesis checked on the Season Slider, the properties in this group influence the behavior of leaves on the ground (or ground mesh).+When **Show dropped leaves** is enabled on the [[kcseasons|Season Slider]], the properties in this group influence the behavior of leaves on the ground (or ground mesh).
  
-== Ground duration ==+=== Ground duration ===
 The amount of time the leaves stay on the ground before disappearing. The amount of time the leaves stay on the ground before disappearing.
  
-== Spread ==+=== Spread ===
 Controls how far from the point directly under the tree the leaf may travel before hitting the ground. Controls how far from the point directly under the tree the leaf may travel before hitting the ground.
  
-== Flatten ==+=== Flatten ===
 Determines the amount of deformation removal ("Season:Curl" and "Season:Fold") applied to the fallen leaves. Determines the amount of deformation removal ("Season:Curl" and "Season:Fold") applied to the fallen leaves.
  
-== Jumble ==+=== Jumble ===
 Randomizes the orientations of leaves on the ground. Randomizes the orientations of leaves on the ground.
  
-== Slope Limit == +=== Slope limit === 
-If you have a force mesh applied to the leaf generator, fallen leaves will adhere to it instead of the ground.   In that circumstance, use this property to keep leaves from gathering on slopes.+If you have a force mesh applied to the leaf generator, fallen leaves will adhere to it instead of the ground. In that circumstance, use this property to keep leaves from gathering on slopes.
  
 ===== Dynamic LOD ===== ===== Dynamic LOD =====
 The properties in this group control the [[kcgameslod|LOD]] behavior of the leaves. The properties in this group control the [[kcgameslod|LOD]] behavior of the leaves.
  
-==Weight== +====Weight==== 
-Use this value to increase or decrease the likelihood that leaves in this generator will survive the LOD process (vs. leaves in other generators).  Use the parent curve to target specific areas of the model.+Increase or decrease the likelihood that leaves in this generator will survive the LOD process (vs. leaves in other generators). Use the parent curve to target specific areas of the model.
  
-==Scale Factor== +====Scale factor==== 
-Leaves that survive the LOD process grow to fill the vacated space.  The amount is set in the [[tree_generator#Dynamic LOD|Tree generator's LOD section]].  This property scales that amount for leaves in this generator.+Leaves that survive the LOD process grow to fill the vacated space. The amount is set in the [[tree_generator#Dynamic LOD|Tree generator's LOD section]]. This property scales that amount for leaves in this generator.
  
-==Mesh Index== +====Mesh index==== 
-This curve controls which mesh LOD (if present) is used for each LOD state.  The left side of the curve corresponds to the highest LOD.  The right side corresponds to the lowest LOD.+This curve controls which mesh LOD (if present) is used for each LOD state. The left side of the curve corresponds to the highest LOD. The right side corresponds to the lowest LOD.
  
 ===== Vertex Color ===== ===== Vertex Color =====
-The properties in this group control how vertex colors are computed. +The properties in this group control how vertex colors are computed. These properties are only available when **Vertex colors** is enabled on the [[tree_generator#Compute Flags|Tree generator]].
- +
->**Note:** "Vertex colors" must be enabled on the [[tree_generator#Compute Flags|Tree]] generator for these properties to work.+
  
 ====Red==== ====Red====
 The properties in this group control how the red component of the color is computed. The properties in this group control how the red component of the color is computed.
  
-==Style==+===Style===
 This property controls how the red portion of the color is computed from the following options: This property controls how the red portion of the color is computed from the following options:
  
Line 368: Line 435:
 |**Offset from parent** | The "Value" property is added to the vertex color inherited from the parent. | |**Offset from parent** | The "Value" property is added to the vertex color inherited from the parent. |
  
-==Value==+===Value===
 This property adds to, subtracts from, or directly sets this color component. This property adds to, subtracts from, or directly sets this color component.
  
Line 374: Line 441:
 The properties in this group control how the red component of the color is computed. The properties in this group control how the red component of the color is computed.
  
-==Style==+===Style===
 This property controls how the red portion of the color is computed from the following options: This property controls how the red portion of the color is computed from the following options:
  
Line 381: Line 448:
 |**Offset from parent** | The "Value" property is added to the vertex color inherited from the parent. | |**Offset from parent** | The "Value" property is added to the vertex color inherited from the parent. |
  
-==Value==+===Value===
 This property adds to, subtracts from, or directly sets this color component. This property adds to, subtracts from, or directly sets this color component.
  
Line 387: Line 454:
 The properties in this group control how the red component of the color is computed. The properties in this group control how the red component of the color is computed.
  
-==Style==+===Style===
 This property controls how the red portion of the color is computed from the following options: This property controls how the red portion of the color is computed from the following options:
  
Line 394: Line 461:
 |**Offset from parent** | The "Value" property is added to the vertex color inherited from the parent. | |**Offset from parent** | The "Value" property is added to the vertex color inherited from the parent. |
  
-==Value==+===Value===
 This property adds to, subtracts from, or directly sets this color component. This property adds to, subtracts from, or directly sets this color component.
  
Line 400: Line 467:
 The properties in this group control how vertex colors stored in the [[kcmeshes|mesh asset]] are combined with the computed vertex colors. The properties in this group control how vertex colors stored in the [[kcmeshes|mesh asset]] are combined with the computed vertex colors.
  
-==Style==+===Style===
 This property controls how mesh asset vertex colors are used from the following options: This property controls how mesh asset vertex colors are used from the following options:
  
Line 407: Line 474:
 |**Add** | The "Contribution" value is used to scale the mesh asset vertex color and the result is added to the computed vertex color. | |**Add** | The "Contribution" value is used to scale the mesh asset vertex color and the result is added to the computed vertex color. |
  
-==Contribution==+===Contribution===
 This value sets how much influence the mesh asset vertex color has on the final vertex color. This value sets how much influence the mesh asset vertex color has on the final vertex color.
  
Line 413: Line 480:
 The properties in this group influence how leaves in this generator interact with the [[toolcollision|collision]] system. The properties in this group influence how leaves in this generator interact with the [[toolcollision|collision]] system.
  
-== Style ==+==== Style ====
 Use this property to set how the leaves behave during collision computations from the following options: Use this property to set how the leaves behave during collision computations from the following options:
  
 ^**Property**^**Description**^ ^**Property**^**Description**^
 |**Everything** | Leaves in this generator collide with each other and all other leaves.| |**Everything** | Leaves in this generator collide with each other and all other leaves.|
-|**Ignore Siblings** | Leaves in this generator ignore siblings but collide with everything else.| +|**Ignore siblings** | Leaves in this generator ignore siblings but collide with everything else.| 
-|**Knock out Others Only** | Leaves in this generator cannot be removed, but they can eliminate leaves in other generators.| +|**Knock out others only** | Leaves in this generator can’t be removed, but they can eliminate leaves in other generators.| 
-|**Nothing** |These leaves do not participate in collision computations.|+|**Nothing** |These leaves don’t participate in collision computations.|
  
-== Take parent == +==== Take parent ==== 
-When enabled, if a leaf in this generator is removed, its parent is also removed.  Use this option to take away twigs supporting leaves that are removed.+When enabled, if a leaf in this generator is removed, its parent is also removed. Use this option to take away twigs supporting leaves that are removed.
  
-== Ignore parent== +==== Ignore parent==== 
-Check this box to have leaves ignore their parent when checking collisions.  This is useful when you're certain that the base of the leaf will frequently collide but the tips will not.+When enabled, leaves ignore their parent when checking collisions. This is useful when you're certain that the base of the leaf will frequently collide but the tips will not.
  
-== Also remove descendants == +==== Also remove descendants ==== 
-If this leaf is eliminated during collision computations, checking this box will ensure that any of its children (and their children and so on) are also eliminated.  This feature is useful when leaf meshes are used to represent image-based branches and have other leaves as children.+If this leaf is eliminated during collision computations, checking this box will ensure that any of its children (and their children and so on) are also eliminated. This feature is useful when leaf meshes are used to represent image-based branches and have other leaves as children.
  
-== Weight == +==== Weight ==== 
-When leaves collide, the one with the higher weight wins.  Use this property to set the weight.+When leaves collide, the one with the higher weight wins. Use this property to set the weight.
  
-== Pivot Threshold == +==== Pivot threshold ==== 
-This property sets how far away from pivot (as a percentage of size) a collision has to happen in order to count.  Use this property to eliminate unwanted removals of leaves anchored near each other.+Sets how far away from pivot (as a percentage of size) a collision has to happen in order to count. Use this property to eliminate unwanted removals of leaves anchored near each other.
  
-== Sphere Threshold == +==== Sphere threshold ==== 
-When using spherical leaf collision tests, this value scales the size of the spheres used during the test.  Spheres are initially sized based on leaf size.+When using spherical leaf collision tests, this value scales the size of the spheres used during the test. Spheres are initially sized based on leaf size.
  
 ===== Lightmap ===== ===== Lightmap =====
Line 445: Line 512:
 >**Note:** Not all versions of the Modeler support lightmap UV computation. >**Note:** Not all versions of the Modeler support lightmap UV computation.
  
-==Weight== +====Weight==== 
-Use this property to increase or decrease the importance of this generator's leaves in the lightmap -- in relation to the lightmap weight of all other objects -- before lightmap packing is determined.  Note that your Weight value may not be honored exactly or may get so large as to exhibit unexpected results.  Use "Tools->Reset lightmap scalarsto go back to default values for the whole model. +Increase or decrease the importance of this generator's leaves in the lightmap -- in relation to the lightmap weight of all other objects -- before lightmap packing is determined. Note that your Weight value may not be honored exactly or may get so large as to exhibit unexpected results. Use **Tools** **Reset lightmap scalars** to go back to default values for the whole model.