ジョイントは、hou.ik.Skeleton.addJointを使用して作成することができます。
メソッド ¶
setWorldTransform(xform)
ジョイントのワールド空間トランスフォーム(hou.Matrix4)を設定します。
parent()
→ hou.ik.Joint
ジョイントの親ジョイントを返します。ルートジョイントならNone
が返されます。
setParent(joint)
このジョイントの親ジョイントを設定します。
このジョイントがルートジョイントならNone
を設定します。
rotationOrder()
→ str
ジョイントの回転順を返します。 hou.ik.Joint.setRotationOrderを参照してください。
setRotationOrder(rotate_order)
ジョイントの回転順を設定します。
rotate_order
座標軸を基準に回転を実行する際のその回転順を決めるx
, y
, z
の文字の組み合わせを含んだ文字列。
rotationWeights()
→ hou.Vector3
ジョイントの回転軸のウェイトを返します。 hou.ik.Joint.setRotationWeightsを参照してください。
setRotationWeights(weights)
各回転軸のウェイトを示したhou.Vector3を設定します。 相対ウェイトが大きいほど、その軸による回転を主体とした解が求まる傾向になります。 ゼロのウェイトは、その回転軸を無効にします。
translationWeights()
→ hou.Vector3
ジョイントの移動軸のウェイトを返します。 hou.ik.Joint.setTranslationWeightsを参照してください。
setTranslationWeights(weights)
各移動軸のウェイトを示したhou.Vector3を設定します。
相対ウェイトが大きいほど、その軸による移動を主体とした解が求まる傾向になります。
ゼロのウェイトは、その移動軸を無効にします。
ピン留めされていないルートジョイントをセットアップしたいのであれば、ルートの移動ウェイトをゼロ以外の値(例えば、hou.Vector3(1, 1, 1)
)にしてください。
hasRotationLimits()
→ bool
ジョイントに回転制限があるかどうかを返します。
rotationLimits()
→ (hou.Vector3, hou.Vector3)
Restトランスフォームを基準としたジョイントの回転の下限と上限を返します(単位はラジアン)。
hou.ik.Joint.hasRotationLimits()がFalse
なら、(None, None)
が返されます。
setRotationLimits(lower, upper)
ジョイントの回転の下限と上限を設定します(単位がラジアンのhou.Vector3)。
translationLimits()
→ (hou.Vector3, hou.Vector3)
Restトランスフォームを基準としたジョイントの移動制限の下限と上限を返します。
setTranslationLimits(lower, upper)
ジョイントの移動制限の下限と上限を設定します。
hasTranslationLimits()
→ bool
ジョイントに移動制限があるかどうかを返します。
restTransform()
→ hou.Matrix4
ジョイントのRestポーズを返します。Restポーズが設定されていなければNone
を返します。
setRestTransform(xform)
ジョイントのRestポーズを示したローカル空間のhou.Matrix4を設定します。 これを設定しなかった場合、単位行列が使用されます。
ソルバは、Rest回転ウェイトとRest移動ウェイトに基づいて、このローカルトランスフォームの維持を試みます。 これは、どのエンドエフェクターターゲットよりも優先度が低いです。
さらに、ジョイントはこのRestトランスフォームを基準に制限されます。
restRotationWeights()
→ hou.Vector3
ジョイントの回転軸のRestウェイトを返します。 hou.ik.Joint.setRestRotationWeightsを参照してください。
setRestRotationWeights(weights)
ソルバが回転軸をRestトランスフォームに合わせようとする強さを示したhou.Vector3を設定します。
この挙動を有効にした場合は、通常では0.1の値が最適値で、0の値はその拘束を無効にします。
デフォルト値は{0,0,0}
です。
restTranslationWeights()
→ hou.Vector3
ジョイントの移動軸のRestウェイトを返します。 hou.ik.Joint.setRestTranslationWeightsを参照してください。
setRestTranslationWeights(weights)
ソルバが移動軸をRestトランスフォームに合わせようとする強さを示したhou.Vector3を設定します。
この挙動を有効にした場合は、通常では0.1の値が最適値で、0の値はその拘束を無効にします。
デフォルト値は{0,0,0}
です。
mass()
→ float
このジョイントに取り付けられているボディの質量を返します。 hou.ik.Joint.setMassを参照してください。
setMass(mass)
このジョイントに取り付けられているボディの質量を設定します。 これは、hou.ik.solvePhysFBIK()など重心ターゲットに対応しているソルバでのみ使用されます。
localCenterOfMass()
→ hou.Vector3
このジョイントに取り付けられているボディのローカル空間位置を返します。 hou.ik.Joint.setLocalCenterOfMassを参照してください。
setLocalCenterOfMass(position)
このジョイントに取り付けられているボディのローカル空間位置を設定します。
hou.Vector3(0, 0, 0)
の位置は、ジョイントのワールド空間位置における重心に位置します。
これは、hou.ik.solvePhysFBIK()など重心ターゲットに対応しているソルバでのみ使用されます。
See also |