unreal.PBIKSolverSettings

class unreal.PBIKSolverSettings(iterations: int = 0, sub_iterations: int = 0, mass_multiplier: float = 0.0, allow_stretch: bool = False, root_behavior: PBIKRootBehavior = Ellipsis, pre_pull_root_settings: RootPrePullSettings = Ellipsis, global_pull_chain_alpha: float = 0.0, max_angle: float = 0.0, over_relaxation: float = 0.0)

Bases: StructBase

PBIKSolver Settings

C++ Source:

  • Plugin: FullBodyIK

  • Module: PBIK

  • File: PBIKSolver.h

Editor Properties: (see get_editor_property/set_editor_property)

  • allow_stretch (bool): [Read-Write] If true, joints will translate to reach the effectors; causing bones to lengthen if necessary. Good for cartoon effects. Default is false.

  • global_pull_chain_alpha (float): [Read-Write] A global multiplier for all Pull Chain Alpha values on all effectors. Range is 0.0 to 1.0. Default is 1.0.

  • iterations (int32): [Read-Write] High iteration counts can help solve complex joint configurations with competing constraints, but will increase runtime cost. Default is 20.

  • mass_multiplier (float): [Read-Write] A global mass multiplier; higher values will make the joints more stiff, but require more iterations. Typical range is 0.0 to 10.0.

  • max_angle (float): [Read-Write] Maximum angle that a joint can be rotated per constraint iteration. Lower this value if the solve is diverging. Range is 0.0 to 180.0. Default is 30.

  • over_relaxation (float): [Read-Write] Pushes constraints beyond their normal amount to speed up convergence. Increasing this may speed up convergence, but at the cost of stability. Range is 1.0 - 2.0. Default is 1.3.

  • pre_pull_root_settings (RootPrePullSettings): [Read-Write] Settings only applicable when Root Behavior is set to “PrePull”. Use these values to adjust the gross movement and orientation of the entire skeleton.

  • root_behavior (PBIKRootBehavior): [Read-Write] (Default is PrePull) Set the behavior of the solver root. Pre Pull: translates and rotates the root (and all children) by the average motion of the stretched effectors to help achieve faster convergence when reaching far. Pin to Input: locks the translation and rotation of the root bone to the input pose. Overrides any bone settings applied to the root. Good for partial-body solves. Free: treats the root bone like any other and allows it to move freely or according to any bone settings applied to it.

  • sub_iterations (int32): [Read-Write] Iterations used for sub-chains defined by the Chain Depth of the effectors. These are solved BEFORE the main iteration pass. Default is 0.

property allow_stretch: bool

[Read-Write] If true, joints will translate to reach the effectors; causing bones to lengthen if necessary. Good for cartoon effects. Default is false.

Type:

(bool)

property global_pull_chain_alpha: float

[Read-Write] A global multiplier for all Pull Chain Alpha values on all effectors. Range is 0.0 to 1.0. Default is 1.0.

Type:

(float)

property iterations: int

[Read-Write] High iteration counts can help solve complex joint configurations with competing constraints, but will increase runtime cost. Default is 20.

Type:

(int32)

property mass_multiplier: float

[Read-Write] A global mass multiplier; higher values will make the joints more stiff, but require more iterations. Typical range is 0.0 to 10.0.

Type:

(float)

property max_angle: float

[Read-Write] Maximum angle that a joint can be rotated per constraint iteration. Lower this value if the solve is diverging. Range is 0.0 to 180.0. Default is 30.

Type:

(float)

property over_relaxation: float

[Read-Write] Pushes constraints beyond their normal amount to speed up convergence. Increasing this may speed up convergence, but at the cost of stability. Range is 1.0 - 2.0. Default is 1.3.

Type:

(float)

property pre_pull_root_settings: RootPrePullSettings

[Read-Write] Settings only applicable when Root Behavior is set to “PrePull”. Use these values to adjust the gross movement and orientation of the entire skeleton.

Type:

(RootPrePullSettings)

property root_behavior: PBIKRootBehavior

[Read-Write] (Default is PrePull) Set the behavior of the solver root. Pre Pull: translates and rotates the root (and all children) by the average motion of the stretched effectors to help achieve faster convergence when reaching far. Pin to Input: locks the translation and rotation of the root bone to the input pose. Overrides any bone settings applied to the root. Good for partial-body solves. Free: treats the root bone like any other and allows it to move freely or according to any bone settings applied to it.

Type:

(PBIKRootBehavior)

property sub_iterations: int

[Read-Write] Iterations used for sub-chains defined by the Chain Depth of the effectors. These are solved BEFORE the main iteration pass. Default is 0.

Type:

(int32)