物理ジョイント
はじめに
物理ジョイントは、剛体間を接続して動きを制限します。剛体間の現実的な動きや相互作用、車両シミュレーションを可能にするなど、ゲームにおいて非常に有用です。
構成
Quantumの物理ジョイントAPIは、挙動の変更に使用できる様々なパラメーターを提供しています。
フィールド | 説明 |
---|---|
Start Disabled | ジョイントを無効にして開始するかどうかを指定します。無効なジョイントは物理システムから無視されます。 |
Type | ジョイントのタイプです。 |
User Tag | ジョイントのグループの定義に使用できる数値タグです。 |
Connected Entity | このジョイントに接続しているエンティティです。エンティティにはtransform コンポーネントが付いている必要があります。 |
Connected Anchor | ジョイントに接続したエンティティのアンカーポイントの位置です。接続しているエンティティがなければワールド空間、あればローカル空間になります。 |
Anchor | ジョイントに接続したエンティティのtransform のローカル空間におけるアンカーのオフセットです。 |
Axis | ジョイントが回転する軸です。0に設定されている場合は、FPVector3.Right が使用されます。 |
Use Angle Limits | ヒンジジョイントによって、ジョイントのtransform とそのアンカーの角度を制限する必要があるかどうかを指定します。ヒンジジョイント使用時のみ関連します。 |
Lower Angle | アンカーを中心とした回転弧の角度(degree単位)の下限です。 |
Upper Angle | アンカーを中心とした回転弧の角度(degree単位)の上限です。 |
Use Motor | ヒンジジョイントでモーターを使用するかどうかを指定します。ヒンジジョイント使用時のみ関連します。 |
Motor Speed | モーターの回転速度(角度/秒)です。 |
Max Motor Torque | ヒンジジョイントの最大トルクです。0に設定されている場合は、制限はありません。 |
ヒンジジョイント
Hinge Joint
は、2つの剛体を1点で接続し、指定軸の周りで回転できるようにします。このジョイントは、ドア・ゲート・回転する障害物を作成するのに便利です。ヒンジジョイントは、オプションとしてモーターを備えていて、指定方向に常に回転させることもできます。ヒンジジョイントでモーターを使用するには、ジョイントコンポーネントのUseMotor
をtrue
に設定します。
スプリングジョイント
Sprng Joint
は、剛体同士を分離した状態に保ちながら、両者間の距離に一定の伸縮性を持たせることができます。これは、複雑なキャラクターの動きや、プレイヤーの移動に反応する橋のような環境インタラクションの作成に便利です。
ディスタンスジョイント
Distance Joint
は、2つのオブジェクト間の距離を一定に保つために使用されます。接続されたオブジェクトの直線方向に沿った相対的な動きを制限し、一定の距離を保ちます。このジョイントは、ロープや仮想バネなどの剛体の接続シミュレーションに便利です。一般的に、オブジェクト間の距離が一定に保たれるあらゆるジョイントに使用できます。これによって、シミュレーション内で接続されたオブジェクトに対する現実的なインタラクション・安定性・制御が可能になります。