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
generation_properties [2022/04/05 09:26] sechrestgeneration_properties [2023/04/03 18:44] (current) steph.jorgensen
Line 1: Line 1:
-====== Generation Properties ====== +====== Generation properties ====== 
-Each [[generators|generator]] has a group of properties called "Generation."  These properties control how many nodes are created by each generator, where each one is on its parent, and which direction each node is facing.  +Each [[kcgenerators|generator]] has a group of properties called Generation. These properties control how many nodes are created by each generator, where each node is on its parent, and which direction each node is facing.  
  
-===== Modes ===== +The Generation properties let you set a generation modeedit the mode’s unique properties, and edit the properties that are shared across all modes. 
-Under the "Generation" group on each generatorthere are several different modes to choose from. The first set of properties are unique to the selected mode.  The next set is shared by all of the modes.  These shared properties are documented at the end of this page.+
  
-Generators "generate" new nodes for each node made by its parent generator.  Nodes are generated based on the selected "Mode" and its associated properties.+===== Mode ===== 
 +Nodes are generated based on the selected mode and its associated properties. Some modes use the size of the parent, some adapt to the shape of the parent, and some set the children directly. Choose the mode most appropriate for each generator in your model.
  
->**Note:** Some modes use the size of the parent, some adapt to the shape of the parent, and some just set the children directly.  Choose the mode most appropriate for each generator in your model.+==== Classic ==== 
 +[[genmode_classic|Classic]] mode exists solely to support legacy models and should be avoided on new models.
  
-=== Interval === +==== Proportional ==== 
-[[genmode_interval|Interval]] mode creates nodes at regular intervals along the parent and is suitable for use in wide variety of modeling situations.+[[genmode_proportional|Proportional]] mode creates nodes based on the size of the parent. This mode is useful for randomly distributing nodes on parent based on the size of the parent.
  
-=== Phyllotaxy === +==== Proportional steps ==== 
-[[genmode_phyllotaxy|Phyllotaxy]] is the scientific word meaning "the arrangement of leaves on stem. The Phyllotaxy generation mode provides access to many common styles of leaf growth.+[[genmode_proportional_steps|Proportional steps]] mode creates series of steps with each step containing several nodesThis style of generation is commonly seen on pine trees.
  
-=== Bifurcation === +==== Absolute ==== 
-[[genmode_bifurcation|Bifurcation]] mode places nodes on spots where the parent bends, simulating a split in the branch Bifurcation is often the easiest way to get an organic look to your models.+[[genmode_absolute|Absolute]] mode creates an exact number of nodes. Use this mode sparingly since it does not adapt to the size of the parentSpecifying exactly one trunk or switching over to this mode to periodically reduce node counts are common uses for this mode.
  
-=== Proportional === +==== Absolute steps==== 
-[[genmode_proportional|Proportional]] mode creates nodes based on the size of the parent This mode is useful for randomly distributing nodes on a parent based on the size of the parent.+[[genmode_absolute_steps|Absolute steps]] mode creates an absolute number of steps with each step having several nodes. This mode does not adapt to the size of the parent and should be used sparingly.
  
-=== Proportional Steps === +==== Phyllotaxy ==== 
-[[genmode_proportional_steps|Proportional Steps]] mode creates a series of steps with each step containing several nodes.  This style of generation is commonly seen on pine trees.+[[genmode_phyllotaxy|Phyllotaxy]] mode provides access to many common styles of leaf growth.
  
-=== Absolute === +==== Interval ==== 
-[[genmode_absolute|Absolute]] mode creates an exact number of nodes.  Use this mode sparingly since it does not adapt to the size of the parent at all.  Specifying exactly one trunk or switching over to this mode to periodically reduce node counts are common uses for this mode.+[[genmode_interval|Interval]] mode creates nodes at regular intervals along the parent and is suitable for use in a wide variety of modeling situations.
  
-=== Absolute Steps=== +==== Bifurcation ==== 
-[[genmode_absolute_steps|Absolute Steps]] creates an absolute number of steps with each step having several nodes.  This mode does not adapt to the size of the parent and should be used sparingly.+[[genmode_bifurcation|Bifurcation]] mode places nodes on spots where the parent bends, simulating a split in the branch. Bifurcation is often the easiest way to give models an organic look.
  
