Configurable Joint は、他の ジョイントタイプ の機能をすべて合わせて、キャラクターの動きをより細かく制御します。ラグドールの動きをカスタマイズしたり、キャラクターに特定のポーズを取らせたい場合に特に有効です。また、独自デザインのかなり特殊なジョイントにジョイントを適応させることもできます。
| プロパティ | 機能 | |
|---|---|---|
| Edit Angular Limits | シーンビューに、ジョイントの角度制限を編集するためのギズモを追加します。このギズモを使用するには、Angular X, Y, Z Motion を Limited に設定します。この設定によって表示されるハンドルを使用して、ジョイントの回転空間をドラッグして調整できます。 | |
| Connected Body | ジョイントが接続する Rigidbody オブジェクト。これを None に設定すると、ジョイントは別の Rigidbody にではなく空間内の固定位置にアタッチします。 | |
| Connected Articulation Body | ジョイントが依存する ArticulationBody への任意の参照。設定しない場合は、ジョイントはワールド座標 (何もない空間) に接続されます。 | |
| Anchor | ジョイントの中心を定義する点です。すべての物理ベースのシミュレーションでは、この点を中心に計算が行われます。 | |
| 軸 | 物理特性シミュレーションに基づいて、オブジェクトの自然な回転を定義するローカルの軸。 | |
| Auto Configure Connected Anchor | これを有効にすると、Connected Anchor の位置が Anchor プロパティのグローバルな位置と一致するように自動的に計算されます。これがデフォルトの設定です。Connected Anchor の位置を手動で調整するには、これを無効にします。 | |
| Connected Anchor | 接続されたアンカー位置を手動で設定します。 | |
| Secondary Axis | Axis と Secondary Axis は、ジョイントのローカル座標系を定義します。第 3 の軸は、他の 2 つに直交します。 | |
| X, Y, Z Motion | 後述の Limit 関連のプロパティに応じて、X 軸、Y 軸、Z 軸に沿った動きを Free、完全に Locked、または Limited に設定します。 | |
| Angular X, Y, Z Motion | 後述の Limit 関連のプロパティに応じて、X 軸、Y 軸、Z 軸に沿った回転を Free、完全に Locked、または Limited に設定します。 | |
| Linear Limit Spring | オブジェクトが制限位置を越えた場合に、オブジェクトを引き戻すためのスプリングの力。 | |
| Spring | スプリングの力。制限を超過できないようにするには、この値を 0 に設定します。0 ではない値を設定すると、制限が弾力的になります。 | |
| Damper | ジョイントの動きのスピードに比例するスプリング力の減衰。0 より大きい値を設定すると、ジョイントは振動を “減衰” できます。減衰しないと振動は無限に続きます。 | |
| Linear Limit | ジョイントの直線運動 (回転ではなく、距離移動) に制限を設定します。ジョイントの起点からの距離を指定します。 | |
| Limit | 起点から制限値までの距離 (ワールド単位)。 | |
| Bounciness | オブジェクトが制限距離に到達したときに、引き戻すために加えらるバウンス力を設定します。 | |
| Contact Distance | ジョイント位置から制限までの距離の最小許容範囲。この範囲を超えると制限が適用されます。許容範囲が大きいと、オブジェクトが速く動いているときに制限超えが起こりにくくなります。ただし、そのために物理シミュレーションで制限を考慮する頻度が高くなり、パフォーマンスがわずかに低下します。 | |
| Angular X Limit Spring | オブジェクトがジョイントの回転制限を越えた場合に、オブジェクトを引き戻すためのスプリングのトルク。 | |
| Spring | スプリングのトルク。制限を超過できないようにするには、この値を 0 に設定します。0 ではない値を設定すると、制限が弾力的になります。 | |
| Damper | ジョイントの回転スピードに比例するスプリングトルクの低減。0 より大きい値を設定すると、ジョイントは振動を “減衰” できます。減衰しないと振動は無限に続きます。 | |
| Low Angular X Limit | ジョイントの X 軸を中心とした回転の下限。ジョイントの元の回転からの角度で指定します。 | |
| Limit | 制限角度。 | |
| Bounciness | オブジェクトの回転が制限角度に到達したときに加えらるバウンスのトルクを設定します。 | |
| Contact Distance | 制限を適用するための (ジョイント角度と制限の間の) 最小の角度許容範囲。許容範囲が大きいと、オブジェクトが速く動いているときの制限超えが少なくなります。ただし、そのために物理シミュレーションで制限を考慮する頻度が高くなり、パフォーマンスがわずかに低下します。 | |
| High Angular XLimit | 前述の Low Angular X Limit プロパティと似ていますが、こちらはジョイントの回転の下側の角度ではなく、上側の角度を制限するための設定です。 | |
| Angular YZ Limit Spring | 前述の Angular X Limit Spring プロパティと似ていますが、こちらは Y 軸中心の回転と Z 軸中心の回転の両方に適用されます。 | |
| Angular Y Limit | 前述の Angular X Limit プロパティと似ていますが、こちらは制限を Y 軸に適用し、上限と下限の両方の角度制限を同じとみなします。 | |
| Angular Z Limit | 前述の Angular X Limit プロパティと似ていますが、こちらは制限を Z 軸に適用し、上限と下限の両方の角度制限を同じとみなします。 | |
| Target Position | ジョイントの駆動力が向かうターゲット位置。 | |
| Target Velocity | ジョイントがドライブの力で Target Position に移動するのに必要な速度。 | |
| XDrive | Position Spring と Position Damper のドライブトルクによって、ジョイントがローカル X 軸の周りを回転するために使用する力を設定します。Maximum Force パラメーターで力を制限します。このプロパティは、Rotation Drive Mode プロパティが X & YZ に設定されている場合にのみ使用できます。詳細は、ドライブの力 セクションを参照してください。 | |
| Position Spring | ジョイントを現在の位置からターゲット位置に回転させるために使用するスプリングのトルク。 | |
| Position Damper | ジョイントの現在の速度とターゲット速度の差に比例して、スプリングトルクを減少させます。ジョイントの動きのスピードが低下します。ゼロより大きい値を設定すると、ジョイントが振動を減衰できます。減衰しないと振動は無限に続きます。 | |
| Maximum Force | ドライブが適用できる力の大きさを制限します。ドライブが計算した力を適用できるようにするには、ドライブによる計算ではありえない高い値を設定します。 | |
| Use Acceleration | これをアクティベートすると、ドライブは力のドライブではなく加速のドライブになります。 | |
| YDrive | 前述の X Drive プロパティと似ていますが、こちらはジョイントの Y 軸に適用されます。 | |
| ZDrive | 前述の X Drive プロパティと似ていますが、こちらはジョイントの Z 軸に適用されます。 | |
| Target Rotation | ジョイントの回転ドライブが回転する方向。クォータニオン で指定します。ターゲットの回転は、ジョイントがアタッチされているボディに相対しますが、Swap Bodies パラメーターが設定されている場合は、接続されているボディのアンカーに相対します。 | |
| Target Angular Velocity | ジョイントの回転ドライブが目標とする角速度。このプロパティはベクトルとして指定します。ベクトルの長さで回転スピードが決まり、ベクトルの方向で回転軸が決まります。 | |
| Rotation Drive Mode | オブジェクトをターゲットの方向に回転させるために、どのようにドライブの力を加えるかを設定します。このモードを X and YZ に設定すると、後述の Angular X または YZ Drive プロパティで指定された軸周りのトルクを適用できます。Slerp モードを使用する場合は、Slerp Drive プロパティでドライブトルクを決定します。 | |
| Angular X Drive | このプロパティでは、ドライブトルクがジョイントをローカルの X 軸周りに回転させる方法を指定します。このプロパティは、前述の Rotation Drive Mode プロパティが X & YZ に設定されている場合にのみ使用できます。詳細は、ドライブの力 セクションを参照してください。 | |
| Position Spring | ジョイントを現在の位置からターゲット位置に回転させるために使用するスプリングのトルク。 | |
| Position Damper | ジョイントの現在の速度とターゲット速度の差に比例して、スプリングトルクを減少させます。ジョイントの動きのスピードが低下します。ゼロより大きい値を設定すると、ジョイントが振動を減衰できます。減衰しないと振動は無限に続きます。 | |
| Maximum Force | ドライブが適用できる力の大きさを制限します。ドライブが計算した力を適用できるようにするには、ドライブによる計算ではありえない高い値を設定します。 | |
| Use Acceleration | これをアクティベートすると、ドライブは力のドライブではなく加速のドライブになります。 | |
| Angular YZDrive | 前述の Angular X Drive プロパティに似ていますが、こちらはジョイントの Y 軸と Z 軸の両方に適用されます。 | |
| Slerp Drive | このプロパティでは、ドライブトルクがジョイントをローカルのすべての軸周りに回転させる方法を指定します。このプロパティは、前述の Rotation Drive Mode プロパティが Slerp に設定されている場合にのみ使用できます。詳細は、Slerp Drive セクションを参照してください。 | |
| Position Spring | ジョイントを現在の位置からターゲット位置に回転させるために使用するスプリングのトルク。 | |
| Position Damper | ジョイントの現在の速度とターゲット速度の差に比例して、スプリングトルクを減少させます。ジョイントの動きのスピードが低下します。ゼロより大きい値を設定すると、ジョイントが振動を減衰できます。減衰しないと振動は無限に続きます。 | |
| Maximum Force | ドライブが適用できる力の大きさを制限します。ドライブが計算した力を適用できるようにするには、ドライブによる計算ではありえない高い値を設定します。 | |
| Use Acceleration | これをアクティベートすると、ドライブは力のドライブではなく加速のドライブになります。 | |
| Projection Mode | 物理エンジンがシミュレーション内で力の組み合わせを調整できないために、ジョイントが想定外に制限を越えた場合に、ジョイントがどのようにスナップして制限に戻るかをこのプロパティで定義します。オプションは None と Position and Rotation です。 | |
| Projection Distance | 物理エンジンが許容位置にジョイントをスナップして戻す前に必要な、ジョイントが制限を超過する距離。 | |
| Projection Angle | 物理エンジンが許容位置にジョイントをスナップして戻す前に必要な、ジョイントが制限を超過して回転する角度。 | |
| Configured in World Space | このプロパティを有効にすると、様々なターゲットや動力のプロパティで設定された値を、オブジェクトのローカル空間ではなく、ワールド空間で計算します。 | |
| Swap Bodies | このプロパティを有効にすると、物理エンジンがジョイントに関わる Rigidbody を処理する順序がスワップされます。この結果、ジョイントの動きが変わりますが、Rigidbody やアンカーには影響がありません。 | |
| Break Force | この値よりも大きな力で押されて制限を超えたジョイントは、永久に “壊れた” 状態となり削除されます。Break Force でジョイントが壊れるのは、ジョイントの軸が Limited または Locked に設定されている場合のみです (後述の 動きの制限 セクションを参照)。 | |
| Break Torque | この値よりも大きなトルクで回転させられて制限を超えたジョイントは、永久に “壊れた” 状態となり削除されます。ジョイントの軸が Free、Limited、または Locked に設定されているかどうかに関係なく、Break Torque でジョイントが壊れる可能性があります (後述の 動きの制限 セクションを参照)。 | |
| Enable Collision | このプロパティを有効にすると、ジョイントを持つオブジェクトが接続されているオブジェクトと衝突するようになります。これを無効にすると、ジョイントとオブジェクトは互いを通過します。 | |
| Enable Preprocessing | これが無効になっていると、ジョイントにある “不可能な” 設定がされている場合に、より安定性が保たれ、ひどく制御できない動きが起こりにくくなります。 | |
| Mass Scale | Rigidbody の反転した質量と慣性テンソルに適用するスケールで、0.00001 から無限大までの範囲で設定できます。これは、質量が大きく違う 2 つの Rigidbody をジョイントで接続する際に便利です。接続された Rigidbody の質量が近いと、物理ソルバーはより良い結果を出します。接続された Rigidbody の質量が異なる場合は、このプロパティと Connect Mass Scale プロパティを使用して、偽の質量を適用して互いにほぼ等しくなるようにします。これにより、高品質で安定したシミュレーションが可能になりますが、Rigidbody の物理的な動作は少なくなります。 | |
| Connected Mass Scale | 接続されているリジッドボディの反転した質量と慣性のテンソルに適用するスケールで、0.00001 から無限大の範囲です。 | |
ConfigurableJoint