unreal.AnimNode_Fabrik

class unreal.AnimNode_Fabrik(component_pose=[], lod_threshold=-1, alpha_input_type=AnimAlphaInputType.FLOAT, alpha_bool_enabled=True, alpha=1.0, alpha_scale_bias=[1.0, 0.0], alpha_bool_blend=[0.0, 0.0, AlphaBlendOption.LINEAR, None], alpha_curve_name='None', alpha_scale_bias_clamp=[False, False, False, [0.0, 1.0], [0.0, 1.0], 1.0, 0.0, 0.0, 1.0, 10.0, 10.0], effector_transform=[[0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [1.0, 1.0, 1.0]])

Bases: unreal.AnimNode_SkeletalControlBase

Controller which implements the FABRIK IK approximation algorithm - see http://www.academia.edu/9165835/FABRIK_A_fast_iterative_solver_for_the_Inverse_Kinematics_problem for details

C++ Source:

  • Module: AnimGraphRuntime
  • File: AnimNode_Fabrik.h

Editor Properties: (see get_editor_property/set_editor_property)

  • alpha (float): [Read-Write] Current strength of the skeletal control
  • alpha_bool_blend (InputAlphaBoolBlend): [Read-Write] Alpha Bool Blend
  • alpha_bool_enabled (bool): [Read-Write] Alpha Bool Enabled
  • alpha_curve_name (Name): [Read-Write] Alpha Curve Name
  • alpha_input_type (AnimAlphaInputType): [Read-Write] Alpha Input Type
  • alpha_scale_bias (InputScaleBias): [Read-Write] Alpha Scale Bias
  • alpha_scale_bias_clamp (InputScaleBiasClamp): [Read-Write] Alpha Scale Bias Clamp
  • component_pose (ComponentSpacePoseLink): [Read-Write] Input link
  • effector_rotation_source (BoneRotationSource): [Read-Write] Effector Rotation Source
  • effector_target (BoneSocketTarget): [Read-Write] If EffectorTransformSpace is a bone, this is the bone to use. *
  • effector_transform (Transform): [Read-Write] Coordinates for target location of tip bone - if EffectorLocationSpace is bone, this is the offset from Target Bone to use as target location
  • effector_transform_space (BoneControlSpace): [Read-Write] Reference frame of Effector Transform.
  • enable_debug_draw (bool): [Read-Write] Toggle drawing of axes to debug joint rotation
  • lod_threshold (int32): [Read-Write] * Max LOD that this node is allowed to run * For example if you have LODThreadhold to be 2, it will run until LOD 2 (based on 0 index) * when the component LOD becomes 3, it will stop update/evaluate * currently transition would be issue and that has to be re-visited
  • max_iterations (int32): [Read-Write] Maximum number of iterations allowed, to control performance.
  • precision (float): [Read-Write] Tolerance for final tip location delta from EffectorLocation
  • root_bone (BoneReference): [Read-Write] Name of the root bone
  • tip_bone (BoneReference): [Read-Write] Name of tip bone
effector_transform

(Transform) – [Read-Write] Coordinates for target location of tip bone - if EffectorLocationSpace is bone, this is the offset from Target Bone to use as target location