Silnik fizyczny zawiera następujące Constraints, które stosują siłę lub moment obrotowy do ruchu jednego lub więcej zespołów. Dodatkowo są dostępne różne ograniczenia mechaniczne, które działają jako koncepcyjne połączenia mechaniczne, w tym zawiasy, sprężyny, liny i inne.
Wizualizacja ograniczeń
Aby dokładnie zobrazować ograniczenia w Studio, możesz przełączać następujące opcje z menu Widok lub za pomocą odpowiednich skrótów klawiszowych:
- Pokaż szczegóły ograniczeń (AltD lub ⌥D) — Pokaż pełne szczegóły wizualne ograniczeń, które nie są spawane.
Tworzenie ograniczeń
Ograniczenia moverów zazwyczaj łączą jedno lub dwa Attachments lub Bones. Gdy są połączone z Bones, ograniczenie wykorzysta ich animowaną pozycję i orientację.
Aby stworzyć ograniczenie mechaniczne, możesz wstawić jedno z wskaźnika ograniczeń lub przez okno Eksploratora.
W pasku narzędzi zakładki Model w Studio, kliknij i przytrzymaj małą strzałkę w rogu przycisku ograniczenia, aby otworzyć menu wskaźnika, a następnie wybierz pożądane ograniczenie.

W widoku 3D, najedź na dowolny Part lub MeshPart i kliknij, aby dodać nowe Attachment do części w zwizualizowanym punkcie. Alternatywnie, najedź i kliknij istniejące Attachment lub Bone, aby użyć go dla ograniczenia.
Niektóre ograniczenia moverów wykorzystują lub wspierają drugie mocowanie w swojej funkcjonalności, więc narzędzie może poprosić o powtórzenie poprzedniego kroku na innym Part, MeshPart lub Attachment, lub Bone.

AngularVelocity używający jednego mocowania 
AlignPosition używający dwóch mocowań
Symulacja fizyczna
Aby zasymulować fizykę podczas przesuwania lub obracania elementów, możesz przełączyć się z trybu geometrycznego na tryb fizyczny w pasku narzędzi Studio, zmuszając tym samym elementy do przestrzegania ograniczeń fizycznych. Na przykład, jeśli dwa elementy są połączone za pomocą RopeConstraint i przeciągniesz jeden element po scenie, drugi element podąży za nim, gdy lina stanie się napięta.

Konwersja ograniczeń ruchowych z przeszłości
Jeśli twoja gra opiera się na ograniczeniach bazujących na zaktualizowanym BodyMover, zapoznaj się z następującymi notatkami, gdy konwertujesz na współczesne ograniczenia moverów.
AlignPosition zaspokaja większość przypadków użycia obejmujących przestarzały BodyPosition mover. Aby zsynchronizować z tym, jak przestarzały mover traktował każdy komponent niezależnie i pozwalał na inną siłę wzdłuż każdego wymiaru, właściwość ForceLimitMode pozwala na działanie ograniczenia w trybie Magnitude lub PerAxis:
W trybie PerAxis, siła wzdłuż każdej osi może być określona niezależnie. Ponieważ maksymalna siła jest określona jako wektor, układ współrzędnych dla siły może być również określony za pomocą właściwości ForceRelativeTo z opcjami World, Attachment0 oraz Attachment1. Dodatkowo, formuła dla wewnętrznego kontrolera została zmodyfikowana, aby dopasować się do tej z BodyPosition.
AlignOrientation zaspokaja większość przypadków użycia obejmujących przestarzały BodyGyro mover. Tryby AlignType zapewniają wystarczającą swobodę dla większości aplikacji, a kombinacja wielu ograniczeń może zreplikować limit momentu wektorowego. Dodatkowo, tryb PrimaryAxisLookAt wymusza, aby główna oś pierwszego mocowania ograniczenia (Attachment0) zawsze wskazywała na drugie mocowanie (Attachment1), co znacznie ułatwia dodawanie takich rzeczy jak kamery zabezpieczające śledzące ruch lub naprowadzane pociski.
LinearVelocity zaspokaja większość przypadków użycia obejmujących przestarzały BodyVelocity mover. Chociaż przestarzały mover pozwala na wektor MaxForce, typowe zastosowanie tej wektorowej siły polegało na zerowaniu konkretnego komponentu, pozwalając na wyłączenie ograniczenia wzdłuż tego wymiaru. LinearVelocity osiąga podobny efekt, działając w różnych trybach VelocityConstraintMode, które odpowiadały jednemu (Line), dwóm (Plane) i trzem (Vector) wymiarom.
Dodatkowo, właściwość ForceLimitMode z opcją PerAxis uwzględnia wszelkie zastosowania wektorowej siły ze wszystkimi niezerowymi komponentami, takimi jak zwiększenie siły wzdłuż jednej osi, aby przeciwdziałać grawitacji.
Chociaż AngularVelocity ma pewne niezgodności z przestarzałym BodyAngularVelocity mover, specificzne przypadki związane z tymi niezgodnościami nie zostały podkreślone przez społeczność, ani wewnętrznie.
Jako osobna poprawa, AngularVelocity działa z Attachments, a właściwość RelativeTo pozwala ci określić CFrame, w którym siła jest określona, na przykład World lub Attachment1.
VectorForce zaspokaja wszystkie przypadki użycia oferowane przez przestarzałe BodyForce i BodyThrust movers. Nowoczesne ograniczenie działa z Attachments, a jego właściwość RelativeTo pozwala na stosowanie siły do względnego offsetu od centrum, podobnie jak BodyThrust.Location.
Kombinacja LineForce i AlignOrientation zaspokaja większość przypadków użycia obejmujących przestarzały RocketPropulsion mover. W przykładzie naprowadzanego pocisku, LineForce może być używane do kontrolowania zachowania "śledź cel" RocketPropulsion, podczas gdy AlignOrientation i jego właściwość LookAtPosition mogą być używane do kontrolowania zachowania "zwróć się w stronę celu".