User Tools

Site Tools


Differences

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

Link to this comparison view

force_object [2017/05/15 13:24]
force_object [2021/04/27 09:19] (current)
Line 1: Line 1:
 +======Force======
 +The properties on force objects control how [[kcforces|forces]] affect the model and the scene.
 +
 +>**Note:** Forces operate only on [[generators|Generators]] or [[kcnodes|Nodes]] where the force is enabled in the "Forces" property group.
 +
 +=====Force=====
 +The properties in this group set the basic functionality of force objects.
 +
 +==Enabled==
 +Use this property to toggle the force's influence on model computation.  Disabling a Mesh force will stop it from influencing the model but it will not take it out of the model if it is set to be included (see "Include in Model," below).
 +
 +==Type==
 +Sets the type of [[kcforces#Force Types|force]].
 +
 +==Strength==
 +This value controls how much the force influences the model.  This number is multiplied by the value of the force properties on each generator before being applied to the model.
 +
 +==Color==
 +Sets the color of the force indicator in the [[tooltree_window|Tree Window]].
 +
 +==Indicator Scale==
 +Sets the size of the icon used to represent the force in the [[tooltree_window|Tree Window]].  This property has no effect on the size of actual mesh forces.
 +
 +=====Mesh=====
 +These properties control the behavior of [[mesh_forces|mesh forces]].  Set the "Type" property above to "Mesh" to make a force act as a force mesh.
 +
 +==Include in Model==
 +Enable this property to have the mesh exported as part of the model.  With this property disabled, the mesh will be used to interact with the model but it will not be included in exports.
 +
 +==Mesh==
 +Specifies a named [[kcmeshes|mesh asset]].
 +
 +==Force action==
 +Specifies how the mesh surface should influence branch spines from the following options:
 +
 +^ Avoid | Spines are repelled by the closest spot on the surface of the mesh. |
 +^ Attract | Spines are pulled towards the closest spot on the surface of the mesh. |
 +^ None | No action is applied to the spines. |
 +
 +==Collide Action==
 +Specifies what happens when a branch spine collides with the mesh surface. You may choose from the following options:
 +
 +^ None | No action is taken (spines will go through the mesh). |
 +^ Obstruct | Spines are blocked by the surface of the mesh and “crawl” over it, attempting to grow in their original direction. |
 +^ Prune | Spines are broken when they collide with the mesh. |
 +^ Stop | Spines are considered fully grown where they hit the mesh.  They will be shorter than intended but all of the profile curves will cover the full length of the spine. |
 +
 +==Keep Action==
 +Specifies what happens to spines that are using this mesh from the following options:
 +
 +^ All | All nodes will be kept regardless of whether they collide with the mesh or not. |
 +^ Hits | Only nodes that collide with this mesh will be kept (if this force is enabled on the generator). All others will be destroyed. |
 +^ Misses | Only nodes that do not collide with this mesh force will be kept (if this force is enabled on the generator). All others will be destroyed. |
 +
 +==Obstruction Distance==
 +Sets the distance from the base of each spine node where obstruction by the Mesh force is prohibited. It is sometimes desirable to refrain from obstructing the very base of branches so that they are able to begin their growth without being immediately redirected by mesh forces. 
 +
 +==Max Iterations==
 +When a mesh collision is detected, this property determines how many attempts are made to continue on without going through the mesh.  More iterations mean a better chance of finding a route at the expense of slower computation times.
 +
 +==Max Angle==
 +Specifies the maximum amount a spine can bend to try to get around the mesh.
 +
 +==Give up Action==
 +Once all of the iterations have failed for a spine that has collided with the mesh, this property specifies what action to take from the following options:
 +
 +^ None | No action is taken, the spine goes through the mesh. |
 +^ Prune | Spines that cannot escape will be pruned at the collision point. |
 +^ Destroy | The spine will be removed. |
 +
 +==Ambient Occluder==
 +When the mesh is not being included in the model, check this property to allow the mesh to contribute to [[kclighting#ambient_occlusion|ambient occlusion]] computations.
 +
 +==Level of Detail==
 +Specifies which mesh LOD, if available, is used for the current LOD state.
 +
 +>**Note:** LOD meshes must be assigned to the [[kcmeshes|mesh assets]] for this property to work.
 +
 +====Material====
 +The properties in this group control the appearance of the force mesh.
 +
 +==Material==
 +Specifies a named material from the [[toolmeshesbar|Mesh Asset Bar]].
 +
 +==Color==
 +Specifies what color is used to render the mesh when no material has been assigned.
 +
 +===Lightmap===
 +Controls this mesh's influence on the lightmap in versions where lightmap UVs are computed.
 +
 +==Scale==
 +Use this value to take up more or less space in the lightmap.
 +
 +=====Attenuation=====
 +Causes the force's influence to taper off as the spine gets farther away from the location of the force.
 +
 +==Type==
 +Specifies the type of attenuation from the following options:
 +
 +^ None | The force has an equal effect on the entire model regardless of its location in the scene. |
 +^ Linear | The force falls off linearly over the distance specified below. |
 +^ Quadratic | The force falls off according to the square of the distance from the source. |
 +^ Hard | The force effect goes to zero outside the distance specified below. |
 +
 +==Distance==
 +This value sets distance around the force where attenuation is applied.
 +
 +==Falloff Distance==
 +Sets the distance from the edge of the attenuation towards the force location at which attenuation begins.
 +
 +==Indicator==
 +Selects when the attenuation indicator is displayed from the following options:
 +
 +^ Selected | Only display the indicator when the force is selected. |
 +^ Always | Always show the indicator. |
 +^ Never | Never display the attenuation indicator. |
 +
 +====Container Forces====
 +The properties in this group allow you to specify mesh forces to be used to designate the area of effect for this force.  Use these properties to designate regions where forces work based on mesh assets.
 +
 +==Include==
 +Type the name of a Mesh force in this property. That mesh will be used to indicate the only region where this force is applied.
 +
 +==Exclude==
 +Type the name of a Mesh force in this property. That mesh will be used to indicate the region where this force will not be applied.
 +
 +=====Animation=====
 +Forces can be animated over time and exported as part of a sequence for VFX applications.  Use the properties in this group to control the animation.
 +
 +>**Note:** Only the force's strength can be animated -- its position cannot be animated.
 +
 +==Start Frame==
 +Specifies the frame at which the animation starts.
 +
 +==Duration==
 +Sets how many frames the animation lasts.
 +
 +==Profile==
 +Controls the animation, as follows:  The left-hand side of the curve corresponds to the percentage of the force applied at the start frame.  The right-hand side corresponds to the percentage of the force applied at the end of the animation duration.
 +
 +====Growth====
 +When using animated growth, controls the strength of the force over the life cycle of the growth animation.
 +
 +==Lifetime %==
 +Controls the strength of the force over the duration of the growth animation.  The left-hand side of the curve corresponds to the percentage of the force applied at the start of the growth animation.  The right-hand side corresponds to the percentage of the force applied at the end of the growth animation.
 +
 +=====Transform=====
 +The properties in this group control the position and orientation of the force.  They are set automatically when you use the transform gizmo to move and orient the force.
 +
 +====Translation====
 +
 +==X, Y, Z==
 +Sets the position of the force object.
 +
 +==Reset translation==
 +Positions the force at the origin.
 +
 +====Rotation====
 +
 +==Axis X, Axis Y, Axis Z==
 +Specifies the vector around which the force is rotated.
 +
 +==Angle==
 +Specifies how much the force is rotated around the axis.
 +
 +==Reset rotation==
 +Resets the rotation back to the default settings.
 +
 +====Scale====
 +
 +==X, Y, Z==
 +Sets the scale of the force object on each axis.
 +
 +==Uniform==
 +When checked, the X, Y, and Z scales are set to the same value as to not distort the shape.
 +
 +==Reset Scaling==
 +Sets the scale values back to 1.0.