| 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
A dictionary describing the constraints between objects in the simulation. The dictionary has the following key-value pairs:
-
Key: A unique name for the constraint, used to identify channel primitives for animated constraint parameters (for example,
constraint1_stiffness). -
Value: A dictionary that specifies the two constrained objects and the constraint’s parameters. The paths of the constrained objects are in the format
<ragdoll_character>/<joint_name>.
An example format for the constraints dictionary is:
"constraint1": {
"src": "electra/hand_l",
"dst": "electra/hand_r",
"enable": 1
},
"constraint2": ...
When creating a constraint in the ragdoll tool, the tool generates one of the nested dictionaries above and sets the restlength entry (see the table below) to be the distance between the two constraint anchors. It also sets src_offset such that the original orientation of the source joints is preserved. The following table lists the keys within the nested dictionary:
Key |
Type |
Description |
|---|---|---|
|
|
The path to the first constrained joint. |
|
|
The path to the second constrained joint. |
|
|
Specifies where on the |
|
|
Specifies where on the |
|
|
Specifies whether the constraint is enabled. |
|
|
2つのアンカーのトランスフォームを合わせようとするフォースの強度を指定します。 この値は、バネの周波数に相当します。 |
|
|
モーションに適用される減衰率を指定します。 0の値は減衰なし、1の値は、振動を回避するのに十分な減衰になります。 0から1の間の値は、(ある程度の減衰で)振動を許し、1より大きな値は、振動のない非常に減衰の大きな動きになります。 この値は、バネの減衰率に相当します。 |
|
|
The distance to enforce between the two anchors. A rest length of 1 means the two anchors try to stay one unit away from each other. The strength of the force used by the solver to maintain the rest length depends on the |
|
|
If set to True, the solver uses the angular stiffness channel primitives ( |
disableresimframe:
Bool
If set to True, parameter changes do not cause any cached frames to be resimulated. Only future frames are simulated with the new parameters. This can be used for “timeless” simulations where the internal simulation time is always advancing and previously cached frames do not need to be resimulated.
If set to False, parameter changes can resimulate cached frames based on autoresimframe.
constraintschannels:
Geometry
The geometry containing channel primitives with a name primitive attribute corresponding to the custom constraint. These names are dictated by the constraints dictionary. The channel primitives should have the format <constraint_name>_<attribute>, for example, constraint_1_stiffness.
Note
The values for integer parameters are determined by rounding the evaluated channel value to the nearest integer.
Name |
Type |
Description |
|---|---|---|
|
|
Specifies whether the constraint is enabled. |
|
|
ターゲットトランスフォームに一致させようとするフォースの強度を指定します。 この値は、バネの周波数に相当します。 |
|
|
ターゲットトランスフォームに一致させようとする時にモーションに適用される減衰量を指定します。 0の値は減衰なし、1の値は振動が回避されるほど十分な減衰が用意されます。 0から1の間の値は(ある程度の減衰がある)振動を許可し、1より大きい値は振動のない大きく減衰するモーションが用意されます。 この値は、バネの減衰率に相当します。 |
|
|
Scales the constraint’s rest length. A value of 1 keeps the original distance between the two anchors. |
|
|
The strength of the force that attempts to match the orientation of the two anchors. These are only read by the solver if |
出力 ¶
skeleton:
GeometryArray
ラグドールシミュレーションから変更されたスケルトン。
| See also |