unreal.RigUnit_CCDIKPerItem

class unreal.RigUnit_CCDIKPerItem(execute_context: ControlRigExecuteContext = [], items: RigElementKeyCollection = Ellipsis, effector_transform: Transform = Ellipsis, precision: float = 0.0, weight: float = 0.0, max_iterations: int = 0, start_from_tail: bool = False, base_rotation_limit: float = 0.0, rotation_limits: None = [], propagate_to_children: bool = False)

Bases: RigUnit_HighlevelBaseMutable

The CCID solver can solve N-Bone chains using the Cyclic Coordinate Descent Inverse Kinematics algorithm. For now this node supports single effector chains only.

C++ Source:

  • Plugin: ControlRig

  • Module: ControlRig

  • File: RigUnit_CCDIK.h

Editor Properties: (see get_editor_property/set_editor_property)

  • base_rotation_limit (float): [Read-Only] The general rotation limit to be applied to bones

  • effector_transform (Transform): [Read-Write] The transform of the effector in global space

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

  • items (RigElementKeyCollection): [Read-Write] The chain to use

  • max_iterations (int32): [Read-Write] The maximum number of iterations. Values between 4 and 16 are common.

  • precision (float): [Read-Only] The precision to use for the fabrik solver

  • propagate_to_children (bool): [Read-Only] 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.

  • rotation_limits (Array[RigUnit_CCDIK_RotationLimitPerItem]): [Read-Only] Defines the limits of rotation per bone.

  • start_from_tail (bool): [Read-Only] If set to true the direction of the solvers is flipped.

  • weight (float): [Read-Write] The weight of the solver - how much the IK should be applied.

property base_rotation_limit: float

[Read-Only] The general rotation limit to be applied to bones

Type:

(float)

property effector_transform: Transform

[Read-Write] The transform of the effector in global space

Type:

(Transform)

property items: RigElementKeyCollection

[Read-Write] The chain to use

Type:

(RigElementKeyCollection)

property max_iterations: int

[Read-Write] The maximum number of iterations. Values between 4 and 16 are common.

Type:

(int32)

property precision: float

[Read-Only] The precision to use for the fabrik solver

Type:

(float)

property propagate_to_children: bool

[Read-Only] 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 rotation_limits: None

[Read-Only] Defines the limits of rotation per bone.

Type:

(Array[RigUnit_CCDIK_RotationLimitPerItem])

property start_from_tail: bool

[Read-Only] If set to true the direction of the solvers is flipped.

Type:

(bool)

property weight: float

[Read-Write] The weight of the solver - how much the IK should be applied.

Type:

(float)