unreal.RigUnit_SpringIK

class unreal.RigUnit_SpringIK(execute_context: ControlRigExecuteContext = [], start_bone: Name = 'None', end_bone: Name = 'None', hierarchy_strength: float = 0.0, effector_strength: float = 0.0, effector_ratio: float = 0.0, root_strength: float = 0.0, root_ratio: float = 0.0, damping: float = 0.0, pole_vector: Vector = Ellipsis, flip_pole_plane: bool = False, pole_vector_kind: ControlRigVectorKind = Ellipsis, pole_vector_space: Name = 'None', primary_axis: Vector = Ellipsis, secondary_axis: Vector = Ellipsis, live_simulation: bool = False, iterations: int = 0, limit_local_position: bool = False, propagate_to_children: bool = False, debug_settings: RigUnit_SpringIK_DebugSettings = Ellipsis)

Bases: RigUnit_HighlevelBaseMutable

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!

C++ Source:

  • Plugin: ControlRig

  • Module: ControlRig

  • File: RigUnit_SpringIK.h

Editor Properties: (see get_editor_property/set_editor_property)

  • damping (float): [Read-Only] Damping: The higher the value to more quickly the simulation calms down. Values between 0.0001 and 0.75 are common.

  • debug_settings (RigUnit_SpringIK_DebugSettings): [Read-Write] Debug Settings: The debug setting for the node

  • effector_ratio (float): [Read-Only] Effector Ratio: Defines the equilibrium of the effector springs. This value ranges from 0.0 (zero distance) to 1.0 (distance in initial pose)

  • effector_strength (float): [Read-Only] Effector Strength: Sets the coefficient of the springs towards the effector. Values between 1 and 2048 are common.

  • end_bone (Name): [Read-Write] End Bone: The name of the second bone to solve

  • execute_context (ControlRigExecuteContext): [Read-Write] Execute Context: * This property is used to chain multiple mutable units together

  • flip_pole_plane (bool): [Read-Write] Flip Pole Plane: If set to true the pole plane will be flipped

  • hierarchy_strength (float): [Read-Only] Hierarchy Strength: Sets the coefficient of the springs along the hierarchy. Values between 1 and 2048 are common.

  • iterations (int32): [Read-Only] Iterations: Drives how precise the solver operates. Values between 4 and 24 are common. This is only used if the simulation is not live (bLiveSimulation setting).

  • limit_local_position (bool): [Read-Write] Limit Local Position: If set to true bones are placed within the original distance of the previous local transform. This can be used to avoid stretch.

  • live_simulation (bool): [Read-Write] Live Simulation: If set to true simulation will continue for all intermediate bones over time.

  • pole_vector (Vector): [Read-Write] Pole Vector: The polevector to use for the IK solver This can be a location or direction.

  • pole_vector_kind (ControlRigVectorKind): [Read-Write] Pole Vector Kind: The kind of pole vector this is representing - can be a direction or a location

  • pole_vector_space (Name): [Read-Write] Pole Vector Space: The space in which the pole vector is expressed

  • primary_axis (Vector): [Read-Write] Primary Axis: The major axis being aligned - along the bone

  • propagate_to_children (bool): [Read-Only] Propagate to Children: If set to true all of the global transforms of the children of this bone will be recalculated based on their local transforms. Note: This is computationally more expensive than turning it off.

  • root_ratio (float): [Read-Only] Root Ratio: Defines the equilibrium of the root springs. This value ranges from 0.0 (zero distance) to 1.0 (distance in initial pose)

  • root_strength (float): [Read-Only] Root Strength: Sets the coefficient of the springs towards the root. Values between 1 and 2048 are common.

  • secondary_axis (Vector): [Read-Write] Secondary Axis: The minor axis being aligned - towards the pole vector

  • start_bone (Name): [Read-Write] Start Bone: The name of the first bone to solve

property damping: float

[Read-Only] Damping: The higher the value to more quickly the simulation calms down. Values between 0.0001 and 0.75 are common.

Type:

(float)

property debug_settings: RigUnit_SpringIK_DebugSettings

[Read-Write] Debug Settings: The debug setting for the node

Type:

(RigUnit_SpringIK_DebugSettings)

property effector_ratio: float

[Read-Only] Effector Ratio: Defines the equilibrium of the effector springs. This value ranges from 0.0 (zero distance) to 1.0 (distance in initial pose)

Type:

(float)

property effector_strength: float

[Read-Only] Effector Strength: Sets the coefficient of the springs towards the effector. Values between 1 and 2048 are common.

Type:

(float)

property end_bone: Name

[Read-Write] End Bone: The name of the second bone to solve

Type:

(Name)

property flip_pole_plane: bool

[Read-Write] Flip Pole Plane: If set to true the pole plane will be flipped

Type:

(bool)

property hierarchy_strength: float

[Read-Only] Hierarchy Strength: Sets the coefficient of the springs along the hierarchy. Values between 1 and 2048 are common.

Type:

(float)

property iterations: int

[Read-Only] Iterations: Drives how precise the solver operates. Values between 4 and 24 are common. This is only used if the simulation is not live (bLiveSimulation setting).

Type:

(int32)

property limit_local_position: bool

[Read-Write] Limit Local Position: If set to true bones are placed within the original distance of the previous local transform. This can be used to avoid stretch.

Type:

(bool)

property live_simulation: bool

[Read-Write] Live Simulation: If set to true simulation will continue for all intermediate bones over time.

Type:

(bool)

property pole_vector: Vector

[Read-Write] Pole Vector: The polevector to use for the IK solver This can be a location or direction.

Type:

(Vector)

property pole_vector_kind: ControlRigVectorKind

[Read-Write] Pole Vector Kind: The kind of pole vector this is representing - can be a direction or a location

Type:

(ControlRigVectorKind)

property pole_vector_space: Name

[Read-Write] Pole Vector Space: The space in which the pole vector is expressed

Type:

(Name)

property primary_axis: Vector

[Read-Write] Primary Axis: The major axis being aligned - along the bone

Type:

(Vector)

property propagate_to_children: bool

[Read-Only] Propagate to Children: If set to true all of the global transforms of the children of this bone will be recalculated based on their local transforms. Note: This is computationally more expensive than turning it off.

Type:

(bool)

property root_ratio: float

[Read-Only] Root Ratio: Defines the equilibrium of the root springs. This value ranges from 0.0 (zero distance) to 1.0 (distance in initial pose)

Type:

(float)

property root_strength: float

[Read-Only] Root Strength: Sets the coefficient of the springs towards the root. Values between 1 and 2048 are common.

Type:

(float)

property secondary_axis: Vector

[Read-Write] Secondary Axis: The minor axis being aligned - towards the pole vector

Type:

(Vector)

property start_bone: Name

[Read-Write] Start Bone: The name of the first bone to solve

Type:

(Name)