-=== Classic === +==== Flood ==== 
-[[genmode_classic|Classic]] mode exists solely to support legacy models and should be avoided on new models.+[[genmode_flood|Flood]] mode creates an exact number of nodes and places them randomly along the parent.
  
 +==== Parent ====
 +[[[genmode_parent|Parent]] mode creates an exact number of nodes and places them at the origin of the parent.
 =====Shared===== =====Shared=====
 The properties in this group apply to all generation modes. The properties in this group apply to all generation modes.
  
-=== Boundaries ===+==== Active ==== 
 +Set whether a generator is visible based on the active [[kcvfxresolution|Resolution]]. The generator is active when the value of the curve is more than 0.5 and inactive when the value of the curve is less than 0.5. 
  
-== First == +Use this property to swap generators in and out based on the resolution of the model. For example, make a leaf map with only one leaf active in Draft and Low resolution and a leaf map with five leaves active in Medium and High resolution.
-The lowest point on the parent where nodes can occur+
  
-== Last == +==== Pass ==== 
-The highest point on the parent where nodes can occur.+Determine when a generator is computed. By default, all generators compute in pass 1. A generator’s pass number can’t be lower than that of its ancestors. Pass errors result in an error message. 
 +==== Boundaries ==== 
 +=== First === 
 +Set the lowest point on the parent where nodes occur. 
  
-== Clip == +=== Last === 
-When enabled, this option removes any nodes that are pushed past the 'First' and 'Last' value range (usually by "Spread" or "Position" variance)+Set the highest point on the parent where nodes occur.
  
-== Rotation == +=== Clip === 
-Rotates all nodes around the parent spine as a group.+Remove nodes that are pushed past the **First** and **Last** value range (usually by **Spread** or **Position** variance)
  
->**Note:** Use variance to jumble up the rotation of all of the nodes.+==== Rotation ==== 
 +Rotate all nodes around the parent spine as a group.
  
-== Position == +**Note:** Use variance to jumble up the rotation of the nodes.
-Shifts all nodes up or down the parent.+
  
->**Note:** Use variance to jumble up the position of all of the nodes.+==== Position ==== 
 +Shift all nodes up or down the parent.
  
-== Size Scalar == +**Note:** Use variance to jumble up the position of the nodes.
-Scales not only the size of the nodes themselves but also the size of their children.+
  
-== Sink == +==== Size scalar ==== 
-Adjusts the starting position of all nodes, allowing them to "sink" into (or be pushed away from) their parent. This property is commonly used to push trunks slightly below the ground plane for easier placement in scenes+Scale the size of the nodes and their children.
  
-== Pruning == +==== Sink ==== 
-This curve removes branches based on their position on their parent (left side corresponds to nodes near "First" and the right side corresponds to "Last").  Nodes are removed where the curve value is below 0.5 and kept otherwise+Adjust the start position of all nodes, making them sink into (or push away fromtheir parentThis property is commonly used to push trunks slightly below the ground plane for easier placement in scenes
  
-== Click place== +==== Pruning ==== 
-This property controls how the selected generator responds to [[ctclickplacex|click-place]] actions by the user in Freehand mode Choose from the following options:+Remove branches based on their position on their parent (left side corresponds to nodes near **First** and right side corresponds to **Last**)Nodes are removed where the curve value is below 0.5. 
  
-^Ready|This generator is ready to accept any click-place action. If more than one eligible generator is ready one will be selected by the system.| +==== Extend parent ====
-^None|This generator will not accept click-place actions.| +
-^Any|Any click-place action will be accepted by this generator, even if other generators will accept it as well.| +
-^Number|Only click-place actions with the corresponding ID will be accepted.  "Ready" generators will receive a number as soon as they accept a click-place action.| +
- +
-=== Extend parent ===+
 The properties in this group govern extensions. The properties in this group govern extensions.
  
-== Type == +=== Type ===
-This option forces an extra node (or nodes) to be generated at the end of the parent branch, regardless of how many were generated by the selected "Mode."  If a [[branch_generator|Branch]] generator extends another Branch there will be a seamless transition between the nodes.  This can be used successively to go from the trunk to the tip of a twig with no transitions.  [[cap_generator|Caps]] are always generated in this fashion.  Options include:+
  
-^None|No extension nodes will be generated.| +Generate extra nodes at the end of a parent branch, regardless of how many were generated by the selected generation mode. If a [[branch_generator|Branch]] generator extends another Branch, expect a seamless transition between nodesThis can be used successively to go from the trunk to the tip of a twig with no transitions[[cap_generator|Caps]] are always generated in this fashion.
-^Any|A node will be generated for each open end of the parent (branches can [[atsplits|split]] into two openings).+
-^Split 1|A node will be generated off the first split (or only open end) of the parent.| +
-^Split 2|A node will be generated off the second split (if it exists) of the parent.| +
-^Skinny|A node will be generated off the skinnier of the two splits on the parent.+
-^Fat|A node will be generated off the fatter of the two splits on the parent.| +
-^Breaks only|A node will be generated only if the parent is broken.| +
-^Bottom|A node will be generated that extends the bottom of the parent.|+
  
->**Note:** Multiple generators can extend a single parent. Use this with splits and the styles "Split 1," "Split 2," "Skinny," and "Fat" to distinguish and target each part of a split parent.+This property only works if the parent node is a Branch generator and the child node is one of the following: 
 +  Branch 
 +  Cap 
 +  Leaf mesh 
 +  Batched leaf
  
-== Count == +^**Property**^**Description**^ 
-Controls how many extensions can be on any given parent. This option is typcially set to one unless mutiple branches extending a parent branch is desired.+| **None** | No extension nodes are generated.| 
 +| **Any** | A node is generated for each open end of the parent (branches can [[atsplits|split]] into two openings).| 
 +| **Split 1** | A node is generated off the first split (or only open end) of the parent.| 
 +| **Split 2** | A node is generated off the second split (if it exists) of the parent.| 
 +| **Skinny** | A node is generated off the skinnier of the two splits on the parent.
 +| **Fat** | A node is generated off the fatter of the two splits on the parent.| 
 +| **Breaks only** | A node is generated only if the parent is broken.| 
 +| **Bottom** | A node is generated that extends the bottom of the parent.|
  
-=== Knockout === +**Note:** Multiple generators can extend a single parent. Use this with splits and the styles **Split 1**, **Split 2**, **Skinny**, and **Fat** to distinguish and target each part of a split parent.
-== Amount == +
-Removes nodes randomly after the "Mode" has created them but before they are computed. Use the parent curve to target this feature based on the model's structure.+
  
-== + Resolution == +=== Count === 
-Increase this curve to increase the amount of nodes removed by knockout based on the active [[kcvfxresolution|Resolution]].+Control how many extensions can be on any given parent. This option is typically set to one unless multiple branches extending a parent branch is desired.
  
-=== Force containers === +==== Click place==== 
-These are containers that control where in 3D space nodes can be generated. By typing the name of a [[geometry_forces|geometry force]] in the box, generated nodes will determine if they are inside the box and then act according to these options: +Control how the selected generator responds to [[ctclickplacex|click-place]] actions made by the user in Freehand mode.
  
-^Include|Nodes that fall inside the specified geometry force will be createdothers will not.| +^**Property**^**Description**^ 
-^Exclude|Nodes that fall inside the specified geometry force will not be created, others will.|+|**Ready**|This generator is ready to accept any click-place action. If more than one eligible generator is ready, one will be selected by the system.| 
 +|**None**|This generator will not accept click-place actions.| 
 +|**Any**|Any click-place action will be accepted by this generatoreven if other generators will accept it as well.| 
 +|**Number**|Only click-place actions with the corresponding ID will be accepted. **Ready** generators will receive a number as soon as they accept a click-place action.|
  
-=== Masks === +==== Knockout ==== 
-Assign [[toolmasksbar|mask assets]] here to limit the placement of generated nodes+=== Amount === 
 +Remove nodes randomly after the generation mode creates them but before they are computed. Use the parent curve to target this feature based on the model's structure.
  
 +=== + Resolution ===
 +Increase or decrease the amount of nodes removed by Knockout based on the active [[kcvfxresolution|Resolution]].
 +
 +==== Force containers ====
 +Force containers control where in 3D space nodes can be generated. By typing the name of a [[geometry_forces|geometry force]] in the box, generated nodes will determine if they are inside the box and then act accordingly.
 +
 +^**Property**^**Description**^
 +|**Include**|Nodes that fall inside the specified geometry force will be created, others will not.|
 +|**Exclude**|Nodes that fall inside the specified geometry force will not be created, others will.|
 +
 +==== Mesh alignment ====
 +Align the mesh with the chosen destination. This property only works for Leaf mesh and Batched leaf generators, as well any nodes created using click place. The parent node must be a mesh.
 +
 +^**Property**^**Description**^
 +| **None** | No mesh alignment. |
 +| **Tangent** | Align with the surface tangent of the parent mesh. |
 +| **Binormal** | Align with the surface binormal of the parent mesh. |
 +| **Parent X** | Align with the X axis of the parent orientation. |
 +| **Parent Y** | Align with the Y axis of the parent orientation. | 
 +| **Parent Z** | Align with the Z axis of the parent orientation. |
 +|**World X** | Align with the global X axis. |
 +| **World Y** | Align with the global Y axis. |
 +| **World Z** | Align with the global Z axis. |
 +
 +==== Masks ====
 +Assign [[toolmasksbar|mask assets]] here to limit the placement of generated nodes.