Un assemblage est un ou plusieurs éléments soudés par un WeldConstraint rigide ou connectés par des joints mobiles, comme les Motor6Ds. Vous pouvez regrouper un assemblage d'éléments dans un conteneur modèle pour organiser rapidement les éléments et les objets associés en un seul actif.



D'un point de vue physique, un assemblage est considéré comme un corps rigide, ce qui signifie qu'aucune force ne peut pousser ou tirer les éléments connectés les uns des autres, et ils se déplaceront comme une seule unité. Toutes les forces appliquées à un BasePart spécifique sont appliquées à son assemblage — par exemple, BasePart:ApplyImpulse() applique une impulsion à l'assemblage au niveau de BasePart.AssemblyCenterOfMass.
Propriétés de l'assemblage
Les propriétés suivantes de BasePart montrent des données concernant son assemblage. Leurs valeurs seront les mêmes pour tout élément dans le même assemblage, donc peu importe quel élément vous utilisez.
| Propriété | Description |
|---|---|
| BasePart.AssemblyLinearVelocity | Le vecteur de vitesse linéaire de l'assemblage de l'élément. Définir la vitesse directement peut entraîner un mouvement irréaliste, donc l'utilisation d'une contrainte VectorForce ou LinearVelocity est préférée, ou BasePart:ApplyImpulse() pour un changement instantané de la vitesse linéaire. |
| BasePart.AssemblyAngularVelocity | Le vecteur de vitesse angulaire de l'assemblage de l'élément. Définir la vitesse directement peut entraîner un mouvement irréaliste, donc l'utilisation d'une contrainte Torque ou AngularVelocity est préférée, ou BasePart:ApplyAngularImpulse() pour un changement instantané de la vitesse angulaire. |
| BasePart.AssemblyCenterOfMass | Une position en lecture seule calculée via la masse et la position de tous les éléments dans l'assemblage. Une force appliquée au centre de masse ne provoquera pas d'accélération angulaire, seulement linéaire. |
| BasePart.AssemblyMass | La somme de la BasePart.Mass de tous les éléments dans l'assemblage. Si l'assemblage a un élément ancré, la masse de l'assemblage est considérée comme infinie. |
| BasePart.AssemblyRootPart | L'élément automatiquement choisi pour représenter la partie racine de l'assemblage. |
Partie racine de l'assemblage
Chaque assemblage a une partie racine indiquée par sa propriété AssemblyRootPart. C'est l'élément qui ne bouge pas lorsque les transformations Motor6D sont mises à jour, ainsi que l'élément utilisé pour maintenir une réplication physique cohérente et une propriété réseau.
Vous ne pouvez pas définir explicitement la partie racine, mais les facteurs suivants affectent la probabilité du plus élevé au plus bas :

Une partie Anchored sera toujours assignée comme la partie racine.

Les éléments avec Massless définis sur false (par défaut) ont la priorité.

Des valeurs RootPriority plus élevées ont la priorité.

La priorité est basée sur la taille de l'élément (plus grande surface), avec des multiplicateurs pour des types d'éléments spécifiques. Les Seats et VehicleSeats reçoivent le multiplicateur le plus élevé, suivis des éléments nommés HumanoidRootPart, puis des éléments nommés Torso.
Comportement d'ancrage
Lorsque l'un des éléments d'un assemblage est ancré, cet élément devient la partie racine et tous les autres éléments deviennent implicitement ancrés avec lui. La séquence suivante illustre ce comportement.
Ci-dessous, quatre éléments sont soudés ensemble avec des WeldConstraints (barres vertes) pour former un seul assemblage, comme indiqué par les contours colorés correspondants.

Quatre éléments soudés pour devenir un seul assemblage Si un seul élément de l'assemblage est ancré, l'assemblage ne changera pas, à part le fait que la partie racine peut potentiellement changer (l'élément ancré a toujours la plus haute priorité pour devenir la partie racine).

L'élément ancré (comme indiqué par une icône d'ancre) devient la nouvelle partie racine Si plus d'un élément est ancré, l'assemblage se divisera. Ci-dessous, les éléments de gauche et du haut sont ancrés, donc l'assemblage original se divise en deux assemblages comme le montrent les contours colorés. De plus, le WeldConstraint entre les deux assemblages se désactive, car vous ne pouvez pas avoir une soudure active entre deux assemblages ancrés.

Deux assemblages avec des éléments ancrés comme leurs parties racines respectives