Wheel Joint 2D は、移動できるオブジェクトの、ホイールの回転をシミュレートする際に使います。オプションでモーター駆動力を付加できます。車体本体とホイールの距離を保つためには、サスペンション “スプリング” を用います。
プロパティー: | 説明: |
---|---|
Enable Collision | 接続された 2 つのオブジェクトが互いに衝突する場合は、チェックを入れます。 |
Connected Rigid Body | このジョイントと接続するオブジェクトを指定します。ここを None にすると、Connected Anchor 設定による定義で、ジョイントの一方の端が空間に固定されます。入力欄の右側にあるサークルを選択すると、接続先オブジェクトのリストを見ることができます。 |
Auto Configure Connected Anchor | 他のオブジェクトとこのジョイントを接続したときに、自動的に位置を固定する場合は、チェックを入れます。 (チェックを入れるのは Connected Anchor とまったく同じ事になります。) |
Anchor | (X, Y が連携して RigidBody に対処することに関して) このオブジェクトに 接続するジョイントの端の場所。 |
Connected Anchor | (X, Y が連携して RigidBody に対処することに関して) 他のオブジェクトに 接続するジョイントの端の場所 |
Damping Ratio | どのくらいスプリングの振動を抑制するか。 0 から 1 の値を取り、値が高いほどに動きが少なくなります。 |
Frequency | オブジェクトが望みの距離に近づいていく、サスペンションのスプリングの振動周期 (単位はサイクル・パー・セカンド) : 値の範囲は 0 から 1,000,000 です。値を高くすると、サスペンションのスプリングは固くなります。 |
Angle | サスペンションの移動角度(ワールド基準) |
Use Motor | ホイールにモーターの駆動力を適用する場合、このボックスにチェックを入れてください。 |
Motor | |
Motor Speed | モーターが到達する目標速度(度/秒) |
Maximum Motor Force | 設定した速度になるためにオブジェクトに適用する最大の力 |
Break Force | ジョイントが壊れて消滅するのに必要な力のレベルを設定します。Infinity にすると、壊れる事は有りません。 |
Break Torque | ジョイントが壊れて消滅するのに必要なトルクレベルを設定します。Infinity にすると、壊れる事は有りません。 |
有用なすべての 2D ジョイントの背景情報の詳細とヒントは Joints 2D を参照してください。
ホイールとサスペンションをシミュレートするためにジョイントを使います。ジョイントの目的は、無限に長い直線上にある二点の位置を保つ事です。重ね合わせる事も可能です。それら二点は、二つの Rigidbody2D コンポーネントか、Rigidbody2D コンポーネントとワールド座標の固定位置にできます。 (ワールド座標の固定位置に接続するときは、Connected Rigidbody を None に設定します)
Wheel Joint 2D は、 Slider Joint 2D (モーターやコンストレイント制限は無し) と Hinge Joint 2D (コンストレイント制限は無し) の組み合わせのような挙動をします。
ジョイントは、接続されたリジッドボディ双方を直線上に保つための直線的な力、直線上にあるオブジェクトを回転させるための角モーター、ホイールサスペンションをシミュレートするためのスプリング、を適用します。
Maximum Motor Speed と Maximum Motor Force (ジョイントのトルク) を調整して、角モーターの速度を設定し、二つのリジッドボディオブジェクトを回転させます。
ホイールサスペンションの固さと動きを設定することができます。
固くすると、サスペンションはほとんど動かなくなります。
Frequency を高く (1,000,000 が最高です) 設定すると、サスペンションが硬くなります。
Damping Ratio を高く (1 が最高です) 設定すると、サスペンションがほぼ動かなくなります。
緩めると、サスペンションが動くようになります。
Frequency を低く設定すると、サスペンションが緩くなります。
Damping Ratio を低く設定すると、サスペンションがよく動くようになります。
このジョイントには以下のとおり連立した2つの制限が用意されています。
例
このジョイントは、物理制御のオブジェクトを作成するのに使う事ができます。回転軸で接続し、設定したラインから外れないようにしなくてはいけないようなオブジェクトです。例えば、
Wheel Joint 2D の動作は Wheel Collider と異なります。
Wheel Collider が 3D の物理演算を使うのとは異なり、Wheel Joint 2D は、力が加わったときに回転する、独立した Rigidbody オブジェクトをホイールとして使います。(対照的に、Wheel Collider は、レイキャストを使ってサスペンションをシミュレートしていて、ホイールの回転は、単に見た目上の効果です。)ホイールオブジェクトは通常、Physics Material 2D を適用した Circle Collider 2D にすると、ゲームプレイにちょうどよいトラクションになります。
車や他の車輌をシミュレート
車両や、その他の乗り物をシミュレートする際、通常は Motor Speed プロパティーをインスペクターで 0 に設定し、その後、その値を、プレイヤーの入力にあわせてスクリプトから変更したくなるでしょう。Maximum Motor Force の値を変更して、ギアチェンジと出力アップの効果をシミュレートすることも可能です。
ゼロ周波数
周波数 がゼロのときは特殊なケースで、堅いバネとなります。