unreal.RigUnit_CCDIKItemArray

class unreal.RigUnit_CCDIKItemArray(execute_context: ControlRigExecuteContext = [], items: Array[RigElementKey] = [], 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: Array[RigUnit_CCDIK_RotationLimitPerItem] = [], 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] Base Rotation Limit: The general rotation limit to be applied to bones

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

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

  • items (Array[RigElementKey]): [Read-Write] Items: The chain to use

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

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

  • 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.

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

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

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

property base_rotation_limit: float

[Read-Only] Base Rotation Limit: The general rotation limit to be applied to bones

Type:

(float)

property effector_transform: Transform

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

Type:

(Transform)

property items: Array[RigElementKey]

[Read-Write] Items: The chain to use

Type:

(Array[RigElementKey])

property max_iterations: int

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

Type:

(int32)

property precision: float

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

Type:

(float)

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 rotation_limits: Array[RigUnit_CCDIK_RotationLimitPerItem]

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

Type:

(Array[RigUnit_CCDIK_RotationLimitPerItem])

property start_from_tail: bool

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

Type:

(bool)

property weight: float

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

Type:

(float)