Navigation
API > API/Plugins > API/Plugins/ControlRig > API/Plugins/ControlRig/Units > API/Plugins/ControlRig/Units/Highlevel > API/Plugins/ControlRig/Units/Highlevel/Hierarchy
Inheritance Hierarchy
- FRigVMStruct
- FRigUnit
- FRigUnitMutable
- FRigUnit_HighlevelBaseMutable
- FRigUnit_TwoBoneIKSimplePerItem
References
| Module | ControlRig |
| Header | /Engine/Plugins/Animation/ControlRig/Source/ControlRig/Public/Units/Highlevel/Hierarchy/RigUnit_TwoBoneIKSimple.h |
| Include | #include "Units/Highlevel/Hierarchy/RigUnit_TwoBoneIKSimple.h" |
Syntax
USTRUCT (
Meta=(DisplayName="Basic IK", Category="Hierarchy", Keywords="TwoBone,IK", NodeColor="0 1 1"))
struct FRigUnit_TwoBoneIKSimplePerItem : public FRigUnit_HighlevelBaseMutable
Remarks
Solves the two bone IK given two bones. Note: This node operates in world space!
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bEnableStretch | If set to true the stretch feature of the solver will be enabled | |
| bool | bPropagateToChildren | If set to true all of the global transforms of the children of this bone will be recalculated based on their local transforms. | |
| FCachedRigElement | CachedEffectorItemIndex | ||
| FCachedRigElement | CachedItemAIndex | ||
| FCachedRigElement | CachedItemBIndex | ||
| FCachedRigElement | CachedPoleVectorSpaceIndex | ||
| FRigUnit_TwoBoneIKSimple_DebugSettings | DebugSettings | The settings for debug drawing | |
| FTransform | Effector | The transform of the effector | |
| FRigElementKey | EffectorItem | The name of the effector item (if exists) | |
| FRigElementKey | ItemA | The name of first item | |
| float | ItemALength | The length of the first item. If set to 0.0 it will be determined by the hierarchy | |
| FRigElementKey | ItemB | The name of second item | |
| float | ItemBLength | The length of the second item. If set to 0.0 it will be determined by the hierarchy | |
| FVector | PoleVector | The polevector to use for the IK solver This can be a location or direction. | |
| EControlRigVectorKind | PoleVectorKind | The kind of pole vector this is representing - can be a direction or a location | |
| FRigElementKey | PoleVectorSpace | The space in which the pole vector is expressed | |
| FVector | PrimaryAxis | The major axis being aligned - along the item | |
| FVector | SecondaryAxis | The minor axis being aligned - towards the polevector | |
| float | SecondaryAxisWeight | Determines how much the secondary axis roll is being applied | |
| float | StretchMaximumRatio | The maximum allowed stretch ratio | |
| float | StretchStartRatio | The ratio where the stretch starts | |
| float | Weight | The weight of the solver - how much the IK should be applied. |
Constructors
| Type | Name | Description | |
|---|---|---|---|
Overridden from FRigUnit
| Type | Name | Description | |
|---|---|---|---|
| bool | UpdateDirectManipulationFromHierarchy
(
const URigVMUnitNode* InNode, |
Sets the values on this node based on a viewport pose | |
| bool | UpdateHierarchyForDirectManipulation
(
const URigVMUnitNode* InNode, |
Sets a control's pose to represent this viewport pose target |
Overridden from FRigVMStruct
| Type | Name | Description | |
|---|---|---|---|
| void | Execute () |
Execute logic for this struct |