On this page | |
Since | 18.5 |
このノードは、(例えば、Full Body IK SOPを使って)フルボディインバースキネマティクスソルバが適用された場合とか(例えば、Ragdoll SOPを使って)RBDソルバが適用された場合などの色々なコンテキストでのターゲットスケルトンの挙動が指定された一連のジョイント構成を生成します。
また、このSOPは既存のジョイント構成に基づいて重心ジョイントを作成します。
ステート ¶
Configure Jointsビューポートステートで利用可能なハンドルは、インタラクティブに回転と移動の制限を設定したり、ジョイントの重心と質量を設定することができます。
モード別に利用可能なハンドルが異なります。モード別に利用可能なハンドルは以下のとおりです:
-
Ragdoll モード - 回転ハンドルのみ。
-
Rig Pose モード - 回転ハンドルと移動ハンドル。
-
Full Body IK モード - 回転ハンドル、移動ハンドル、重心ハンドル。
ビューポートステートのツールバーオプションを適切に有効にすれば、それらのハンドルをドラッグすると、選択したジョイントに対して自動的に Configuration マルチパラメータが作成され、操作しているハンドルの タイプ とその 挙動 に基づいてLimitsとLocal Center of Massのパラメータが設定されます。
Configure
ビューポートステートで表示されるハンドルのタイプを設定します: Center of Mass 用または Limits 用 。
Mass
有効にすると、選択されているジョイントとリンクのMassパラメータが、Massハンドルのマニピュレータの操作に基づいて自動的に調整されます。
Local Center of Mass
有効にすると、選択されているジョイントとリンクのLocal Center of Massパラメータが、Local Center of Massハンドルのマニピュレータの操作に基づいて自動的に調整されます。
Rotation Limits
有効にすると、選択されているジョイントのXYZ Angle Rangeパラメータが、Rotationハンドルのマニピュレータの操作に基づいて自動的に調整されます。
Translation limits
有効にすると、選択されているジョイントのXYZ Translation Rangeパラメータが、Translationハンドルのマニピュレータの操作に基づいて自動的に調整されます。
ホットキー |
アクション |
---|---|
ドラッグ |
デフォルトのインタラクティブな方法でハンドルを操作します。 |
⌃ Ctrl + drag |
ハンドルをドラッグすると、大きな増分値で空間内の位置にハンドルがスナップします。 ハンドルの動きに対して大雑把なレベルのコントロールができます。 Handle Parametersウィンドウ(ハンドルの ▸ Handle Parameters )から増分値を設定することができます:
|
⇧ Shift + ドラッグ |
ハンドルをドラッグすると、小さな増分値で空間内を遅く且つ滑らかにハンドルが移動します。 ハンドルの動きに対して細かいレベルのコントロールができます。 |
Alt + ドラッグ |
XYZハンドルのマニピュレータの全軸を同時に制御します。 ハンドルの動きに対して対称的なコントロールができます。 |
⇧ Shift + F |
ハンドルのツイスト軸(回転順で1番目の軸)を反転して、そのハンドルの値を同じに維持します。 これによって、肘や膝といった関節のジョイントの回転制限が設定しやすくなります。 |
Gを押したまま |
一時的に重心ハンドルシェイプの表示を無効にします。 |
Enable Local Center of Mass of Selected
選択されているジョイントとリンクのすべてのLocal Center of Massパラメータを有効にします。
Enable Rotation Limits of Selected
選択されているジョイントのすべてのXYZ Angle Range Limitsを有効にします。
Enable Translation Limits of Selected
選択されているジョイントのすべてのXYZ Translation Range Limitsを有効にします。
Disable Local Center of Mass of Selected
選択されているジョイントとリンクのすべてのLocal Center of Massパラメータを無効にします。
Disable Rotation Limits of Selected
選択されているジョイントのすべてのXYZ Angle Range Limitsを無効にします。
Disable Translation Limits of Selected
選択されているジョイントのすべてのXYZ Translation Range Limitsを無効にします。
Reset Local Center of Mass/Limits
選択されているジョイントとリンクの Local Center of Mass パラメータ値をデフォルト値にリセットします。
Focus Selected in Parameter Editor
有効にすると、選択されているジョイントの Configuration マルチパラメータとそのすべてのパラメータが常にパラメータエディタ内に表示されます。
Filter Selected in Parameter Editor
有効にすると、選択されているジョイントの Configuration マルチパラメータのみがパラメータエディタ内に表示されます。
ジョイント上のオレンジ色の正方形はそのジョイントに 回転制限 が定義されていることを示しています。 緑色の正方形はそのジョイントに 移動制限 が定義されていることを示しています。
回転ハンドル
X軸、Y軸、Z軸のマニピュレータを動かすと、それぞれX Angle Range、Y Angle Range、Z Angle Rangeのパラメータが調整されます。
移動ハンドル
X軸、Y軸、Z軸のマニピュレータを動かすと、それぞれX Translation、Y Translation、Z Translationのパラメータが調整されます。
重心ハンドル
ローカル重心マニピュレータを動かすと、ジョイントのLocal Center of Massパラメータが調整されます。 質量マニピュレータをスケールさせると、ジョイントのMassパラメータが調整されます。
Handle Parametersウィンドウを開くには、ハンドルをクリックして Handle Parameters を選択します。
回転ハンドルパラメータ
Angle Step
回転ハンドルのマニピュレータを⌃ Ctrl + ドラッグした時にそのマニピュレータが新しい位置にスナップする増分値(度)を設定します。 デフォルトでは、ハンドルマニピュレータが新しい位置に45度単位でスナップします。
Limit Display Type
回転ハンドルマニピュレータ間の角度(制限)範囲をビューポートステートに表示させる方法を決めます。
Circles
角度範囲が2Dの円で表示されます。
Sphere
角度範囲が3Dの球で表示されます。
Orient Circles by Rotation Order
有効にすると、回転ハンドルのXYZマニピュレータは、トップレベルにあるRotation Orderパラメータまたは(定義されていれば)ジョイントの Configuration マルチパラメータの Rotation Order に整列します。 これは、ビジュアライゼーションでジョイントの回転順が正しいかどうかをすぐに示してくれて便利です。
無効にすると、回転ハンドルのマニピュレータは、ジョイントに対して垂直になるように整列し、ツイスト軸のマニピュレータは、そのジョイントのリンクの親から子に向きます。 デフォルトでは Orient Circles by Rotation Order が有効になっています。
Orient Twist Circle to Current Rotation
有効にすると、回転ハンドルとツイスト軸(回転順で1番目の軸)の角度範囲を示す円/球は、ジョイントが回転した時にそのジョイントに追従するようになります。 これは、ジョイントを活発に回転させる時にツイスト軸の角度範囲を示す円/球をそのジョイントと一緒に動かしたい場合に役立ちます。 デフォルトでは Orient Twist Circle to Current Rotation は無効になっています。
Show Current Rotation
有効にすると、回転ハンドルの角度範囲を示す円/球に、そのジョイントのX,Y,Z軸の現在の方向を示したラインが追加されます。 これによって、ジョイントの角度範囲の開始位置がわかるので、設定すべき適切な回転制限を把握しやすくなります。 デフォルトでは Show Current Rotation は無効になっています。
移動ハンドルパラメータ
Translate Step
移動ハンドルを⌃ Ctrl + ドラッグした時にそのハンドルが新しい位置にスナップする増分値(Houdini単位)を設定します。 デフォルトでは、ハンドルが新しい位置に0.1単位でスナップします。
重心ハンドルパラメータ
Scale Step
重心ハンドルを⌃ Ctrl + ドラッグした時にそのハンドルが新しい位置にスナップする増分値(Houdini単位)を設定します。 デフォルトでは、ハンドルが新しい位置に0.1単位でスナップします。
パラメータ ¶
Mode
ターゲットスケルトンに対して定義したい構成。
Full Body IK
フルボディインバースキネマティクスソルバを実行できるようにターゲットスケルトンの構成を定義します。
Note
これは、 Physical Full Body IK ソルバを使用した場合の結果にのみ影響します。 FABRIK ソルバを使用した場合は何の効果もありません。
Ragdoll
Ragdoll Solver SOPで使用されるターゲットスケルトンの回転制限を定義します。
Rig Pose
Rig Pose SOP、Secondary Motion SOPまたはそれらのSOPを使用した他のセットアップで使用されるターゲットスケルトンの回転制限/移動制限を定義します。
Output Configuration Attribute
構成情報が格納される出力Pointアトリビュートの名前。
Rest Pose Attribute
有効にすると、ターゲットスケルトンのRestポーズを含んだmatrix4
Pointアトリビュートの名前に基づいてスケルトンがトランスフォームされます。
無効にすると、入力ポーズがRestポーズとして使用されます。
Rotation Order
ジョイントの Configurations マルチパラメータ内の各エントリーに設定されるデフォルトの回転順。 この回転順は、 Compute Limits for Joints from MotionClip が有効な時に Rotation Order が設定されていないすべてのジョイントの Configurations のMotionClip入力からオイラー角度を取り出す際に使用されます。
Add Point at Center of Mass
有効にすると、入力ジオメトリ上に、スケルトン全体から計算された重心の位置で新しいポイントを作成します。
Point Name
新しく作成される重心ポイントの名前。
Compute Center of Mass for Joints
有効にすると、エッジ長に基づいた経験則に従って、入力ジオメトリ上のすべてのポイントのローカル重心が初期化されます。
Compute Center of Mass for Joints From Input
有効にすると、2番目の入力から、入力ジオメトリ上のすべてのポイントのローカル重心が初期化されます。
Input Type
ローカル重心の計算をする(2番目の入力からの)ジオメトリのタイプを指定します。
Skin Geometry
Skinジオメトリ上のboneCapture
アトリビュートを使用して、入力ジオメトリ上のすべてのポイントの質量を計算します。
Collision Shapes
指定したCollision Shapeの体積を使用して、呼応するCollision Shapeを持つ入力ジオメトリ上のポイントの質量を計算します。 このCollision Shapeは、Ragdoll Collision Shapes SOPを使用して作成することができます。
Compute Center of Mass Position
有効にすると、呼応するCollision Shapeの重心から入力ジオメトリ上のポイントのローカル重心位置が初期化されます。
このパラメータは、 Input Type が Collision Shapes に設定されている場合に利用可能です。
Use Density Point Attribute to Compute Mass
有効にすると、呼応するCollision Shapeのdensity
Pointアトリビュートから入力ジオメトリ上のポイントの質量が初期化されます。
このオプションを無効にすると、density
のデフォルトが1.0になります。
このパラメータは、 Input Type が Collision Shapes に設定されている場合に利用可能です。
Normalize Mass
有効にすると、正規化された質量値が出力されます。
Compute Limits for Joints from MotionClip
有効にすると、MotionClipから、入力ジオメトリ上のすべてのポイントの回転制限と移動制限が計算されます。
Group
指定したポイントの制限のみが計算されます。
このパラメータは、 Compute Limits for Joints from MotionClip が有効な場合に利用可能です。
Clip Range
MotionClip のclipinfo
Detailアトリビュートからフレーム範囲を読み込むか、または、カスタム範囲を設定します。
このパラメータは、 Compute Limits for Joints from MotionClip が有効な場合に利用可能です。
Frame Range
制限が計算される MotionClip フレーム範囲。
このパラメータは、 Compute Limits for Joints from MotionClip が有効な場合に利用可能です。
Map Using
ポイント番号を使用して指定したMotionClipスケルトン内の呼応するポイントを照会するのか、または、アトリビュートでマッチさせるのかを選択します。 例えば、 Match By Attribute オプションは、MotionClipスケルトンにターゲットスケルトンのポイントのサブセットが含まれている場合に役立ちます。
Point Number
ポイント番号を使用して、ターゲットスケルトン上のポイントをMotionClipスケルトン上の呼応するポイントにマッチさせます。
Match By Attribute
指定したPointアトリビュートを使用して、ターゲットスケルトン上のポイントをMotionClipスケルトン上の呼応するポイントにマッチさせます。
例えば、 Attribute To Match をname
に設定すると、ターゲットスケルトン上のポイントは、それと同じ名前を持つMotionClipスケルトン上のポイントにマッチします。
このパラメータは、 Compute Limits for Joints from MotionClip が有効な場合に利用可能です。
Rotation Limits
有効にすると、回転制限がMotionClipから計算されます。
このパラメータは、 Compute Limits for Joints from MotionClip が有効な場合に利用可能です。
Translation Limits
有効にすると、移動制限がMotionClipから計算されます。
このパラメータは、 Compute Limits for Joints from MotionClip が有効な場合に利用可能です。
Rotation Limits Guide Color
ノードビューアステートで表示される、回転制限が設定されているポイントを視覚化するためのカラー。
Translation Limits Guide Color
ノードビューアステートで表示される、移動制限が設定されているポイントを視覚化するためのカラー。
Configurations
構成するジョイントグループの数。
Group
構成されるポイント
Rotation Order
有効にすると、回転順のキーが辞書アトリビュートに追加されます。 ジョイントのトランスフォームをオイラー角度に分解してから回転制限を適用した後にトランスフォームを再構築する際の回転順を指定します。 また、これは Compute Limits for Joints from MotionClip が有効な時にオイラー角度の回転制限を生成する順番も制御します。
Note
Ragdoll モードでは、この回転順はCone Twist Constraintで必要なtwist
(direction to the child)ジョイント軸とup
(direction to pole vector)ジョイント軸にも指定されます。
例えば、Rx Ry Rz
の回転順は、twist
軸をX
に、up
軸をY
に割り当てます。
Rotation Weights
有効にすると、回転ウェイトのキーが辞書アトリビュートに追加されます。 ジョイントの回転軸のウェイトを指定します。 相対的にウェイトが高いほど、その軸を基準とした回転で解が求まるようになります。 0のウェイトはその回転軸を無効にします。
Note
Full Body IK SOPを使用する場合、特定の軸が回転しないようにするには回転制限を0に設定するよりも、ウェイトを0に設定した方が効果的です。
Translation Weights
有効にすると、移動ウェイトのキーが辞書アトリビュートに追加されます。 ジョイントの移動軸のウェイトを指定します。 相対的にウェイトが高いほど、その軸に沿った移動で解が求まるようになります。 0のウェイトはその移動軸を無効にします。
Note
Full Body IK SOPを使用する場合、特定の軸が移動しないようにするには移動制限を0に設定するよりも、ウェイトを0に設定した方が効果的です。
Rest Rotation Weights
有効にすると、Rest回転ウェイトのキーが辞書アトリビュートに追加されます。
Rest Rotation Weights は、ソルバが回転軸に対してRestトランスフォームを合わせようとする強さを示したベクトルです。
Restトランスフォーム拘束が有効な場合では通常は0.1
の値が適していて、0
の値はRestトランスフォーム拘束を無効にします。
Note
これは、どのエンドエフェクターターゲットよりも優先度が低いです。 Restウェイトは、どれかのターゲットに到達するのを妨害するわけではなく、例えばターゲットがない場合に可能であればジョイントがRestポーズに近くなるように試みる難易度を決めます。
Rest Translation Weights
有効にすると、Rest移動ウェイトのキーが辞書アトリビュートに追加されます。
Rest Translation Weights は、ソルバが移動に対してRestトランスフォームを合わせようとする強さを示したベクトルです。
Restトランスフォーム拘束が有効な場合では通常は0.1
の値が適していて、0
の値はRestトランスフォーム拘束を無効にします。
Note
これは、どのエンドエフェクターターゲットよりも優先度が低いです。 Restウェイトは、どれかのターゲットに到達するのを妨害するわけではなく、例えばターゲットがない場合に可能であればジョイントがRestポーズに近くなるように試みる難易度を決めます。
Mass
ジョイントの質量。
Local Center of Mass
ジョイントの重心のローカル位置。
X Angle Range
ジョイントのX軸を基準とした回転制限。
Y Angle Range
ジョイントのY軸を基準とした回転制限。
Z Angle Range
ジョイントのZ軸を基準とした回転制限。
X Translation Range
ジョイントのX軸に沿った移動制限。
Y Translation Range
ジョイントのY軸に沿った移動制限。
Z Translation Range
ジョイントのZ軸に沿った移動制限。
アトリビュート ¶
Output Configuration Attribute 辞書Pointアトリビュートには、構成情報が格納されます。
有効なキーに関する詳細は、solvephysfbikやsolvefbikのjointoptions
パラメータを参照してください。
入力 ¶
Target Skeleton
構成が作成されるスケルトン。
Compute Center of Mass From
Compute Center of Mass for Joints From Input が有効な場合、ポイントの重心の計算で使用される Input Type ( Skin Geometry または Collision Shapes )を指定します。
MotionClip
Compute Limits for Joints from MotionClip が有効な場合、ジョイント制限の計算で使用されるMotionClipジオメトリを指定します。
出力 ¶
ターゲットスケルトン。
See also |