Zespół to jeden lub więcej elementów spawanych przez sztywny WeldConstraint lub połączonych przez ruchome złącza, takie jak Motor6Ds. Możesz grupować zespół elementów w kontenerze modelu, aby szybko zorganizować elementy i związane obiekty jako jeden zasób.



Z perspektywy fizyki, zespół traktowany jest jako pojedyncze ciało sztywne, co oznacza, że żadna siła nie może wypchnąć ani pociągnąć połączonych elementów od siebie, a one będą poruszać się jako jedna jednostka. Wszystkie siły zastosowane do konkretnego BasePart są przekazywane do jego zespołu — na przykład, BasePart:ApplyImpulse() stosuje impuls do zespołu w punkcie BasePart.AssemblyCenterOfMass.
Właściwości zespołu
Poniższe właściwości BasePart pokazują dane dotyczące jego zespołu. Ich wartości będą takie same dla każdego elementu w tym samym zespole, więc nie ma znaczenia, którego elementu użyjesz.
| Właściwość | Opis |
|---|---|
| BasePart.AssemblyLinearVelocity | Wektor prędkości liniowej zespołu elementu. Ustawianie prędkości bezpośrednio może prowadzić do nerealistycznego ruchu, dlatego preferowane są użycie VectorForce lub LinearVelocity jako ograniczenia, lub BasePart:ApplyImpulse() dla natychmiastowej zmiany prędkości liniowej. |
| BasePart.AssemblyAngularVelocity | Wektor prędkości kątowej zespołu elementu. Ustawianie prędkości bezpośrednio może prowadzić do nerealistycznego ruchu, dlatego preferowane są użycie Torque lub AngularVelocity jako ograniczenia, lub BasePart:ApplyAngularImpulse() dla natychmiastowej zmiany prędkości kątowej. |
| BasePart.AssemblyCenterOfMass | Pozycja tylko do odczytu obliczana na podstawie masy i pozycji wszystkich elementów w zespole. Siła zastosowana w środku masy nie spowoduje przyspieszenia kątowego, tylko liniowe. |
| BasePart.AssemblyMass | Suma BasePart.Mass wszystkich elementów w zespole. Jeśli zespół zawiera zablokowany element, masa zespołu jest uważana za nieskończoną. |
| BasePart.AssemblyRootPart | Element automatycznie wybrany do reprezentowania głównego elementu zespołu. |
Główny element zespołu
Każdy zespół ma główny element, który jest wskazywany przez jego właściwość AssemblyRootPart. Jest to element, który nie porusza się, gdy transformacje Motor6D są aktualizowane, a także element używany do utrzymania spójnej replikacji fizyki i własności sieciowych.
Nie możesz jawnie ustawić głównego elementu, ale następujące czynniki wpływają na prawdopodobieństwo od najwyższego do najniższego:

Zablokowany Anchored element zawsze zostanie przypisany jako główny element.

Elementy z Massless ustawionym na false (domyślnie) mają pierwszeństwo.

Elementy o wyższych wartościach RootPriority mają pierwszeństwo.

Pierwszeństwo zależne od rozmiaru elementu (największa powierzchnia ściany), z mnożnikami dla konkretnych typów elementów. Seats oraz VehicleSeats otrzymują najwyższy mnożnik, następnie elementy o nazwie HumanoidRootPart, a następnie elementy o nazwie Torso.
Zachowanie zablokowania
Gdy jeden z elementów zespołu jest zablokowany, ten element staje się głównym elementem, a wszystkie inne elementy stają się zablokowane automatycznie razem z nim. Poniższa sekwencja ilustruje to zachowanie.
Poniżej cztery elementy są ze sobą spawane za pomocą WeldConstraints (zielone belki), tworząc pojedynczy zespół, co wskazuje odpowiadające kolorowe obrysowania.

Cztery elementy ze spawane, aby stworzyć jeden zespół Jeśli tylko jeden element w zespole jest zablokowany, zespół nie zmieni się, poza tym, że główny element może się zmienić (zablokowany element zawsze ma najwyższy priorytet dla zostania głównym elementem).

Zablokowany element (jak wskazuje ikona zakotwiczenia) staje się nowym głównym elementem Jeśli więcej niż jeden element jest zablokowany, zespół się dzieli. Poniżej, oba lewy i górny elementy są zablokowane, więc oryginalny zespół dzieli się na dwa zespoły, jak pokazują kolorowe obrysowania. Również, WeldConstraint między dwoma zespołami jest dezaktywowana, ponieważ nie możesz mieć aktywnego spawania między dwoma zablokowanymi zespołami.

Dwa zespoły z zablokowanymi elementami jako ich odpowiednie główne elementy