Wirujące obiekty to obiekty, które obracają się wokół jednej lub więcej osi w przestrzeni 3D. Używając wbudowanej mocy silnika symulacji Roblox, możesz sprawić, że obiekty będą się obracały i interagowały z ich otoczeniem w sposób, który emuluje rzeczywiste zachowanie fizyczne, które jest znajome i intuicyjne dla graczy, takie jak grawitacja, aerodynamika i tarcie.
Używając pliku Wirujące Obiekty .rbxl jako odniesienia, ten przewodnik wyjaśnia, jak siły fizyczne wpływają na ruch kątowy w Studio i pokazuje różne techniki wirujących obiektów w twoich doświadczeniach z różnym zachowaniem obrotowym, w tym instrukcje dotyczące:
- Używania ogranicznika ruchu AngularVelocity, aby obracać całą złożoną całość z stałą prędkością kątową.
- Używania ogranicznika mechanicznego HingeConstraint, aby obracać część w ramach giętej całości z stałą prędkością kątową, podczas gdy reszta złożenia pozostaje nieruchoma.
- Używania metody ApplyAngularImpulse, aby obrócić złożoną całość z początkowym impulsem siły kątowej, aby złożona całość powoli hamowała w czasie.
Ruch kątowy i siły fizyczne
Roblox Studio to silnik symulacji rzeczywistej, który emuluje zachowanie fizyczne w czasie rzeczywistym, więc aby przewidzieć zachowanie wirujących obiektów w doświadczeniach, ważne jest, aby zrozumieć na wysokim poziomie, jak obiekty wirować w prawdziwym życiu w ruchu kątowym.
Ruch kątowy, lub ruch obrotowy, to ruch wokół ustalonego punktu lub osi. Na przykład, gdy śmigło ma ruch kątowy, obraca się wokół swojej osi obrotu znajdującej się w środku śmigła.

Ruch kątowy nie może istnieć bez zewnętrznych, fizycznych sił popychających lub ciągnących obiekty do obrotu. Zgodnie z pierwszą zasadą ruchu Newtona, obiekty nieruchome pozostają nieruchome, a ruchome obiekty poruszają się z stałą prędkością, chyba że działają na nie zewnętrzne siły. Na przykład, nieruchome śmigło pozostaje nieruchome, chyba że fizyczna siła, jak wiatr, pchnie je do obrotu.
Moment obrotowy to miara siły fizycznej, która powoduje obrót obiektów i jest odpowiedzialna za uzyskanie przez obiekty przyspieszenia kątowego. Koncepcja ta jest szczególnie ważna dla obiektów wirujących w Studio; im więcej momentu obrotowego zastosujesz na obiektach, tym szybciej mogą przyspieszać.
Dzieje się tak dlatego, że moment obrotowy musi być większy niż jakiekolwiek kierunkowe siły fizyczne działające przeciwko obiektowi, takie jak grawitacja czy tarcie. Na przykład, jeśli umieścisz śmigło w ziemi, siła fizyczna wiatru musi przezwyciężyć ilość tarcia ze ziemi, aby kontynuować przyspieszanie wirującego śmigła. Jeśli siła wiatru nie jest znacznie większa niż tarcie z ziemi, śmigło przyspiesza, ale wolniej niż w poprzednim przykładzie.

