unreal.PBIKSolverSettings

class unreal.PBIKSolverSettings(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, start_solve_from_input_pose: bool = False)

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.

  • start_solve_from_input_pose (bool): [Read-Write] When true, the solver is reset each tick to start from the current input pose. Default is true. If false, incoming animated poses are ignored and the solver starts from the results of the previous solve. In very limited circumstances, it can be beneficial to use the pose from the previous frame.

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 start_solve_from_input_pose: bool

[Read-Write] When true, the solver is reset each tick to start from the current input pose. Default is true. If false, incoming animated poses are ignored and the solver starts from the results of the previous solve. In very limited circumstances, it can be beneficial to use the pose from the previous frame.

Type:

(bool)