System snu

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

Każdy zespół w silniku Roblox odpowiada pojedynczemu ciału sztywnemu. Pozycja i prędkość każdego ciała sztywnego opisują, gdzie się znajduje i jak szybko się porusza, a jednym z głównych zadań silnika jest aktualizacja pozycji i prędkości każdego zespołu.

Zespoły mogą być ze sobą połączone przy użyciu ograniczeń mechanicznych i ograniczeń ruchu, aby tworzyć mechanizmy takie jak samochody czy samoloty. W miarę jak liczba zespołów i ograniczeń w mechanizmie rośnie, czas potrzebny na symulację mechanizmu również rośnie. Na szczęście ten wzrost jest kompensowany, gdy system snu stwierdza, że silnik może pominąć symulację nieruchomych zespołów.

Stany snu

Każdy zespół może znajdować się w jednym z trzech stanów: wybudzony, śpiący lub sprawdzający sen.

Wybudzony

Wybudzony zespół się porusza lub przyspiesza, dlatego jest symulowany. Zespoły wchodzą w ten stan z sytuacji opisanych w śpiący i sprawdzający sen, a także z dodatkowych sytuacji wybudzających.

Śpiący

Śpiący zespół ani się nie porusza, ani nie przyspiesza, dlatego nie jest symulowany.

Uznawane za nieruchome jest skład zespołu przez sprawdzenie jego prędkości liniowej i prędkości obrotowej. Jeśli jego prędkość liniowa jest mniejsza niż próg Prędkości Liniowej a jego prędkość obrotowa jest mniejsza niż próg Prędkości Obrotowej, zespół jest uznawany za nieruchomy.

W niektórych przypadkach samo sprawdzanie braku ruchu mogłoby spowodować, że zespół błędnie wejdzie w stan śpiący. Na przykład, jeśli piłka zostanie rzucona w górę, jej prędkość zbliża się do zera, gdy osiąga maksymalną wysokość, przez co może stać się kandydatem do snu i nigdy nie spaść z powrotem. Aby radzić sobie z takimi sytuacjami, silnik uznaje zespół za przyspieszający, jeśli jego przyspieszenie liniowe lub przyspieszenie obrotowe są większe niż progi Przyspieszenia Liniowego i Przyspieszenia Obrotowego, odpowiednio, i zapobiega zasypianiu zespołu.

Sprawdzający sen

Nieruchomy zespół, który dzieli ograniczenie z co najmniej jednym wybudzonym sąsiednim zespołem, przechodzi w stan sprawdzania snu i nie jest symulowany. Na każdym kroku świata, zespół sprawdzający sen ocenia, czy:

Jeśli którekolwiek z tych warunków jest prawdziwe, lub w przypadku jakiejkolwiek z dodatkowych sytuacji wybudzających, zespół sprawdzający sen wchodzi w stan wybudzenia.

Wskazówki dotyczące progów

Poniższa tabela zawiera różne progi prędkości i przyspieszenia używane do określenia, czy zespół się porusza lub przyspiesza.

PrógWartośćZmiana stanu
Prędkość Liniowa0.33 studs/swybudzonyśpiący
Prędkość Obrotowa0.42 studs/swybudzonyśpiący
Przyspieszenie Liniowe0.24 studs/s²wybudzonyśpiący
Przyspieszenie Obrotowe0.24 studs/s²wybudzonyśpiący
Prędkość Liniowa Sąsiedniego0.48 studs/ssprawdzający senwybudzony
Prędkość Obrotowa Sąsiedniego0.59 studs/ssprawdzający senwybudzony
Wybudzanie Przyspieszenia Liniowego16.9 studs/s²wybudzonyśpiący
Wybudzanie Przyspieszenia Obrotowego16.9 studs/s²wybudzonyśpiący

Progi prędkości i przyspieszenia obrotowego odzwierciedlają prędkość i przyspieszenie punktu znajdującego się na sferze ograniczającej zespołu (sferze, która obejmuje wszystkie części w zespole), który porusza się sztywno z zespołem.

Osiągane złącza

Czasami programiści chcą poruszać części bardzo powoli za pomocą osiąganego złącza, ograniczenia, które stosuje siłę lub ruch, aby napędzać połączone części, na przykład HingeConstraint używając Motor. Aby wspierać te scenariusze, zespoły połączone z osiąganymi złączami używają surowszego progu prędkości snu. To opóźnia moment, w którym te zespoły zapadają w sen, pozwalając na powolny, kontrolowany ruch bez prethystizującego zasypiania przez system fizyki.

Poniższe są uznawane za osiągane złącza:

Dodatkowe sytuacje wybudzające

Oprócz sytuacji opisanych w sprawdzaniu snu i śpiący, zespół wchodzi w stan wybudzenia, gdy:

Wizualizacja debugowania

Podczas testowania, możesz wizualizować stany snu zespołów poprzez włączenie Wybudowanych części w widgetcie Opcje Wizualizacji w górnym prawym rogu widoku 3D.

Zbliżenie widoku 3D z zaznaczeniem przycisku Opcje wizualizacji w górnym prawym rogu.

Po włączeniu, symulowane części będą konturami, które reprezentują ich aktualny stan snu, z wybudowanymi częściami konturowymi na czerwono, sprawdzającymi sen częściami konturowymi na pomarańczowo, a śpiącymi częściami bez konturu.

Symulowane części konturowe w kolorze reprezentującym ich aktualny stan snu
©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.