User Tools

Site Tools


Differences

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

Link to this comparison view

frond_generator [2017/09/07 15:06]
frond_generator [2021/04/27 09:19] (current)
Line 1: Line 1:
 +====== Frond Generator ======
 +{{:frond.jpg?100 |}}The Frond Generator creates a mesh that lays along a branch spine. The following sections detail each of the Frond Generator's properties.
 +
 +>**Note:** Fronds must be placed on a branch generator to create a mesh.  If you don't want to see the branch, set its "Skin:Style" property to "Spine only".
 +
 +===== Generation =====
 +The generation properties are described in full detail under [[generation_properties|Generation Properties]].
 +
 +===== Random Seeds =====
 +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. 
 +
 +== Randomize All ==
 +Randomizes the value for all seeds used to compute this generator.  
 +
 +===== Materials =====
 +The properties in this group control the material assignments and mesh resolution.
 +
 +==== Frond ====
 +Applies a [[kcmaterialspbr|material]] to the frond mesh in this generator. Use the button controls to add [+] or remove [-] materials per geometry type.
 +
 +>**Note:** Fronds will use the mesh assigned to the material if it exists.  If the material does not have an assigned mesh, a simple ribbon will be generated.
 +
 +== Material ==
 +Specify a named material from the [[kcmaterialsassetsbar|Materials Asset bar]], or use a material set from the [[toolmaterial_sets|Material Sets Bar]].   Materials are chosen based on their weights and [[kcseasons|season]] settings.
 +
 +== Weight ==
 +Sets the probability that a node will receive this material index (this weight ÷ the sum of all weights).
 +
 +==Flip==
 +When enabled, randomly selected frond nodes are flipped over the Y-axis.
 +
 +==Two-Sided==
 +When enabled, the frond mesh geometry is duplicated for the reverse side. If you are looking to reverse the material and not the geometry, check the two-sided box in the material assets bar instead. 
 +
 +>**Note:** Keep in mind that on a two-sided mesh, the frond will have overlapping geometry if wind is enabled.
 +
 +====Mesh====
 +
 +== Index ==
 +When set to a value other than 0, the mesh currently assigned will go up or down in mesh resolution ("High," "Medium," or "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 LOD" and "Mesh LOD Offset" both require meshes assigned in at least two of the three [[kcmeshes|mesh asset]] LOD slots.
 +
 +== Resolution ==
 +This curve sets which mesh version ("High," "Medium" or "Low" detail on the mesh asset) is used based on the active resolution. 
 +
 +=====Shape=====
 +The properties in this group control how the mesh is manipulated when computing the frond.
 +
 +== Unification ==
 +This property lets you maximize the number of outward facing frond meshes. Parent spine rotations can often cause the frond mesh to face inward. With unification enabled, the initial orientation of frond meshes will be adjusted so that they face out relative to the selected anchor position.  Choose from the following anchor positions:
 +
 +^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.|
 +^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.|
 +^None|No anchor point is computed, and no unification is done.|
 +
 +== Gravity ==
 +Pulls the edges of both sides of the Frond Mesh toward the ground. A negative value will pull the edges of the frond up towards the sky.
 +
 +==Fold==
 +Folds each side of the frond toward each other (Much like folding a piece of paper).
 +
 +==Curl==
 +Curls both of the outside mesh edges in towards the spine.
 +
 +==Roll==
 +Rotates the mesh around the parent spine.
 +
 +====Boundary====
 +The properties in this group control where the frond starts and stops on its parent.
 +
 +==Start==
 +Controls where the frond begins on the spine (0.0 corresponds to the beginning; 1.0 corresponds to the end).
 +
 +==End==
 +Controls where the frond ends on the spine (0.0 corresponds to the beginning; 1.0 corresponds to the end).
 +
 +====Left-Right Variance====
 +The properties in this group control how much the left and right sides of the frond differ in their deformation.
 +
 +==Amount==
 +Adding this variance amount causes the two sides of a mesh to react independently to the amount of "Curl," "Fold," and "Gravity".  
 +
 +==Seed==
 +Vary this value to change how the variance is computed. 
 +
 +====Scale====
 +The properties in this group scale the width and height of the mesh.  The length is always controlled by the parent spine.
 +
 +==Width==
 +Scales the width of the mesh.  This scale corresponds to the X-axis of the mesh asset. 
 +
 +==Height==
 +Scales the height of the mesh.  This scale corresponds to the Z-axis of the mesh asset.
 +
 +===== Lighting =====
 +The properties in this group modify the vertex normals to change the lighting behavior of the frond.
 +
 +==Alignment==
 +This value causes the vertex normals to point in the direction of the parent spine's growth.
 +
 +==Spread==
 +This value causes the vertex normals to point away from the parent spine.
 +
 +=====Segments=====
 +The properties in this group control polygonal resolution when no mesh is assigned to the frond material.
 +
 +==Accuracy==
 +Sets the number of segments in each rib of the frond infrastructure.  Rib spines are computed for each side of the frond at each length segment of the parent spine.  The final frond mesh is mapped to these ribs.
 +
 +>**Note:** Changing accuracy may drastically affect the shape of your spines. Set this value to the maximum desired fidelity early to avoid design losses. Higher values result in slower compute times.
 +
 +====Width====
 +The properties in this group combine to set the number of width segments.  Length segments are controlled by the parent spine.
 +
 +==Absolute==
 +The minimum number of segments across the frond.
 +
 +==+ Relative==
 +Segments are added to the "Absolute" value based on the length of the parent to arrive at the total number of segments across the frond.
 +
 +>**Note:** You must have vertices running up the center of your frond to avoid deformation artifacts (e.g., the frond separating from the spine).  For fronds that don't use a mesh, favor even numbers of segments where possible.
 +
 +===== Season =====
 +The properties in this group provide the mechanism by which assigned materials can change with the [[kcseasons|Seasons]] slider.
 +
 +== Start Offset ==
 +Determines when the branch will start to transition. The default value of 0.0 means it will start immediately (higher values delay the start, lower values make it start sooner).
 +
 +== Time Scale ==
 +Controls how long it will take to complete its transition. The default value of 1.0 means one year. 
 +
 +===== Collision =====
 +The properties in this group influence how fronds in this generator interact with the [[toolcollision|collision]] system.
 +
 +== Style ==
 +Use this property to set how the fronds behave during collision computations from the following options:
 +
 +^Everything | Fronds in this generator collide with each other and all other leaves.|
 +^Ignore Siblings | Fronds in this generator ignore siblings but collide with everything else.|
 +^Knock out Others Only | Fronds in this generator cannot be removed, but they can eliminate leaves in other generators.|
 +^Nothing |These fronds do not participate in collision computations.|
 +
 +== Weight ==
 +When fronds collide, the one with the higher weight wins.  Use this property to set the weight.
 +
 +== Pivot Threshold ==
 +Sets how far away from the pivot (as a percentage of size) a collision has to happen in order to count.  Use this property to eliminate unwanted removals of fronds anchored near each other.
 +
 +===== Wind =====
 +The properties in this group influence how fronds are animated in wind simulations.
 +
 +==Amount==
 +Scales how much the frond 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 start of the frond.  The right-hand side corresponds to the end.
 +
 +==Cross==
 +Influences the amount of motion as the frond grows from the parent spine to the edge.
 +
 +
 +===== 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.
 +
 +== Speed Scale ==
 +The speed at which a frond 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 fronds' total growth time. For example, ease in and out of the growth animation by using an "S-curve."
 +
 +==== Transitions====
 +== Gravity ==
 +Adds additional gravity to the frond at the start of the growth.  The profile curve sets how much of the additional gravity is added during the growth cycle of the frond.
 +
 +== Curl ==
 +Adds additional curl to the frond at the start of the growth.  The profile curve sets how much of the additional curl is added during the growth cycle of the frond.
 +
 +== Fold ==
 +Adds additional fold to the frond at the start of the growth.  The profile curve sets how much of the additional fold is added during the growth cycle of the frond.
 +
 +== Roll ==
 +Adds additional roll to the frond at the start of the growth.  The profile curve sets how much of the additional roll is added during the growth cycle of the frond.
 +
 +=====Dynamic LOD=====
 +The properties in this group control the [[kclod|LOD]] behavior of the fronds.
 +
 +==Weight==
 +Increases or decreases the likelihood that fronds in this generator will survive the LOD process (vs. fronds in other generators).  Use the parent curve to target specific areas of the model.
 +
 +==Mesh==
 +Controls which [[kcmeshes#Mesh LOD|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 =====
 +The properties in this group control how vertex colors are computed.
 +
 +>**Note:** "Vertex colors" must be enabled on the [[tree_generator#Compute Flags|Tree]] generator for these properties to work.
 +
 +====Red====
 +The properties in this group control how the red component of the color is computed.
 +
 +==Style==
 +This property controls how the red portion of the color is computed from the following options:
 +
 +^Set | Sets the color directly using the "Value" property (parent colors are ignored). |
 +^Offset from parent | The "Value" property is added to the vertex color inherited from the parent. |
 +
 +==Value==
 +This property adds to, subtracts from, or directly sets this color component.
 +
 +====Green====
 +The properties in this group control how the red component of the color is computed.
 +
 +==Style==
 +This property controls how the red portion of the color is computed from the following options:
 +
 +^Set | Sets the color directly using the "Value" property (parent colors are ignored). |
 +^Offset from parent | The "Value" property is added to the vertex color inherited from the parent. |
 +
 +==Value==
 +This property adds to, subtracts from, or directly sets this color component.
 +
 +====Blue====
 +The properties in this group control how the red component of the color is computed.
 +
 +==Style==
 +This property controls how the red portion of the color is computed from the following options:
 +
 +^Set | Sets the color directly using the "Value" property (parent colors are ignored). |
 +^Offset from parent | The "Value" property is added to the vertex color inherited from the parent. |
 +
 +==Value==
 +This property adds to, subtracts from, or directly sets this color component.
 +
 +====Mesh Asset====
 +The properties in this group control how vertex colors stored in the [[kcmeshes|mesh asset]] are combined with the computed vertex colors.
 +
 +==Style==
 +This property controls how mesh asset vertex colors are used from the following options:
 +
 +^Interpolate | The "Contribution" value is used to blend from the computed to color (0.0) to the color stored in the asset (1.0). |
 +^Add | The "Contribution" value is used to scale the mesh asset vertex color and the result is added to the computed vertex color. |
 +
 +==Contribution==
 +This value sets how much influence the mesh asset vertex color has on the final vertex color.
 +
 +===== Lightmap =====
 +Lightmap UVs are computed for several versions of the Modeler designed for use with game engines.  Lightmap UVs are a UV set where no objects overlap and all of them fit in a single space where U and V fit in the range [0.0, 1.0].
 +
 +== Weight ==
 +Influences how much space in the lightmap fronds made by this generator can have.  
 +
 +Every object's lightmap weight is compared to every other object and then the lightmap packing is determined.  This means 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.
 +