Un assemblage est un ou plusieurs objets soudés par un WeldConstraint rigide ou connectés par des joints mobiles, comme les Motor6Ds. Vous pouvez regrouper un assemblage de pièces dans un conteneur modèle pour organiser rapidement les pièces 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 repousser ou tirer les pièces connectées l'une de l'autre, et elles se déplaceront comme une seule unité. Toutes les forces appliquées à une BasePart spécifique sont appliquées à son assemblage — par exemple, BasePart:ApplyImpulse() applique une impulsion à l'assemblage au BasePart.AssemblyCenterOfMass.
Propriétés de l'assemblage
Les propriétés BasePart suivantes montrent les données concernant son assemblage. Leurs valeurs seront les mêmes pour toutes les pièces dans le même assemblage, donc peu importe laquelle vous utilisez.
| Propriété | Description |
|---|---|
| BasePart.AssemblyLinearVelocity | Le vecteur de vitesse linéaire de l'assemblage de la pièce. Définir la vitesse directement peut conduire à 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 la pièce. Définir la vitesse directement peut conduire à 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 toutes les pièces 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 toutes les pièces dans l'assemblage. Si l'assemblage a une pièce ancrée, la masse de l'assemblage est considérée comme infinie. |
| BasePart.AssemblyRootPart | La pièce automatiquement choisie 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 la pièce qui ne bouge pas lorsque les transformations Motor6D sont mises à jour, ainsi que la pièce utilisée pour maintenir une réplication physique et une propriété réseau cohérentes.
Vous ne pouvez pas définir explicitement la partie racine, mais les facteurs suivants affectent la probabilité de manière décroissante :

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

Les pièces avec Massless définies sur false (par défaut) prennent la priorité.

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

Priorité basée sur la taille de la pièce (surface de face la plus grande), avec des multiplicateurs pour des types de pièces spécifiques. Les Seats et VehicleSeats reçoivent le multiplicateur le plus élevé, suivi des pièces nommées HumanoidRootPart, puis des pièces nommées Torso.
Comportement d'ancrage
Lorsqu'une des pièces d'un assemblage est ancrée, cette pièce devient la partie racine et toutes les autres pièces deviennent implicitement ancrées avec elle. La séquence suivante illustre ce comportement.
Ci-dessous, quatre pièces sont soudées ensemble avec des WeldConstraints (barres vertes) pour former un seul assemblage, comme indiqué par les contours colorés correspondants.

Quatre pièces soudées pour devenir un seul assemblage Si une seule pièce dans l'assemblage est ancrée, l'assemblage ne changera pas, sauf la pièce racine pouvant changer (la partie ancrée a toujours la plus haute priorité pour devenir la partie racine).

La pièce ancrée (comme indiqué par une icône d'ancre) devient la nouvelle partie racine Si plus d'une pièce est ancrée, l'assemblage se sépare. Ci-dessous, les pièces de gauche et de dessus sont ancrées, donc l'assemblage d'origine 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 pièces ancrées comme leurs parties racines respectives