====== Generation properties ====== 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. The Generation properties let you set a generation mode, edit the mode’s unique properties, and edit the properties that are shared across all modes. ===== 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. ==== Classic ==== [[genmode_classic|Classic]] mode exists solely to support legacy models and should be avoided on new models. ==== Proportional ==== [[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. ==== Proportional steps ==== [[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. ==== Absolute ==== [[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. Specifying exactly one trunk or switching over to this mode to periodically reduce node counts are common uses for this mode. ==== Absolute steps==== [[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. ==== Phyllotaxy ==== [[genmode_phyllotaxy|Phyllotaxy]] mode provides access to many common styles of leaf growth. ==== Interval ==== [[genmode_interval|Interval]] mode creates nodes at regular intervals along the parent and is suitable for use in a wide variety of modeling situations. ==== Bifurcation ==== [[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. ==== Flood ==== [[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===== The properties in this group apply to all generation modes. ==== 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. 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. ==== Pass ==== 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. === Last === Set the highest point on the parent where nodes occur. === Clip === Remove nodes that are pushed past the **First** and **Last** value range (usually by **Spread** or **Position** variance). ==== Rotation ==== Rotate all nodes around the parent spine as a group. **Note:** Use variance to jumble up the rotation of the nodes. ==== Position ==== Shift all nodes up or down the parent. **Note:** Use variance to jumble up the position of the nodes. ==== Size scalar ==== Scale the size of the nodes and their children. ==== Sink ==== Adjust the start position of all nodes, making them sink into (or push away from) their parent. This property is commonly used to push trunks slightly below the ground plane for easier placement in scenes. ==== Pruning ==== 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. ==== Extend parent ==== The properties in this group govern extensions. === Type === 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 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. 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 ^**Property**^**Description**^ | **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.| **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. === Count === 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. ==== Click place==== Control how the selected generator responds to [[ctclickplacex|click-place]] actions made by the user in Freehand mode. ^**Property**^**Description**^ |**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 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.| ==== Knockout ==== === 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.