การ ประกอบ คือหนึ่งหรือมากกว่า ชิ้นส่วน ที่ถูกเชื่อมด้วย WeldConstraint หรือเชื่อมต่อผ่านข้อต่อที่เคลื่อนที่ได้ เช่น Motor6Ds คุณสามารถจัดกลุ่มการประกอบของชิ้นส่วนใน โมเดล เพื่อจัดระเบียบชิ้นส่วนและวัตถุที่เกี่ยวข้องเป็นสินทรัพย์เดียวอย่างรวดเร็ว



จากมุมมองทางฟิสิกส์ การประกอบถือเป็น ร่างกายที่แข็ง เพียงหน่วยเดียว หมายความว่าไม่มีแรงใดสามารถดึงหรือผลักชิ้นส่วนที่เชื่อมต่อออกจากกันได้ และพวกมันจะเคลื่อนที่เป็นหน่วยเดียวกัน แรงทั้งหมดที่ใช้กับ 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 ระหว่างสองการประกอบจะถูกปิดใช้งาน เนื่องจากคุณไม่สามารถมีการเชื่อมที่ทำงานระหว่างสองการประกอบที่ถูกยึด

สองการประกอบที่มีชิ้นส่วนที่ถูกยึดเป็นรากชิ้นส่วนตามลำดับ