Navigation
API > API/Plugins > API/Plugins/ControlRig
The Spring IK solver uses a verlet integrator to perform an IK solve. It support custom constraints including distance, length etc. Note: This node operates in world space!
| Name | FRigUnit_SpringIK |
| Type | struct |
| Header File | /Engine/Plugins/Animation/ControlRig/Source/ControlRig/Public/Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
| Include Path | #include "Units/Highlevel/Hierarchy/RigUnit_SpringIK.h" |
Syntax
USTRUCT (Meta=(DisplayName="Spring IK", Category="Hierarchy", Keywords="IK", NodeColor="0 1 1"))
struct FRigUnit_SpringIK : public FRigUnit_HighlevelBaseMutable
Inheritance Hierarchy
- FRigVMStruct → FRigUnit → FRigUnitMutable → FRigUnit_HighlevelBaseMutable → FRigUnit_SpringIK
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FRigUnit_SpringIK() |
Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bFlipPolePlane | bool | If set to true the pole plane will be flipped | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
| bLimitLocalPosition | bool | If set to true bones are placed within the original distance of the previous local transform. | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
| bLiveSimulation | bool | If set to true simulation will continue for all intermediate bones over time. | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
| bPropagateToChildren | bool | If set to true all of the global transforms of the children of this bone will be recalculated based on their local transforms. | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
| Damping | float | The higher the value to more quickly the simulation calms down. | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
| DebugSettings | FRigUnit_SpringIK_DebugSettings | The debug setting for the node | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
| EffectorRatio | float | Defines the equilibrium of the effector springs. | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
| EffectorStrength | float | Sets the coefficient of the springs towards the effector. Values between 1 and 2048 are common. | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
| EndBone | FName | The name of the second bone to solve | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
| HierarchyStrength | float | Sets the coefficient of the springs along the hierarchy. Values between 1 and 2048 are common. | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
| Iterations | int32 | Drives how precise the solver operates. | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
| PoleVector | FVector | The polevector to use for the IK solver This can be a location or direction. | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
| PoleVectorKind | EControlRigVectorKind | The kind of pole vector this is representing - can be a direction or a location | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
| PoleVectorSpace | FName | The space in which the pole vector is expressed | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
| PrimaryAxis | FVector | The major axis being aligned - along the bone | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
| RootRatio | float | Defines the equilibrium of the root springs. | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
| RootStrength | float | Sets the coefficient of the springs towards the root. Values between 1 and 2048 are common. | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
| SecondaryAxis | FVector | The minor axis being aligned - towards the pole vector | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
| StartBone | FName | The name of the first bone to solve | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
| WorkData | FRigUnit_SpringIK_WorkData | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
|
Functions
Public
Overridden from FRigUnit
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool UpdateDirectManipulationFromHierarchy
(
const URigVMUnitNode* InNode, |
Sets the values on this node based on a viewport pose | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h | |
virtual bool UpdateHierarchyForDirectManipulation
(
const URigVMUnitNode* InNode, |
Sets a control's pose to represent this viewport pose target | Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |
Overridden from FRigVMStruct
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void Execute() |
Units/Highlevel/Hierarchy/RigUnit_SpringIK.h |