Houdini 20.5 Python scripting hou hou.ik

hou.ik.solvePhysFBIK HOM function

Applies a full-body inverse kinematics algorithm to a skeleton, with optional control over the center of mass.

solvePhysFBIK(skeleton, targets, com_target=None, iters=30, damping=0.5, tolerance=1e-5)

This solver is equivalent to the solvephysfbik VEX function.

skeleton

The hou.ik.Skeleton to solve. The joints' transforms will be updated with the solution.

targets

A list of hou.ik.Target specifying the goal transforms for particular joints. Raises hou.ValueError if any of the targets are not attached to a joint, or if multiple targets are attached to the same joint.

com_target

An optional hou.ik.Target which specifies the goal position of the skeleton’s center of mass.

iters

The maximum number of iterations to perform. The solver may terminate early if the tolerance parameter is used.

damping

Damping factor for the solver. Larger values will produce more stable results when, for example, a target is unreachable. A value that is too large, however, will require more iterations to converge. Around 0.5 is typically a suitable initial value.

tolerance

The tolerance to use when checking for convergence, defaults to 1e-5. If positions converge to within this tolerance, the algorithm will stop. If 0, the solver will always perform exactly iters iterations.

hou.ik

  • hou.ik.Joint

    Represents a joint in an inverse kinematics skeleton.

  • hou.ik.Skeleton

    Represents a skeleton for use with inverse kinematics solvers.

  • hou.ik.Target

    Represents a position or orientation target for inverse kinematics solvers.

  • hou.ik.solveFBIK()

    Applies a full-body inverse kinematics algorithm to a skeleton.

  • hou.ik.solvePhysFBIK()

    Applies a full-body inverse kinematics algorithm to a skeleton, with optional control over the center of mass.

  • hou.ik.targetType

    Enumeration of IK target types.