Een assemblage is een of meer onderdelen die zijn gelast door een rigide WeldConstraint of verbonden zijn via beweegbare gewrichten, zoals Motor6Ds. Je kunt een assemblage van onderdelen groeperen in een model container om de onderdelen en gerelateerde objecten snel te organiseren als een enkele asset.



Vanuit een fysisch perspectief wordt een assemblage beschouwd als een enkele rigide lichaam, wat betekent dat geen enkele kracht de verbonden onderdelen van elkaar kan duwen of trekken, en ze zullen als een enkele eenheid bewegen. Alle krachten die op een specifiek BasePart worden toegepast, worden op zijn assemblage toegepast — bijvoorbeeld, BasePart:ApplyImpulse() past een impuls toe op de assemblage bij BasePart.AssemblyCenterOfMass.
Assemblage-eigenschappen
De volgende BasePart eigenschappen tonen gegevens met betrekking tot zijn assemblage. Hun waarden zullen hetzelfde zijn voor elk onderdeel in dezelfde assemblage, dus het maakt niet uit welk onderdeel je gebruikt.
| Eigenschap | Beschrijving |
|---|---|
| BasePart.AssemblyLinearVelocity | De lineaire snelheidsvector van de assemblage van het onderdeel. Het direct instellen van de snelheid kan leiden tot onrealistische beweging, dus het gebruik van een VectorForce of LinearVelocity beperking heeft de voorkeur, of BasePart:ApplyImpulse() voor een onmiddellijke verandering in lineaire snelheid. |
| BasePart.AssemblyAngularVelocity | De hoeksnelheidsvector van de assemblage van het onderdeel. Het direct instellen van de snelheid kan leiden tot onrealistische beweging, dus het gebruik van een Torque of AngularVelocity beperking heeft de voorkeur, of BasePart:ApplyAngularImpulse() voor een onmiddellijke verandering in hoeksnelheid. |
| BasePart.AssemblyCenterOfMass | Een alleen-lezen positie die is berekend via de massa en positie van alle onderdelen in de assemblage. Een kracht die op het zwaartepunt wordt toegepast, zal geen hoeksversnelling veroorzaken, alleen lineaire. |
| BasePart.AssemblyMass | De som van de BasePart.Mass van alle onderdelen in de assemblage. Als de assemblage een verankerd onderdeel heeft, wordt de massa van de assemblage als oneindig beschouwd. |
| BasePart.AssemblyRootPart | Het onderdeel dat automatisch is gekozen om het wortelonderdeel van de assemblage weer te geven. |
Wortelonderdeel van de assemblage
Elke assemblage heeft een wortelonderdeel dat wordt aangegeven door zijn AssemblyRootPart eigenschap. Dit is het onderdeel dat niet beweegt wanneer Motor6D transformaties worden bijgewerkt, evenals het onderdeel dat wordt gebruikt om consistente fysica-replicatie en netwerkbezit te behouden.
Je kunt het wortelonderdeel niet expliciet instellen, maar de volgende factoren beïnvloeden de waarschijnlijkheid van hoog naar laag:

Een Anchored onderdeel zal altijd worden toegewezen als het wortelonderdeel.

Onderdelen met Massless ingesteld op false (standaard) hebben voorrang.

Hogere RootPriority waarden hebben voorrang.

Voorrang op basis van de grootte van het onderdeel (grootste oppervlakte), met vermenigvuldigers voor specifieke onderdeeltypes. Seats en VehicleSeats ontvangen de hoogste vermenigvuldiger, gevolgd door onderdelen genaamd HumanoidRootPart, en dan onderdelen genaamd Torso.
Gedrag bij verankering
Wanneer een van de onderdelen van een assemblage is verankerd, wordt dat onderdeel het wortelonderdeel en worden alle andere onderdelen impliciet met het verankerde onderdeel verankerd. De volgende volgorde illustreert dit gedrag.
Hieronder zijn vier onderdelen aan elkaar gelast met WeldConstraints (groene stangen) om een enkele assemblage te vormen, zoals aangegeven door de bijpassende gekleurde omtrekken.

Vier onderdelen gelast om een enkele assemblage te worden Als slechts één onderdeel in de assemblage is verankerd, zal de assemblage niet veranderen, behalve dat het wortelonderdeel mogelijk verandert (het verankerde onderdeel heeft altijd de hoogste prioriteit om het wortelonderdeel te worden).

Verankerd onderdeel (aangegeven met een ankericoon) wordt het nieuwe wortelonderdeel Als meer dan één onderdeel is verankerd, zal de assemblage splitsen. Hieronder zijn zowel de linker als de bovenste onderdelen verankerd, zodat de oorspronkelijke assemblage in twee assemblages splitst zoals weergegeven door de gekleurde omtrekken. Ook de WeldConstraint tussen de twee assemblages deactiveert, aangezien je geen actieve lasverbinding kunt hebben tussen twee verankerde assemblages.

Twee assemblages met verankerde onderdelen als hun respectieve wortelonderdelen