| On this page | |
| Since | 20.0 |
入力 ¶
skeleton:
GeometryArray
各キャラクタの静止スケルトン。 スケルトンジオメトリは、 configurationattrib Pointアトリビュートを介してジョイント制限を提供することが見込まれています。
collision_shapes:
GeometryArray
各キャラクタのコリジョンシェイプジオメトリ。
motionclip:
GeometryArray
各キャラクタのモーションクリップ。 モーションクリップは、ラグドールのターゲットアニメーションとして使用され、ラグドールの初期ポーズも決定します。
channels:
GeometryArray
各キャラクタおよびそのジョイントのアニメーションされたパラメータまたは静的パラメータを含むジオメトリ。
アニメーションされたパラメータは、name Primitiveアトリビュートを持つチャンネルプリミティブによって指定されます。
静的パラメータは、parmsという名前のDetail辞書アトリビュートに格納されています。
Note
整数パラメータの値は、評価されたチャネル値を一番近い整数に丸めることで決定されます。
次のパラメータは、キャラクタ全体に適用されます:
名前 |
型 |
アニメーション |
デフォルト値 |
説明 |
|---|---|---|---|---|
|
|
Yes |
1 |
ラグドール全体がアクティブかどうかを制御します。 これを使用すると、ラグドールがアクティブになる時のキーフレームを打つことができます。 |
|
|
No |
|
ノードの |
以下のパラメータは、個々のジョイントに適用されます。
これらのチャンネルプリミティブまたは辞書のキーは、接頭辞としてジョイント名をパラメータ名に追加した名前にすることになっています(例: LArm_active)。
名前 |
型 |
アニメーション |
デフォルト値 |
説明 |
|---|---|---|---|---|
|
|
Yes |
1 |
ジョイントをアクティブオブジェクトとしてシミュレーションするかどうかを制御します。 |
|
|
Yes |
0 |
有効にすると、 Bend Stiffness 、 Bend Damping に応じて、ジョイントをターゲットスケルトンのローカルトランスフォームに追従させようと試みます。 これは、ラグドールを強制的にスケルトンのワールド空間トランスフォームに一致させることなく、ターゲットアニメーションからモーションを継承するのに役立ちます。 |
|
|
Yes |
5 |
Match Local Transforms が有効な場合、ジョイントがローカル回転の変更に抵抗する強さ、または、ジョイントがターゲットアニメーションのローカルトランスフォームへの一致を試みる強さを指定します。 この値は、バネの周波数に相当します。 |
|
|
Yes |
1 |
Match Local Transforms が有効な場合、ジョイントがローカル回転の変更に抵抗する時、または、ジョイントがターゲットアニメーションのローカルトランスフォームに一致させる時に適用される減衰量を指定します。 0の値は減衰なし、1の値は振動が回避されるほど十分な減衰が用意されます。 0から1の間の値は(ある程度の減衰がある)振動を許可し、1より大きい値は振動のない大きく減衰するモーションが用意されます。 この値は、バネの減衰率に相当します。 |
|
|
Yes |
0 |
有効にすると、 Position Stiffness 、 Position Damping 、 Orientation Stiffness 、 Orientation Damping に応じて、ジョイントをターゲットスケルトンのワールドトランスフォームに一致させようと試みます。 これは、特定のジョイントがターゲットアニメーションに追従するようにピン留めするのに役立ちます。 |
|
|
Yes |
100 |
Match World Transforms が有効な時、ここには、ワールド空間のターゲット位置に一致させようと試みるフォースの強度を指定します。 この値は、バネの周波数に相当します。 |
|
|
Yes |
5 |
Match World Transforms が有効な時、ここには、ワールド空間のターゲット位置に一致させようと試みる時にモーションに適用される減衰量を指定します。 0の値は減衰なし、1の値は振動が回避されるほど十分な減衰が用意されます。 0から1の間の値は(ある程度の減衰がある)振動を許可し、1より大きい値は振動のない大きく減衰するモーションが用意されます。 この値は、バネの減衰率に相当します。 |
|
|
Yes |
100 |
Match World Transforms が有効な時、ここには、ワールド空間のターゲット方向に一致させようと試みるフォースの強度を指定します。 この値は、バネの周波数に相当します。 |
|
|
Yes |
5 |
Match World Transforms が有効な時、ここには、ワールド空間のターゲット方向に一致させようと試みる時にモーションに適用される減衰量を指定します。 0の値は減衰なし、1の値は振動が回避されるほど十分な減衰が用意されます。 0から1の間の値は(ある程度の減衰がある)振動を許可し、1より大きい値は振動のない大きく減衰するモーションが用意されます。 この値は、バネの減衰率に相当します。 |
|
|
Yes |
0 |
ジョイントのコリジョンシェイプのすべての衝突を無効にします。 |
|
|
Yes |
0.5 |
オブジェクトの弾力性。 Bounceが1.0の2つのオブジェクトが衝突すると、それらのオブジェクトはエネルギーを消失せずに跳ね返ります。 Bounceが0.0の2つのオブジェクトが衝突すると、それらのオブジェクトは停止します。 |
|
|
No |
1000 |
オブジェクトの質量は、体積とこの密度の乗算で決まります。 |
|
|
Yes |
1 |
オブジェクトの摩擦係数。 0の値は、摩擦なしを意味します。 これは、接線Velocityが衝突と静止接触で影響を受ける強さを制御します。 |
time:
Float
シミュレーションを評価する時間(秒単位)。
timestep:
Float
シミュレーションのタイムステップの長さ(秒単位)。
configurationattrib:
String
(例えば)Configure Joint Limits SOPで定義されているような、回転制限の読み込み先の構成Pointアトリビュートの名前。
starttime:
Float
シミュレーションの開始時間(秒単位)。
groundpos:
Vector3
グランドプレーンの位置。
groundorient:
Vector4
クォータニオンとして指定したグランドプレーンの向き。
groundbounce:
Float
グランドプレーンの弾性。Bounceが1.0の2つのオブジェクトが衝突すると、それらのオブジェクトはエネルギーを消失せずに跳ね返ります。 Bounceが0.0の2つのオブジェクトが衝突すると、それらのオブジェクトは停止します。
groundfriction:
Float
グランドプレーンの摩擦係数。0の値は、摩擦なしを意味します。 これは、接線Velocityが衝突と静止接触で影響を受ける強さを制御します。
pinroot:
Bool
有効にすると、親コリジョンシェイプを持たないコリジョンシェイプが自由に移動できないようにスケルトンに取り付けたままになるように拘束されます。 これは、スケルトンのサブセットのみ(例えば、尻尾)をシミュレーションする場合に役立ちます。
groundenable:
Bool
Trueに設定されている場合、グランドプレーン衝突オブジェクトを有効にします。
forceresetsim:
Bool
Trueに設定されている場合、シミュレーションを強制的にリセットします。 これにより、 starttime から現行の time までのすべてのタイムステップが計算されます。
gravity:
Vector3
シミュレーションオブジェクトに適用する重力。
autoresimframe:
Bool
Trueに設定、且つ、指定したシミュレーションフレームが最後のパラメータ変更後にまだシミュレーションし直されていない場合、 そのフレームがシミュレーションし直されます(さらに、そのフレーム以降のキャッシュ化されたフレームをクリアします)。 これによって、シミュレーション全体をリセットすることなく、前のフレームに巻き戻して再生するだけで、前のフレームでのパラメータ変更の挙動を素早くプレビューすることができます。 かといって、処理が重いシミュレーションでは、このように余計にシミュレーションをやり直すのは望ましくないこともあります。
Falseに設定すると、パラメータ変更は、現行フレームのみをシミュレーションし直すので、前のフレームは元のキャッシュ化された結果を返します。
resetvelocities:
Bool
Trueに設定されている場合、各タイムステップの後に各オブジェクトのVelocityと角速度をゼロに設定します。 これは、キャラクタをインタラクティブにポーズ付けする時、ターゲットスケルトンを正確に追従するのに役立ちます。
solverparms:
Dict
Bullet Solverのパラメータの上書きを指定する辞書。
constraints:
Dict
シミュレーション内のオブジェクト間の拘束を示した辞書。 この辞書には、以下のキーと値のペアを格納します:
-
キー: 拘束の固有な名前(例えば、
constraint1_stiffness)。これは、アニメーションする拘束パラメータのチャンネルプリミティブを識別するのに使用されます。 -
値: 拘束される2つのオブジェクトとその拘束のパラメータを指定した辞書。拘束されるオブジェクトのパスは、
<ragdoll_character>/<joint_name>の形式で指定します。
constraints 辞書の書式の例:
"constraint1": {
"src": "electra/hand_l",
"dst": "electra/hand_r",
"enable": 1
},
"constraint2": ...
Ragdollツールで拘束を作成すると、Ragdollツールは、上記のようなネストされた辞書のいずれかを生成し、restlengthエントリ(以下のテーブルを参照)には2つの拘束アンカー間の距離を設定します。
また、ソースジョイントの元の向きが保持されるように、src_offsetも設定します
以下のテーブルには、ネストされた辞書内のキーを載せています:
キー |
型 |
説明 |
|---|---|---|
|
|
1つ目の拘束されるジョイントのパス。 |
|
|
2つ目の拘束されるジョイントのパス。 |
|
|
|
|
|
|
|
|
拘束を有効にするかどうかを指定します。 |
|
|
2つのアンカーのトランスフォームを合わせようとするフォースの強度を指定します。 この値は、バネの周波数に相当します。 |
|
|
モーションに適用される減衰率を指定します。 0の値は減衰なし、1の値は、振動を回避するのに十分な減衰になります。 0から1の間の値は、(ある程度の減衰で)振動を許し、1より大きな値は、振動のない非常に減衰の大きな動きになります。 この値は、バネの減衰率に相当します。 |
|
|
2つのアンカー間に維持すべき距離を指定します。
|
|
|
Trueに設定すると、ソルバは角度剛性チャネルプリミティブ( constraintschannels 内の |
disableresimframe:
Bool
Trueの場合、パラメータが変更されても、キャッシュ化されたフレームは再シミュレーションされません。 新しいパラメータでシミュレーションされるのは、それ以降のフレームのみです。 これは、内部のシミュレーション時間が常に進行し続け、以前にキャッシュ化されたフレームを再シミュレーションする必要がない“タイムレス”なシミュレーションに使用することができます。
Falseの場合、パラメータが変更されると、 autoresimframe に基づいて、キャッシュ化されたフレームが再シミュレーションされます。
constraintschannels:
Geometry
カスタム拘束に相当するnamePrimitiveアトリビュートを持つチャネルプリミティブを含んだジオメトリ。
これらの名前は、 constraints 辞書で規定されています。
チャネルプリミティブは、<constraint_name>_<attribute>の形式である必要があります(例えば、constraint_1_stiffness)。
Note
整数パラメータの値は、評価されたチャネル値を最も近い整数に丸めることで決定されます。
名前 |
型 |
説明 |
|---|---|---|
|
|
拘束を有効にするかどうかを指定します。 |
|
|
ターゲットトランスフォームに一致させようとするフォースの強度を指定します。 この値は、バネの周波数に相当します。 |
|
|
ターゲットトランスフォームに一致させようとする時にモーションに適用される減衰量を指定します。 0の値は減衰なし、1の値は振動が回避されるほど十分な減衰が用意されます。 0から1の間の値は(ある程度の減衰がある)振動を許可し、1より大きい値は振動のない大きく減衰するモーションが用意されます。 この値は、バネの減衰率に相当します。 |
|
|
拘束の静止長をスケールします。 1の値は、2つのアンカー間の元の距離を維持します。 |
|
|
2つのアンカーの向きを一致させようとするフォースの強さ。
これらは、 constraints 辞書の |
出力 ¶
skeleton:
GeometryArray
ラグドールシミュレーションから変更されたスケルトン。
| See also |