unreal.RigUnit_CCDIK
¶
- class unreal.RigUnit_CCDIK(execute_context: ControlRigExecuteContext = [], start_bone: Name = 'None', effector_bone: Name = 'None', 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_RotationLimit] = [], 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 boneseffector_bone
(Name): [Read-Write] Effector Bone: The last bone in the chain to solve - the effectoreffector_transform
(Transform): [Read-Write] Effector Transform: The transform of the effector in global spaceexecute_context
(ControlRigExecuteContext): [Read-Write] Execute Context: * This property is used to chain multiple mutable units togethermax_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 solverpropagate_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_RotationLimit]): [Read-Only] Rotation Limits: Defines the limits of rotation per bone.start_bone
(Name): [Read-Write] Start Bone: The first bone in the chain to solvestart_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_bone: Name¶
[Read-Write] Effector Bone: The last bone in the chain to solve - the effector
- Type:
(Name)
- property effector_transform: Transform¶
[Read-Write] Effector Transform: The transform of the effector in global space
- Type:
- 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_RotationLimit]¶
[Read-Only] Rotation Limits: Defines the limits of rotation per bone.
- Type:
- property start_bone: Name¶
[Read-Write] Start Bone: The first bone in the chain to solve
- Type:
(Name)