Prędkość kątowa to miara szybkości obrotu obiektu, lub jak szybko obiekt obraca się wokół ustalonego punktu lub osi w określonym czasie. Studio mierzy prędkość kątową w zależności od ilości radianów, które obiekt obraca na sekundę. W jednym obrocie znajduje się 2π radianów (6.283), więc aby obiekt wykonał pełny obrót w ciągu sekundy, musi mieć wystarczająco dużo momentu obrotowego, aby obrócić się o 6 radianów. Zrozumienie prędkości kątowej jest ważne przy projektowaniu gry w twoich doświadczeniach, ponieważ pomaga określić, ile momentu obrotowego potrzebujesz, aby osiągnąć określone przyspieszenie dla twoich wirujących obiektów.
Następujące sekcje zgłębiają te koncepcje, gdy uczysz się, jak obracać obiekty z stałą lub początkową prędkością kątową z niezbędnym momentem obrotowym, aby przezwyciężyć wszelkie opozycyjne siły fizyczne w środowisku. Przeglądając te koncepcje fizyczne z nadchodzącymi technikami, możesz dokładniej przewidzieć, jak dostosować wartości właściwości, aby osiągnąć jakiekolwiek idealne zachowanie wirujące w Studio.
Utrzymuj stałą siłę kątową
Aby obiekt osiągnął i utrzymał stałą prędkość kątową, potrzebuje siły kątowej, aby przezwyciężyć wszelkie opozycyjne siły fizyczne, które albo spowalniają prędkość kątową obiektu, albo powodują, że obiekt pozostaje nieruchomy. Na przykład, jeśli chcesz, aby obiekt miał prędkość kątową [0, 12, 0] w Studio, potrzebujesz wystarczająco dużo momentu obrotowego, aby obiekt mógł osiągnąć i utrzymać 12 radianów na sekundę wzdłuż osi Y w swoim środowisku, co odpowiada około dwóm pełnym obrotom na sekundę.
Ilość momentu obrotowego, który stosujesz na swoich obiektach, zależy nie tylko od opozycyjnych sił fizycznych w samym środowisku, takich jak grawitacja i tarcie, ale także od samego obiektu. Na przykład, jeśli masz dwa obiekty o tej samej formie obracające się na tej samej osi, większy obiekt z większym momentem bezwładności wymaga więcej momentu obrotowego, aby osiągnąć to samo przyspieszenie kątowe.
Następujące podsekcje używają złożeń o różnych kształtach i rozmiarach, aby nauczyć cię, jak obracać całą całość lub tylko część obiektu. Eksperymentując z różnymi wartościami właściwości, nauczysz się, jak oszacować maksymalną ilość momentu obrotowego potrzebną do złożeń w swoich doświadczeniach.
Użyj ograniczeń AngularVelocity
Obiekty AngularVelocity to rodzaj ogranicznika ruchu, który stosuje moment obrotowy na całą złożoną całość, aby utrzymać stałą prędkość kątową. Aby rozpocząć obracanie złożonej całości, ogranicznik AngularVelocity musi wiedzieć:
- Punkt i kierunek pozytywny lub negatywny, w którym należy zastosować siłę kątową.
- Ilość radianów, które chcesz, aby złożona całość obracała się na sekundę.
- Maksymalną ilość momentu obrotowego, którą silnik może zastosować, aby złożona całość osiągnęła stałą prędkość kątową.
Aby zademonstrować ten proces, dodasz blok do swojej przestrzeni roboczej z załącznikiem, do którego odnosi się ogranicznik AngularVelocity, aby obrócić blok o 6 radianów na sekundę wzdłuż osi Y świata z zachowaniem stałej prędkości kątowej, co odpowiada jednemu pełnemu obrotowi.

Dodaj załącznik
Możesz określić stały punkt do obracania złożonej całości, dodając obiekt Attachment do złożonej całości, a następnie konfigurować pozycję załącznika w przestrzeni 3D. Przykład Wirujących Obiektów umieszcza załącznik w środku bloku, aby ogranicznik mógł obracać część w kierunku przeciwnym do ruchu wskazówek zegara wokół środka samej siebie.
Załączniki zawierają wizualne wskazówki, które pomagają wizualizować ich osie obrotu. Żółta strzałka oznacza główną oś załącznika, a pomarańczowa strzałka oznacza drugą oś załącznika. Chociaż żadna z osi obrotu nie wpływa na obrót bloku w krokach tej techniki, ważne jest, aby zrozumieć te wizualne wskazówki dla przyszłego odniesienia, ponieważ mogą one pomóc w określeniu idealnego zachowania dla różnych typów ograniczników, takich jak HingeConstraint w następnej technice.

Aby dodać załącznik:
W oknie Eksploratora wstaw część bloku do Przestrzeni roboczej.

Wstaw załącznik do nowej części.
- W oknie Eksploratora najedź na część i kliknij przycisk ⊕. Pojawia się menu kontekstowe.
- Z menu wstaw Załącznik. Załącznik wyświetli się w środku części.
- Zmień nazwę załącznika na SpinAttachment.

