int agentsolvefbik(<geometry>geometry, int outgeo, int prim, int targets[], matrix targetxforms[], int xformgroup, int iters)
int agentsolvefbik(<geometry>geometry, int outgeo, int prim, int targets[], matrix targetxforms[], int xformgroup, int iters, float tolerance, int pinroot, float targetweights[], int targetpriorities[], int targetdepths[], string goalxformattrib, string constrainedxformattrib, string jointlimitsattrib)
prim
が範囲外またはエージェントプリミティブでない場合、または、targetsとtargetxformsが同じ長さでない場合は、-1
を返します。
Agent Configure Joints SOPで生成されるような"agent_jointgoalxforms"、"agent_jointconstrainedxforms"、"agent_jointlimits"のアトリビュートがエージェント上に存在すれば、それらのアトリビュートは、計算中に使用するジョイント制限として解釈されます。
geometry
参照するジオメトリファイルの名前。Houdini内のSOPを参照するなら、op:full_path_to_sop
のように指定します。
outgeo
書き出し先のジオメトリのハンドル。geoself()
を使用することで、現行ジオメトリのハンドルを取得することができます。
prim
エージェントプリミティブのプリミティブ番号。
targets
エージェント内のエンドエフェクターのトランスフォームインデックスのリスト。
targetxforms
エンドエフェクターのターゲットトランスフォームのリスト。このリストの順番はtargets
と同じです。
xformgroup
トランスフォームグループのインデックス。ここには、IKソルバで使用するジョイントを指定します(トランスフォームグループに入っていないすべてのトランスフォームは無視されます)。 agentfindtransformgroupを使用すれば、名前でトランスフォームグループを検索することができます。 -1の値を指定すると、エージェント内のすべてのトランスフォームが含まれます。 エージェントのボーン構造に該当するトランスフォームのみを含んだトランスフォームグループを使用することを推奨します。
iters
実行する反復回数の最大数。
tolerance
パラメータを使用すれば、ソルバを早く終了させることができます。
tolerance
収束をチェックする時に使用する許容値。デフォルトは1e-5です。
位置がこの許容値内に収束すれば、アルゴリズムが停止します。
0にすると、ソルバは常にiters
の反復回数をそのまま実行します。
pinroot
ルートを移動させずに開始位置にピン留めするかどうか。 これは、例えば、エージェントのスケルトンのサブセットを計算する時に役立ちます。 デフォルトは0(オフ)です。
targetweights
各エンドエフェクターのウェイトを含んだリスト。このリストの順番はtargets
と同じです。
複数の子ジョイントを持ったジョイントに関しては、正規化されたウェイトが位置の決定に使用されます。
つまり、他のターゲットよりもウェイトの高いターゲットの方に到達するようになります。
デフォルトのウェイトは1.0です。
targetpriorities
各エンドエフェクターの優先度レベルを含んだリスト。このリストの順番はtargets
と同じです。
低い優先度レベルのターゲットほど、高い優先度レベルのターゲットへの影響が弱くなります。
例えば、優先度レベルを使用することで、足のターゲットを常に最優先させると同時に上半身のターゲットの相対ウェイトを制御することができます。
デフォルトの優先度は0です(つまり、すべてのターゲットの優先度は同じです)。
targetdepths
各エンドエフェクターに対して、ターゲットトランスフォームに到達できるように調整可能なチェーン内のターゲットよりも上流のジョイント数を指定します。 マイナスの値を使用することで、ターゲットより上流のすべてのジョイントが影響を受けるように指定することができます。 デフォルトの深度は-1です。
goalxformattrib
"agent_jointgoalxforms"の代わりに使用する別アトリビュートを指定するためのオプションパラメータ。
constraintedxformattrib
"agent_jointconstrainedxforms"の代わりに使用する別アトリビュートを指定するためのオプションパラメータ。
jointlimitsattrib
"agent_jointlimits"の代わりに使用する別アトリビュートを指定するためのオプションパラメータ。
See also | |
crowds |
|
solve | |
transform |
|