On this page | |
Since | 19.0 |
このノードは、ターゲットスケルトンに対してラグドールRBDシミュレーションを実行します。 また、このノードはラグドールの計算の実行を簡素化したDOPネットワークのラッパーでもあります。
-
1番目の入力には、計算したいKineFXスケルトンを接続します。
-
2番目の入力には、例えば
Ragdoll Constraints SOPでセットアップされた拘束ジオメトリを接続します。
-
3番目の入力には、例えば
Ragdoll Collisions Shapes SOPでセットアップされたコリジョンシェイプを接続します。
-
4番目の入力には、コリダーとして作用させたいジオメトリをオプションで接続します。この入力の形式は、有効なパックジオメトリ、または、ジオメトリ自体に拘束セットが含まれているならば
RBD Pack SOPノードなどでセットアップされたRBDパックジオメトリでなければなりません。
このノードの中に入って、DOPノードを追加したり、カスタムフォースを適用することができます。
パラメータ ¶
Reset Simulation
全体のシミュレーションキャッシュをクリアします。
DOP Networkを参照してください。
Start Frame
シミュレーションがクックを開始するフレームを指定します。
DOP Networkを参照してください。
Solver ¶
Time Scale
ソルバで使用されるタイムステップのスケール値(乗数)を指定します。 これを使用することで、バレットタイムのような効果を出すことができて、Bullet Solverの物理計算がHoudiniプレイバーとは異なるレートで実行することができます。 値を2にすると、オブジェクトが2倍高速で落下し、0.1にすると10分の1の速度に低下します。 このパラメータはアニメーション可能です。
Number of Substeps
シミュレーションステップ毎のサブステップ数を指定します。 これは、Bulletで内部的に使用されます。 この数を上げると、シミュレーションの精度が上がります。
Tip
サブステップ数を上げる事が、高速移動するオブジェクトのコリジョンが検知されない問題を解決する1つの方法になります。
Constraint Iterations
ソルバで使用される拘束の反復回数を指定します。 反復回数が多いほど、拘束と衝突を制御する精度が良くなります。
Enable Gravity
有効にすると、重力がスケルトンに加わります。
Gravity
指定した軸方向でスケルトンに加える重力の強さを指定します。
このパラメータは、 Enable Gravity が 有効 になっている場合にのみ利用可能です。
Enable Bullet World Scale
有効にすると、拘束の自然長がスケールされます。
Bullet World Scale
スケール値(乗数)を指定します。
Ground Plane ¶
Add Ground Plane
None
地面を無効にします。
Ground Plane
シミュレーションに地面を追加します。
Position
地面の中心位置を指定します。
Rotation
地面の回転角度を指定します。
Height Field
シミュレーションにHeight Field静的オブジェクトを追加します。
Height Field
Height FieldジオメトリのSOPパスを指定します。
Use Deforming Geometry
有効にすると、タイムステップ毎に選択したSOPからオブジェクトのジオメトリが取り込まれます。
Bounce
オブジェクトの弾力性を指定します。 Bounceが1.0の2個のオブジェクトが衝突すると、エネルギーを消失することなくそれらのオブジェクトが跳ね返ります。 Bounceが0.0の2個のオブジェクトが衝突すると、それらのオブジェクトは停止するようになります。
Friction
オブジェクトの摩擦係数を指定します。 0の値は、オブジェクトに摩擦がないことを意味します。
これは、衝突と静止接触によって影響を受ける接線Velocityの速さを制御します。
Collision Geometry ¶
Initial Object Type
オブジェクトの初期状態を指定します。
RBD Packed Objectを参照してください。
Overwrite Constraints from SOP
有効にすると、タイムステップ毎に Collision Geometry 入力から拘束が取り込まれます。
Overwrite Attributes from SOP
有効にすると、フレーム毎にシミュレーションジオメトリから更新されるPointアトリビュートのリストを指定します。
Overwrite Attributes from SOP
フレーム毎に更新したいPointアトリビュートの名前を指定します。
このパラメータは、 Overwrite Attributes from SOP チェックボックスが 有効 になっている場合にのみ利用可能です。
Density
オブジェクトの質量は、体積と密度の積として指定します。
RBD Packed Objectを参照してください。
Rotational Stiffness
オブジェクトがかすめた打撃を受けた時、そのオブジェクトはたいていの場合にスピンを伴います。 そこで伴うスピンの度合いは、オブジェクトの形状と質量分布、いわゆる慣性テンソルによって異なります。 Rotational Stiffness は、その慣性テンソルに適用されるスケール係数です。 Rotational Stiffness が強いほどオブジェクトはスピンしにくくなり、弱いほどスピンしやすくなります。
RBD Packed Objectを参照してください。
Bounce
オブジェクトの弾力性を指定します。
RBD Packed Objectを参照してください。
Friction
オブジェクトの摩擦係数を指定します。
RBD Packed Objectを参照してください。
Transfer Attributes
出力されるコリジョンジオメトリに転送したいアトリビュートのリストを指定します。
Ragdoll ¶
Rest Pose Attribute
RestトランスフォームPointアトリビュートの名前を指定します。
Note
ソルバが期待通りの挙動になるようにするために、 Rest Pose Attribute は
Ragdoll Collision Shapes SOPノードのコリジョンシェイプの設定で使用されているRestポーズアトリビュートと同じ名前にしてください。
Clip Range
入力ジオメトリ上のclipinfo
Detailアトリビュートからフレーム範囲を読み込んだり、カスタム範囲を設定します。
Frame Range
アニメーションのカスタムフレーム範囲。
Clip Range が Use clipinfo Detail Attribute に設定されている場合、このパラメータは無効です。
このパラメータのアクションボタンを使用すると、clipinfo
Detailアトリビュートから、シーンフレーム範囲から、再生フレーム範囲から、フレーム範囲が取得されます。
Allow Initial Violation of Limits
有効にすると、初めから回転制限の範囲を超えていた場合に、その制限を強行せず、そこから更に回転しないようにします。 これによって、オブジェクトはシミュレーションの開始時点で唐突に動くことなく回転制限の範囲内に自然に戻ることができます。
Overwrite Internal Constraints from SOP
有効にすると、タイムステップ毎にラグドールの内部拘束が取り込まれます。
Overwrite External Constraints from SOP
有効にすると、タイムステップ毎にラグドールの外部拘束が取り込まれます。
Partial Ragdoll
スケルトン内の一部のポイントがシミュレーションされると同時に他のポイントがアニメーションクリップに追従します。 例えば、下半身は歩行アニメーションクリップでアニメーションさせ、上半身はラグドール化してシミュレーションオブジェクトからの衝撃に反応させることができます。
Joints With Collision Shapes
コリジョンシェイプを持つスケルトン内のすべてのポイントがシミュレーションされます。
Custom Joint Group
Partial Ragdoll Group
シミュレーションするポイントを指定します。
Pin Root Collision Shapes
有効にすると、チェーンの先頭にある(親シェイプを持たない)コリジョンシェイプに対して、そのコリジョンシェイプをスケルトンに取り付いたままにできるようにするためにピン拘束が作成されます。
Stiffness ¶
Enable Stiffness
有効にすると、ソルバがポイントを現在の方向から(アニメーションまたはシミュレーションされた) ターゲット 方向へ移動させようとする時に、剛性が特定の抵抗を加えます。
Group
硬くしたいポイントを指定します。
Stiffness Value
Constant
シミュレーション中に剛性は変わりません。
Ramp
スケルトンがシミュレーションの影響を受けた時間に基づいたランプに応じて、剛性値を変えます。
Stiffness
現在のポイント回転の変更に抵抗する強さを指定します。 0.2(デフォルト)から0.5までの間の値は、 硬いけれども硬すぎない ように見えます。 1以上の値は非常に硬く見えます。
このパラメータは、 Stiffness Value が Constant に設定されている場合にのみ利用可能です。
Time Range
ランプの開始と終了に呼応した開始時間と終了時間を設定します(単位は秒)。 例えば、 Time Range を0.0と5.0に設定すると、ランプはシミュレーションの最初の5秒間の剛性を制御することができます。 この範囲外では、ランプは最初と最後の値で延長します。
このパラメータは、 Stiffness Value が Ramp に設定されている場合にのみ利用可能です。
Stiffness Scale
Stiffness Ramp の値に対するスケール(乗数)。
このパラメータは、 Stiffness Value が Ramp に設定されている場合にのみ利用可能です。
Enable Stiffness Scale Attribute
指定したPointアトリビュートで Stiffness 値にスケールをかけます。
Note
このPointアトリビュートは0から1までの浮動小数点値でなければなりません。
Stiffness Scale Attribute
Stiffness 値にスケールをかけるのに使用するPointアトリビュートの名前。
Stiffness Ramp
シミュレーション中に各ポイントの剛性を設定します。 Time Range をセットアップして、その範囲内のみでの剛性を定義しなければなりません。 この範囲外では、ランプは最初と最後の値で延長します。
このパラメータは、 Stiffness Value が Ramp に設定されている場合にのみ利用可能です。
Motors ¶
Enable Motor
有効にすると、ある程度の労力を費やしてポイントをアニメーションクリップに追従させつつも、それらのポイントは引き続きシミュレーションされ、シミュレーションされたフォースによってそのモーター効果を変更したり打ち勝つことができます。
Group
アニメーションクリップによって(部分的に)アニメーションさせたいポイントを指定します。
Strength Value
Constant
シミュレーション中にモーター強度は変わりません。
Ramp
スケルトンがシミュレーションの影響を受けた時間に基づいたランプに応じて、モーター強度を変えます。
Motor Strength
ポイントをモーションクリップに追従させるのに費やす労力を設定します。 デフォルト値の10は、重力に打ち勝つのに十分な値でありつつも、コリジョンがモーターに打ち勝つことができます。 あなたの求めている効果が得られるまで、この値を増減させてみてください。
このパラメータは、 Strength Value が Constant に設定されている場合にのみ利用可能です。
Correction Time
ソルバが(例えば、衝突が起きた後に)ターゲットのポイント回転とのズレを修正するのにかかる早さ(秒)を設定します。 値を下げるほどキャラクタは衝撃から早く 立ち直り 、値を上げるほどキャラクタは衝撃からの影響を長く引くようになります。
Constraint Force Mixing
この値を強くすると、拘束のモーター成分がより柔らかくなります。 小さいプラスの値にすることで、シミュレーションの安定性を上げることができます。
Time Range
ランプの開始と終了に呼応した開始時間と終了時間を設定します(単位は秒)。 例えば、 Time Range を0.0と5.0に設定すると、ランプはシミュレーションの最初の5秒間のモーター強度を制御することができます。 この範囲外では、ランプは最初と最後の値で延長します。
このパラメータは、 Strength Value が Ramp に設定されている場合にのみ利用可能です。
Strength Scale
Strength Ramp の値に対するスケール(乗数)を指定します。
このパラメータは、 Strength Value が Ramp に設定されている場合にのみ利用可能です。
Enable Motor Strength Scale Attribute
指定したPointアトリビュートで Motor Strength 値にスケールをかけます。
Note
このPointアトリビュートは0から1までの浮動小数点値でなければなりません。
Motor Strength Scale Attribute
Motor Strength 値にスケールをかけるのに使用するPointアトリビュートの名前。
Strength Ramp
シミュレーション中に各ポイントのモーター強度を設定します。 Time Range をセットアップして、その範囲内のみでのモーター強度を定義しなければなりません。 この範囲外では、ランプは最初と最後の値で延長します。
このパラメータは、 Strength Value が Ramp に設定されている場合にのみ利用可能です。
Transitions ¶
Enable Transitions
有効にすると、指定した基準に基づいて現在のアニメーションクリップがラグドールシミュレーションへ遷移するようになります。
Type
遷移の基準を指定します。例えば、オブジェクトのアトリビュート、パーティクル速度、時間など。
Object Bounds
スケルトンがオブジェクトの境界内にあるかどうかをチェックします。
Object SOP Path
境界SOPオブジェクトのパス。
Check
Incoming
スケルトンが境界形状内に入った時に遷移します。
Outgoing
スケルトンが境界形状外に出た時に遷移します。
Continuous
スケルトンが境界形状内にある限りシミュレーションを実行します。
Object Attribute
指定したSOPオブジェクトからアトリビュートを読み込んで、比較を実施します。
Object SOP Path
アトリビュートの読み込み先のオブジェクトSOPのパスを指定します。
Attribute Name
読み込むアトリビュートの名前を指定します。
Search Radius
スケルトンからオブジェクトまで一番近いポイントを見つける際に検索される距離を設定します。
Comparison
行なわれる比較の種類を指定します: Less Than, Equal, Greater Than。
Comparison Value
アトリビュートと比較する値を指定します。
Object Distance
スケルトンと指定したSOPオブジェクトまでの距離をチェックします。
Object SOP Path
距離が計算されるSOPオブジェクトのパスを指定します。
Distance To
距離の測定方法を指定します。オブジェクトの重心までの距離を測定するのか、それとも、一番近いポイントを検索するのか。
Comparison
行なわれる比較の種類を指定します: Less Than, Equal, Greater Than。
Comparison Distance
比較する距離を指定します。
Object Distance (pointcloud)
スケルトンからポイントクラウドまでの距離をチェックします。
Object SOP Path
距離を計算するSOPポイントクラウドオブジェクトのパスを指定します。
Search Radius
スケルトンからオブジェクトまで一番近いポイントを見つける際に検索される距離を設定します。
Comparison
行なわれる比較の種類を指定します: Less Than, Equal, Greater Than。
Comparison Distance
比較する距離を設定します。
Object Raycast
スケルトンのルートポイントから Reference Direction の方向に光線を出して、その光線がオブジェクトに当たるかどうかをチェックします。
Object SOP Path
交差させるSOPオブジェクトのパスを指定します。
Ray Direction
Orientation
スケルトンが現在向いている方向に光線を出します。
Velocity
計算されたスケルトンのVelocityの方向に光線を出します。
Reference Direction
スケルトンのオリジナルの方向を指定します。 Ray Direction が Orientation に設定されている場合、この方向がスケルトンの現在の向きでトランスフォームされて、光線の方向が決定されます。
Raycast Length
当たりが検索される最大距離を設定します。
Raycast
Hit
オブジェクトが当たった時にトランジション(遷移)がアクティブになります。
No Hit
オブジェクトが 当たらなかった 時にトランジション(遷移)がアクティブになります。
Speed
指定した値とスケルトンのロコモーション速度を比較します。
Angular Speed
有効にすると、角速度(1秒あたりの角度)が使用されます。
Comparison
行なわれる比較の種類を設定します: Less Than, Equal, Greater Than。
Speed
比較する値を設定します。
Time
指定した値と現在のシーン時間を比較します。
Units
Playback Time と Random Offset をフレームまたは秒のどちらで指定するのか設定します。
Comparison
行なわれる比較の種類を設定します: Less Than, Equal, Greater Than。
Playback Time
比較する値を設定します。
Random Offset
比較される値に加算されるランダム量を設定します。
Animated Parameter
パラメータをアニメーションさせてトランジション(遷移)を生成します。
Value
アニメーションされる値(int)を指定します。
Custom VEXpression
Parameters
トランジション(遷移)を開始させたいタイミングを制御するカスタムWrangleコードを指定します。
Inputs
SOPジオメトリがクックされた後にVEXが実行され、その結果がこの入力に接続されます。
RBD Impact Data
Impact Threshold を超えたRBDインパクトデータがトリガーを発動します。
DOP Impact Objects
インパクトが考慮されるDOPオブジェクトを指定します。
Impact Threshold
トリガーの発動に必要となるインパクトの大きさを設定します。
Joint Group
インパクトを検知するポイントを指定します。
ロコモーションデータは、 Transitions が有効になっていて、スケルトンがワールド空間で移動/回転している時にトランジション(遷移)が発動されるように Type が設定されている時に使用されます。 例えば、 Transition Type が Object Bounds に設定されている場合、スケルトンが境界条件を満たしているタイミングを正確に計算できるようにするには、スケルトンのロコモーションが必要になります。
Locomotion
スケルトンのロコモーションを決める際に使用されるメソッドを指定します。
Existing Locomotion
ロコモーションは、スケルトンの__locomotion__
ポイントから取得されます。
このポイントは、
Extract Locomotion SOPノードで作成することができます。
Compute Locomotion
スケルトンのロコモーションがこのノードによって計算されます。
Locomotion Source
スケルトンのロコモーションのソースを指定します。
Joint
ロコモーションを抽出するための参照として、スケルトン内のジョイントが使用されます。
Center of Mass
ロコモーションを抽出するための参照として、スケルトンの重心にあるジョイントが使用されます。
このジョイントは、
Configure Joints SOPノードで作成することができます。
このパラメータは、 Locomotion が Compute Locomotion に設定されている場合にのみ利用可能です。
Locomotion Joint
移動量と回転量を抽出するための参照として使用する入力スケルトン内のジョイントを指定します。
このパラメータは、 Locomotion Source が Joint に設定されている場合にのみ利用可能です。
COM Joint
移動量と回転量を抽出するための参照として使用する入力スケルトン内の重心(COM)ジョイントを指定します。
このパラメータは、 Locomotion Source が Center of Mass に設定されている場合にのみ利用可能です。
Configuration Attribute
mass
アトリビュートとlocal_com
アトリビュートを読み込む構成Pointアトリビュートの名前を指定します。
Configure Joints SOPノードを参照してください。
このパラメータは、 Locomotion Source が Center of Mass に設定されている場合にのみ利用可能です。
Ground Plane
地面として作用する平面を指定します。
Convert to In-Place
キャラクタアニメーションから移動量を抽出する軸を設定します。
軸を選択すると、キャラクタアニメーションからその軸の移動量を除去して、__locomotion__
ジョイントにその移動量を加算します。
これらのパラメータは、 Locomotion が Compute Locomotion に設定されている場合にのみ利用可能です。
Extract Orientation Around Up Axis
有効にすると、キャラクタのUp軸を基準とした回転Velocityを抽出します。 Up軸は、ビューポートの方向オプションから推定されます。
Up Axis
Up軸を基準とした回転量を抽出する際に使用するメソッドを指定します。
Use Joint Orientation
ロコモーションジョイントからオイラー角を取り出して、それらのオイラー角を使用して選択した軸を基準とした向きデータを抽出することで、向きを取り出します。
Direction Between Joints
追加でジョイントを指定して、ロコモーションジョイントから Look At Joint で指定されたジョイントに向かった方向ベクトルを描画することで、向きを取り出します。 この方向ベクトルは、関係する平面上に投影され、その投影されたベクトルを使用して、選択した軸を基準とした向きを決めます。
Look At Joint
方向ベクトルの先端として作用する追加ジョイントを指定します。
Guide Geometry ¶
Display Collision Shapes
有効にすると、コリジョンシェイプのガイドジオメトリがビューポート内に表示されます。
Display Constraint Geometry
有効にすると、拘束のガイドジオメトリがビューポート内に表示されます。
Guide Size
Bullet拘束系DOPのガイドジオメトリのサイズを制御します。
このパラメータは、 Display Constraint Geometry が 有効 な場合にのみ利用可能です。
Display Ground Plane Geometry
有効にすると、地面のガイドジオメトリがビューポート内に表示されます。
Display Collision Geometry
有効にすると、外部コリジョンのガイドジオメトリがビューポート内に表示されます。
入力 ¶
Input 1
Target Skeleton。ラグドールシミュレーションが実行されるスケルトン。
Input 2
Constraint Geometry。 Target Skeleton に属した拘束ジオメトリ。
Input 3
Collision Shapes。 Target Skeleton に属したコリジョンシェイプ。
Input 4
Collision Geometry。シミュレーションのコリダーとして使用するジオメトリ。
この入力の形式は、パックジオメトリまたは
RBD Pack SOPノードなどでセットアップされるRBDパックジオメトリでなければなりません。
出力 ¶
Output 1
Target Skeleton。シミュレーション後の入力スケルトン。
Output 2
Collision Geometry。シミュレーション後のコリジョンジオメトリ。
See also |