Skonfiguruj ogranicznik
Teraz, gdy twój blok ma stały punkt do jego obrotu, możesz skonfigurować właściwości ogranicznika AngularVelocity, aby określić kierunek obrotu, oś lub osie, na które należy zastosować docelową stałą prędkość kątową, ilość radianów, które chcesz, aby blok obracał się na sekundę, oraz maksymalną ilość momentu obrotowego, którą silnik może zastosować, aby blok osiągnął stałą prędkość kątową.
W przykładowym doświadczeniu Wirujące Obiekty stosuje się do 1000 Rowton-studów stałej siły kątowej, aby obrócić blok o 6 radianów na sekundę wzdłuż osi Y świata z zachowaniem stałej prędkości kątowej. Rowton-study to podstawowe jednostki fizyczne Roblox do pomiaru momentu obrotowego. Aby zapoznać się z jednostkami fizycznymi Roblox i ich przeliczeniem na jednostki metryczne, zapoznaj się z Jednostkami Roblox.
Aby skonfigurować ogranicznik AngularVelocity:
Aby uczynić ogranicznik widocznym w widoku, aby można było odnieść się do jego kierunku obrotu, włącz Pokaż szczegóły ogranicznika z menu Widok w Studio.
Wstaw ogranicznik AngularVelocity do części.
- W oknie Eksploratora najedź na część, a następnie kliknij ikonę ⊕. Pojawia się menu kontekstowe.
- Z menu kontekstowego wstaw AngularVelocity. Wizualna wskazówka ogranicznika wyświetli się w środku części.
Przypisz załącznik części do nowego ogranicznika.
- W oknie Eksploratora wybierz ogranicznik.
- W oknie Właściwości,
- Ustaw Attachment0 na SpinAttachment.
- Ustaw AngularVelocity na 0, 6, 0, aby obrócić część o 6 radianów na sekundę wzdłuż osi Y. Zauważ, że jeśli ustawisz tę właściwość na 0, -6, 0, blok obróci się w kierunku zgodnym z ruchem wskazówek zegara.
- Ustaw MaxTorque na 1000, aby zastosować do 1000 Rowton-studów stałej siły kątowej na sekundę, aby osiągnąć docelową prędkość kątową.
- Ustaw RelativeTo na World, aby obrócić blok w stosunku do pozycji i orientacji świata.

Zweryfikuj, że ilość momentu obrotowego, którą ustawiłeś, obraca blok o 6 radianów na sekundę wzdłuż osi Y świata.
Wybierz tryb symulacji Uruchom z rozwijanego menu mezzaniny i kliknij przycisk Graj, aby rozpocząć. Studio symuluje doświadczenie w aktualnej pozycji kamery bez twojej postaci w przestrzeni 3D.

Możesz potrzebować dostosować moment obrotowy w zależności od skali bloku i wszelkich opozycyjnych sił fizycznych w swoim otoczeniu. Na przykład, właściwości ogranicznika AngularVelocity w przykładowym doświadczeniu działają dla bloku o domyślnym rozmiarze 4, 1, 2 na płaskiej platformie z plastiku i środowisku o klasycznych ustawieniach grawitacji.
Jednak jeśli twój blok jest większy i znajduje się na terenie trawnika, musisz zwiększyć właściwość AngularVelocity.MaxTorque, ponieważ siła kątowa musi przezwyciężyć zarówno masę bloku, jak i tarcie z otoczenia. Na przykład, duży blok, który jest czterokrotnie większy od części przykładowej, potrzebuje przynajmniej 300000 Rowton-studów stałej siły kątowej, aby osiągnąć ustawioną prędkość kątową!
Użyj ograniczeń HingeConstraint
Obiekty HingeConstraint to rodzaj ogranicznika mechanicznego, który pozwala dwóm załącznikom obracać się wokół jednej osi, ograniczając załączniki do tej samej pozycji i ich głównych osi w tym samym kierunku. Gdy ustawisz HingeConstraint.ActuatorType na Silnik, ten ogranicznik stosuje moment obrotowy na dwa załączniki, mając na celu, aby załączniki osiągnęły i utrzymały stałą prędkość kątową.
Ponadto, gdy umieszczasz załączniki w złożeniu z dwoma obiektami, obiekty łączą się razem i próbują obracać się razem zgodnie z ustaloną główną osią załącznika. Jeśli zakotwiczysz jeden z tych obiektów, siła kątowa nadal będzie obracać drugi obiekt ze stałą prędkością kątową, podczas gdy reszta złożenia pozostaje nieruchoma.
Na przykład, aby rozpocząć obracanie określonego obiektu w złożeniu, ogranicznik HingeConstraint musi wiedzieć:
- Pozycję, w której chcesz, aby załączniki się pokryły.
- Punkt i kierunek pozytywny lub negatywny, w którym należy zastosować siłę kątową.
- Ilość radianów, które chcesz, aby załącznik obracał się na sekundę.
- Maksymalną ilość momentu obrotowego, którą silnik może zastosować, aby załącznik osiągnął stałą prędkość kątową.
Aby zademonstrować ten proces, dodasz złożenie śmigła z dwoma obiektami do swojej przestrzeni roboczej z załącznikami w obu obiektach, do których odnosi się ogranicznik HingeConstraint, aby obrócić śmigło o 3 radiany na sekundę (około pół pełnego obrotu na sekundę) wzdłuż osi Y z zachowaniem stałej prędkości kątowej, podczas gdy podstawa śmigła pozostaje nieruchoma.

