조립체(assembly)는 강체 WeldConstraint에 의해 용접된 하나 이상의 부품 또는 Motor6Ds와 같은 이동 가능한 조인트를 통해 연결된 구성 요소입니다. 부품과 관련 객체를 단일 자산으로 신속하게 정리하기 위해 조립체의 부품을 모델 컨테이너에 그룹화할 수 있습니다.



물리학적 관점에서, 조립체는 단일 **강체(rigid body)**로 간주되며, 이는 연결된 부품들이 서로 밀거나 당길 수 없으며 단일 단위로 이동한다는 것을 의미합니다. 특정 BasePart에 적용된 모든 힘은 그 조립체에 적용됩니다 — 예를 들어, BasePart:ApplyImpulse()는 BasePart.AssemblyCenterOfMass에서 조립체에 импуль스를 적용합니다.
조립체 속성
다음 BasePart 속성은 조립체와 관련된 데이터를 보여줍니다. 이들의 값은 동일 조립체에 있는 모든 부품에 대해 동일하므로 어떤 부품을 사용해도 상관없습니다.
| 속성 | 설명 |
|---|---|
| BasePart.AssemblyLinearVelocity | 부품 조립체의 선형 속도 벡터. 속도를 직접 설정하는 것은 비현실적인 운동을 초래할 수 있으므로, VectorForce 또는 LinearVelocity 제약 조건을 사용하는 것이 좋으며, 선형 속도의 즉각적인 변화는 BasePart:ApplyImpulse()를 사용하십시오. |
| BasePart.AssemblyAngularVelocity | 부품 조립체의 각속도 벡터. 속도를 직접 설정하는 것은 비현실적인 운동을 초래할 수 있으므로, Torque 또는 AngularVelocity 제약 조건을 사용하는 것이 좋으며, 각속도의 즉각적인 변화는 BasePart:ApplyAngularImpulse()를 사용하십시오. |
| BasePart.AssemblyCenterOfMass | 모든 부품의 질량과 위치를 기반으로 계산된 읽기 전용 위치입니다. 질량 중심에 힘이 적용되면 각가속이 발생하지 않고 선형으로만 발생합니다. |
| BasePart.AssemblyMass | 조립체에 있는 모든 부품의 BasePart.Mass 합계입니다. 조립체에 앵커 부품이 있으면 조립체의 질량은 무한대로 간주됩니다. |
| BasePart.AssemblyRootPart | 조립체의 루트 부품을 나타내기 위해 자동으로 선택된 부품입니다. |
조립체 루트 부품
모든 조립체는 AssemblyRootPart 속성으로 표시되는 루트 부품을 가집니다. 이 부품은 Motor6D 변형이 업데이트될 때 움직이지 않으며, 일관된 물리 복제 및 네트워크 소유권을 유지하는 데 사용됩니다.
루트 부품을 명시적으로 설정할 수는 없지만, 다음 요소가 확률에 영향을 미칩니다(가장 높은 것부터 낮은 것까지):

Anchored 부품은 항상 루트 부품으로 할당됩니다.

Massless가 false(기본값)로 설정된 부품이 우선입니다.

높은 RootPriority 값이 우선합니다.

부품의 크기(가장 큰 면적)에 따라 우선 순위가 매겨지며, 특정 부품 유형에 대한 승수가 적용됩니다. Seats 및 VehicleSeats는 가장 높은 승수를 받고, HumanoidRootPart라는 이름의 부품이 그 다음, Torso라는 이름의 부품이 마지막입니다.
앵커링 동작
조립체의 부품 중 하나가 앵커링되면, 해당 부품이 루트 부품이 되고 나머지 부품은 암묵적으로 함께 앵커링됩니다. 다음 시퀀스는 이 동작을 설명합니다.
아래에서 네 개의 부품이 WeldConstraints(녹색 바)로 용접되어 하나의 조립체를 형성하며, 일치하는 색상 윤곽선으로 표시됩니다.

하나의 조립체로 용접된 네 개의 부품 조립체의 하나의 부품만 앵커링되면 조립체는 변하지 않으며, 루트 부품이 바뀔 가능성만 있을 뿐입니다(앵커링된 부품은 루트 부품이 될 경우 항상 가장 높은 우선 순위를 가집니다).

앵커 아이콘으로 표시된 앵커 부품이 새로운 루트 부품이 됩니다 둘 이상의 부품이 앵커링되면 조립체는 분리됩니다. 아래에서 왼쪽과 위의 두 부품이 앵커링되므로 원래 조립체가 색상 윤곽선으로 표시된 두 개의 조립체로 분리됩니다. 또한 두 조립체 간의 WeldConstraint가 비활성화됩니다. 왜냐하면 두 앵커링된 조립체 사이에서 활성 용접을 가질 수 없기 때문입니다.

각각 루트 부품을 가진 두 개의 조립체