Houdini 20.0 Pythonスクリプト hou hou.ik

hou.ik.solvePhysFBIK HOM function

オプションの重心コントロールを使って、フルボディのインバースキネマティクスアルゴリズムをスケルトンに適用します。

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

このソルバは、solvephysfbik VEX関数と等価です。

skeleton

解を求めるhou.ik.Skeleton。 ジョイントのトランスフォームは、その解で更新されます。

targets

特定のジョイントのゴールトランスフォームを示したhou.ik.Targetのリスト。 どれかのターゲットがジョイントに取り付けられていない場合、または、複数のターゲットが同じジョイントに取り付けられている場合は、hou.ValueErrorを引き起こします。

com_target

スケルトンの重心のゴール位置を指定したオプションのhou.ik.Target

iters

実行する反復回数の最大数。 toleranceパラメータを使用すれば、ソルバを早く終了させることができます。

damping

ソルバの減衰係数。 例えば、ターゲットに到達不可な時に値が大きいほどより安定した結果が得られます。 しかし、値が大きすぎると、収束に多くの反復が必要になります。 通常では約0.5が適切な初期値です。

tolerance

収束をチェックする時に使用する許容値。デフォルトは1e-5です。 位置がこの許容値内に収束すれば、アルゴリズムが停止します。 0にすると、ソルバは常にitersの反復回数をそのまま実行します。

hou.ik

  • hou.ik.Joint

    インバースキネマティクススケルトン内のジョイントを表現します。

  • hou.ik.Skeleton

    インバースキネマティクスソルバで使用するスケルトンを表現します。

  • hou.ik.Target

    インバースキネマティクスソルバの位置または向きのターゲットを表現します。

  • hou.ik.solveFBIK()

    フルボディのインバースキネマティクスアルゴリズムをスケルトンに適用します。

  • hou.ik.solvePhysFBIK()

    オプションの重心コントロールを使って、フルボディのインバースキネマティクスアルゴリズムをスケルトンに適用します。

  • hou.ik.targetType

    IKターゲットタイプの列挙型。