Pozyskaj zasób śmigła
Sklep Twórcy to zakładka w Narzędziowni, którą możesz wykorzystać do znalezienia wszystkich zasobów stworzonych przez Roblox i społeczność Roblox do wykorzystania w swoich projektach, w tym zasobów modelu, obrazów, siatek, dźwięków, wtyczek, wideo i czcionek. Możesz użyć Sklepu Twórcy, aby dodać pojedynczy zasób lub bibliotekę zasobów bezpośrednio do otwartego doświadczenia.
Ten przewodnik odnosi się do modelu śmigła, którego możesz użyć, gdy będziesz replikować każdy krok techniki HingeConstraint obracania obiektów. Aby wprowadzić ten zasób śmigła z twojego ekwipunku do twojego doświadczenia:
Dodaj śmigło do swojego ekwipunku.
- Przejdź do strony szczegółów zasobu w Sklepie Twórcy.
- W prawym górnym rogu kliknij przycisk Pobierz model. Zasób śmigła jest teraz w twoim ekwipunku i możesz go wykorzystać w każdym projekcie na platformie.
W Studio przejdź do zakładki Strona główna, a następnie kliknij przycisk Narzędziownia. Okno Narzędziowni otworzy się.

W oknie Narzędziowni kliknij zakładkę Ekwipunek. Wyświetli się sortowanie Moje modele.

Kliknij kafelek Śmigło. Model wyświetli się w twoim widoku.

Skonfiguruj załączniki
Możesz określić zarówno pozycję, w której chcesz, aby załączniki się pokryły, jak i kierunek ruchu obrotowego, aby obrócić dany obiekt w złożeniu, dodając dwa obiekty Attachment do złożenia, a następnie konfigurując ich wyrównanie i orientację w przestrzeni 3D.
Przykładowe doświadczenie Wirujące Obiekty ustawia dwa załączniki w pobliżu pozycji, w której niezakotwiczony wirnik pokrywa się z zakotwiczonym podłożem, oraz ustawia ich główną oś obrotu w górę, aby obracały się w kierunku przeciwnym do ruchu wskazówek zegara. Załącznik podstawy w tym przykładzie nie może się obracać, ponieważ podstawa jest zakotwiczona.
Aby skonfigurować załączniki dla ogranicznika zawiasów:
Wstaw obiekt Attachment do Głowy i Podstawy.
- W oknie Eksploratora najedź na Głowę i kliknij przycisk ⊕. Pojawia się menu kontekstowe.
- Z menu wstaw Załącznik.
- Powtórz ten proces dla Podstawy.
- Zmień nazwy obu załączników na odpowiednio HeadAttachment i BaseAttachment.

Obrać HeadAttachment i BaseAttachment, aby główna oś każdego załącznika skierowana była do góry na osi Y. To wskazuje Studio, aby obracać załączniki w kierunku przeciwnym do ruchu wskazówek zegara.

Przenieś BaseAttachment na szczyt Podstawy, a HeadAttachment na dolny brzeg Śmigła. To wskazuje Studio, gdzie połączyć sam zawias i przesunąć oba załączniki w czasie działania.

