物理エンジンには、1つまたは複数のアセンブリを移動させるために力やトルクを適用する以下の Constraints が含まれています。また、ヒンジ、スプリング、ロープなど、概念的な機械的接続として機能するさまざまな機械的制約も利用できます。
制約の視覚化
スタジオで制約を正確に視覚化するために、表示メニューまたはそれぞれのショートカットから以下を切り替えることができます。
- 制約の詳細を表示 (AltD または ⌥D) — 溶接以外の制約の完全な視覚詳細を表示します。
制約の作成
モーバー制約は通常、1つまたは2つの Attachments または Bones を接続します。Bones に接続されると、制約はそれらのアニメーションされた位置と向きを使用します。
機械的制約を作成するには、制約 ピッカー/ボタンから挿入するか、エクスプローラ ウィンドウを通じて行うことができます。
スタジオの モデル タブツールバーで、制約ボタンの小さな角矢印の上でクリックを押し、ピッカー メニューを開き、希望の制約を選択します。

3D ビューポート内で、任意の Part または MeshPart の上にカーソルを合わせてクリックし、視覚化されたポイントでそのパートに新しい Attachment を追加します。あるいは、既存の Attachment または Bone にカーソルを合わせてクリックし、それを制約として使用します。
一部のモーバー制約は、機能の中で二次アタッチメントを利用またはサポートしているため、ツールは別の Part、MeshPart、Attachment、または Bone の上で前のステップを繰り返すように促す場合があります。

AngularVelocity を 1 つのアタッチメントで使用 
AlignPosition を 2 つのアタッチメントで使用
物理シミュレーション
物理学をシミュレートするために、移動する または 回転する パーツの場合、スタジオのツールバーで 幾何学的 モードから 物理的 モードに切り替えることができます。これにより、パーツが物理的制限に従うようになります。たとえば、2つのパーツが RopeConstraint で接続されており、1つのパーツをシーンの中でドラッグすると、ロープが張って別のパーツも追従します。

レガシーモーバーの変換
ゲームがレガシー BodyMover ベースの制約に依存している場合、現代のモーバー制約に変換する際には以下のノートを確認してください。
AlignPosition は、廃止された BodyPosition モーバーがカバーしていたほとんどのユースケースを満たしています。レガシーモーバーが各コンポーネントを独立して処理し、それぞれの次元で異なる力を許可していたことに同期するために、ForceLimitMode プロパティは、制約が Magnitude モードまたは PerAxis モードで動作するようにします:
PerAxis モードでは、各軸に沿った力を独立して指定できます。最大力がベクトルとして指定されるため、力の基準フレームも ForceRelativeTo プロパティを通じて、World、Attachment0、および Attachment1 オプションを使用して指定できます。さらに、内部コントローラの形成は、BodyPosition のものに合わせて修正されます。
AlignOrientation は、廃止された BodyGyro モーバーがカバーしていたほとんどのユースケースを満たしています。AlignOrientation の AlignType モードは、ほとんどのアプリケーションに十分な自由度を提供し、複数の制約の組み合わせがベクトルトルク制限を再現できます。さらに、PrimaryAxisLookAt モードは、制約の最初のアタッチメント (Attachment0) の主軸が常に2番目のアタッチメント (Attachment1) を向くように強制し、動作追跡用のセキュリティカメラや誘導ミサイルなどの追加がはるかに簡単になります。
LinearVelocity は、廃止された BodyVelocity モーバーがカバーしていたほとんどのユースケースを満たしています。レガシーモーバーは MaxForce ベクトルを許可しますが、そのベクトル力の典型的な用途は、特定のコンポーネントをゼロにすることであり、制約がその次元で無効化されることを許可するものでした。LinearVelocity は、1次元 (Line)、2次元 (Plane)、および3次元 (Vector) に対応する異なる VelocityConstraintMode モードで動作することで、同様の効果を達成します。
さらに、ForceLimitMode プロパティで PerAxis オプションを選択することで、すべての非ゼロコンポーネントを持つベクトル力の用途をサポートします。たとえば、重力に対抗するために単一の軸に沿った力を増加させることができます。
AngularVelocity は、廃止された BodyAngularVelocity モーバーにはいくつかの不一致がありますが、これらの不一致に関連する特定のケースは、コミュニティや内部で強調されていません。
別の改善点として、AngularVelocity は Attachments と連携し、RelativeTo プロパティを使用して力が指定される CFrame を指定できます。たとえば、World または Attachment1 です。
VectorForce は、廃止された BodyForce および BodyThrust モーバーが提供していたすべてのユースケースを満たしています。現在の制約は Attachments と連携し、その RelativeTo プロパティを使用して中心からの相対オフセットに力を適用できます。これは、BodyThrust.Location の動作と似ています。
LineForce と AlignOrientation の組み合わせは、廃止された RocketPropulsion モーバーがカバーしていたほとんどのユースケースを満たしています。誘導ミサイルの例では、LineForce を使用して RocketPropulsion の「ターゲットに従う」動作を制御し、AlignOrientation とその LookAtPosition プロパティを使用して「ターゲットを向く」動作を制御できます。