Ograniczenia moverów

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

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.

Prędkość liniowa

LinearVelocity stosuje siłę na zespole, aby utrzymać stałą prędkość wzdłuż wektora 3D, linii lub płaszczyzny 2D
Prędkość kątowa

AngularVelocity stosuje moment obrotowy na zespole, aby utrzymać stałą prędkość kątową
Wyrównaj pozycję

AlignPosition stosuje siłę do ruchu dwóch mocowań razem, lub do ruchu jednego mocowania do docelowej pozycji
Wyrównaj orientację

AlignOrientation stosuje moment obrotowy do wyrównania dwóch mocowań, lub do wyrównania jednego mocowania z docelową orientacją
Siła wektorowa

VectorForce stosuje stałą liniową siłę na zespole
Moment obrotowy

Torque stosuje stały moment obrotowy na zespole z jego środka masy
Siła w linii

LineForce stosuje siłę wzdłuż teoretycznej linii łączącej jego dwa mocowania
Wiązanie animacji

AnimationConstraint ogranicza swoje Attachments przez transformację offsetu CFrame.

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ż spawanie (AltW lub W) — Pokaż WeldConstraints oddzielnie od wizualizacji innych ograniczeń.
  • 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.

  1. 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.

    Wskaźniki ograniczeń wskazane w pasku narzędzi Studio
  2. 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.

  3. 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
    AngularVelocity używający jednego mocowania
    AlignPosition używający dwóch mocowań
    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 Magnitude, istniejące zachowanie jest zachowane, a MaxForce jest interpretowane jako wielkość.

  • 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".

©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.