Skonfiguruj ogranicznik
Teraz, gdy twoje załączniki mają pozycję pokrywającą się i kierunek ruchu obrotowego, możesz skonfigurować właściwości ogranicznika HingeConstraint, aby określić ilość radianów, które chcesz, aby załącznik obracał się na sekundę, oraz maksymalną ilość momentu obrotowego, którą silnik może zastosować, aby załącznik osiągnął stałą prędkość kątową.
Podobnie jak w poprzedniej technice, przykładowe doświadczenie Wirujące Obiekty stosuje do 1000 Rowton-studów stałej siły kątowej, aby obrócić załącznik o 3 radiany na sekundę wzdłuż osi Y z zachowaniem stałej prędkości kątowej. Jednak, ponieważ załącznik podstawy znajduje się w zakotwiczonym obiekcie, tylko załącznik wirnika może się obracać.
Aby skonfigurować ogranicznik zawiasów:
Wstaw obiekt HingeConstraint do Głowy.
- W oknie Eksploratora najedź na Głowę, a następnie kliknij ikonę ⊕. Pojawia się menu kontekstowe.
- Z menu kontekstowego wstaw HingeConstraint.
Przypisz załączniki wirnika do nowego ogranicznika, aby wirnik obracał się w stosunku do zakotwiczonej podstawy.
- W oknie Eksploratora wybierz ogranicznik.
- W oknie Właściwości,
- Ustaw Attachment0 na BaseAttachment.
- Ustaw Attachment1 na HeadAttachment. Zawias wyświetli się w widoku.

W oknie Eksploratora wybierz ogranicznik, a następnie w oknie Właściwości,
- Ustaw ActuatorType na Silnik. Pojawia się nowe pola właściwości.
- Ustaw MotorMaxTorque na 1000, aby zastosować do 1000 Rowton-studów stałej siły kątowej w celu osiągnięcia docelowej prędkości kątowej.
- Ustaw AngularVelocity na 3, aby obrócić głowę śmigła o 3 radiany na sekundę.

Zweryfikuj, że ilość momentu obrotowego, którą ustawiłeś, obraca wirnik o 3 radiany na sekundę wzdłuż osi Y.
Wybierz tryb symulacji Uruchom z rozwijanego menu mezzaniny i kliknij przycisk Graj, aby rozpocząć. Studio symuluje doświadczenie w aktualnej pozycji kamery bez twojej postaci w przestrzeni 3D.

Zastosuj początkową siłę kątową
Innym sposobem zmiany prędkości kątowej obiektu jest zastosowanie impulsu siły kątowej. Po impulsie siły kątowej obiekt albo zwalnia, aż stanie się nieruchomy, jeśli istnieje siła przeciwna, taka jak tarcie, albo pozostaje w ruchu z stałą prędkością, jeśli nie ma żadnych sił opozycyjnych.
Ta technika jest przydatna do obracania obiektów po znaczącym zdarzeniu rozgrywki lub pogodowym, takim jak silny podmuch wiatru, ponieważ zapewnia graczom natychmiastową informację zwrotną. Aby zademonstrować, poniższa podsekcja nauczy cię, jak obrócić złożoną całość z początkową losową siłą kątową, którą możesz dostosować do swoich własnych wymagań rozgrywki.
Użyj ApplyAngularImpulse
Metoda ApplyAngularImpulse stosuje moment obrotowy na całą złożoną całość, aby uzyskać początkową prędkość kątową przed spowolnieniem do zatrzymania. Aby rozpocząć obracanie złożonej całości, metoda musi wiedzieć:
- Złożona całość do obrotu.
- Oś, na którą należy zastosować moment obrotowy, aby osiągnąć początkową prędkość kątową.
- Ilość momentu obrotowego do zastosowania na każdej osi.
Możesz zdefiniować wszystkie te wartości w skrypcie. Na przykład, przykładowy skrypt definiuje złożoną całość do obrotu jako rodzica skryptu, a następnie stosuje losowy impuls siły kątowej między 0 a 100 Rowton-studów wzdłuż osi Y.
Aby obrócić złożoną całość, używając ApplyAngularImpulse:
Wstaw część kuli do Przestrzeni roboczej. Przykład używa kuli z MaterialVariant, abyś mógł wyraźnie zobaczyć ruch kuli.

Wstaw skrypt do nowej części.
- W oknie Eksploratora najedź na część i kliknij przycisk ⊕. Pojawia się menu kontekstowe.
- Z menu wstaw Skrypt.
Zastąp domyślny kod następującym kodem:
local part = script.Parentlocal impulse = Vector3.new(0, math.random(0, 100), 0)part:ApplyAngularImpulse(impulse)