ระบบการนอนหลับ

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

แต่ละ ประกอบ ใน Roblox Engine จะตรงกับ ร่างกายที่แข็ง เพียงร่างเดียว ตำแหน่งและความเร็วของร่างกายที่แข็งแต่ละตัวจะอธิบายว่ามันตั้งอยู่ที่ไหนและเคลื่อนที่เร็วแค่ไหน และหนึ่งในงานหลักของเอนจิ้นคือการอัปเดตตำแหน่งและความเร็วของแต่ละประกอบ

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

สถานะการนอนหลับ

ประกอบแต่ละชิ้นสามารถอยู่ในหนึ่งในสามสถานะ: ตื่น, นอนหลับ, หรือ ตรวจสอบการนอนหลับ

ตื่น

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

นอนหลับ

ประกอบที่ นอนหลับ จะไม่เคลื่อนที่หรือเร่ง และจึงไม่ได้ถูกจำลอง

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

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

ตรวจสอบการนอนหลับ

ประกอบที่ไม่เคลื่อนที่ซึ่งแชร์ข้อจำกัดกับประกอบเพื่อนบ้านที่ ตื่น อย่างน้อยหนึ่งองค์ประกอบ จะถูกนำเข้าสู่สถานะ ตรวจสอบการนอนหลับ และไม่ได้รับการจำลอง ในแต่ละขั้นตอนของโลก ประกอบที่ตรวจสอบการนอนหลับจะตรวจสอบว่า:

หากเงื่อนไขใดๆ เหล่านี้เป็นจริง หรืออยู่ภายใต้ สถานการณ์การตื่นเพิ่มเติม ประกอบที่ตรวจสอบการนอนหลับจะเข้าสู่สถานะ ตื่น

ขีดจำกัดอ้างอิง

ตารางต่อไปนี้ให้ข้อมูลเกี่ยวกับขีดจำกัดความเร็วและความเร่งต่างๆ ที่ใช้ในการกำหนดว่าประกอบเคลื่อนที่หรือเร่งอยู่หรือไม่

ขีดจำกัดค่าการเปลี่ยนสถานะ
ความเร็วเชิงเส้น0.33 studs/sตื่นนอนหลับ
ความเร็วเชิงมุม0.42 studs/sตื่นนอนหลับ
ความเร่งเชิงเส้น0.24 studs/s²ตื่นนอนหลับ
ความเร่งเชิงมุม0.24 studs/s²ตื่นนอนหลับ
ความเร็วเชิงเส้นของเพื่อนบ้าน0.48 studs/sตรวจสอบการนอนหลับตื่น
ความเร็วเชิงมุมของเพื่อนบ้าน0.59 studs/sตรวจสอบการนอนหลับตื่น
ความเร่งเชิงเส้นที่ทำให้ตื่น16.9 studs/s²ตื่นนอนหลับ
ความเร่งเชิงมุมที่ทำให้ตื่น16.9 studs/s²ตื่นนอนหลับ

ขีดจำกัดความเร็วและความเร่งเชิงมุมสะท้อนถึงความเร็วและความเร่งของจุดที่ตั้งอยู่บนทรงกลมของประกอบ (ทรงกลมที่รวมทุกส่วนในประกอบ) ซึ่งเคลื่อนที่อย่างแข็งขันกับประกอบ

ข้อต่อที่ได้รับการกระตุ้น

บางครั้งนักพัฒนาต้องการเคลื่อนที่ช้าๆ โดยใช้ ข้อต่อที่ได้รับการกระตุ้น ซึ่งเป็นข้อจำกัดที่ใช้แรงหรือการเคลื่อนไหวเพื่อขับเคลื่อนส่วนที่เชื่อมต่อ เช่น HingeConstraint ที่ใช้ Motor เพื่อสนับสนุนสถานการณ์เหล่านี้ ประกอบที่เชื่อมต่อกับข้อต่อที่ได้รับการกระตุ้นจะใช้ขีดจำกัดความเร็วก่อนที่จะหลับที่เข้มงวดมากขึ้น สิ่งนี้จะส่งผลให้ประกอบเหล่านั้นหลับได้ช้าลง อนุญาตให้เคลื่อนที่ช้าและควบคุมโดยไม่ให้ระบบฟิสิกส์กำหนดให้หลับก่อนเวลา

ต่อไปนี้ถือเป็นข้อต่อที่ได้รับการกระตุ้น:

สถานการณ์การตื่นเพิ่มเติม

นอกเหนือจากสถานการณ์ที่ระบุไว้ใน ตรวจสอบการนอนหลับ และ นอนหลับ ประกอบจะเข้าสู่สถานะ ตื่น เมื่อ:

  • มันชนกับประกอบอื่นที่เคลื่อนที่เร็วกว่า 1 studs/s

  • คุณสมบัติที่เกี่ยวข้องกับฟิสิกส์ใดๆ ของ BasePart ในประกอบมีการเปลี่ยนแปลง รวมถึง:

  • มีแรงผลักดันที่ไม่เป็นศูนย์ถูกนำไปยัง BasePart ใดๆ ภายในประกอบโดยผ่าน ApplyImpulse(), ApplyImpulseAtPosition(), หรือ ApplyAngularImpulse()

  • คุณสมบัติที่เกี่ยวข้องกับฟิสิกส์ใดๆ มีการเปลี่ยนแปลงใน Workspace ที่จะส่งผลต่อประกอบ รวมถึง:

  • สร้าง Constraint ใหม่โดยมี Attachment ที่ถูกจัดอยู่ในส่วนของ BasePart ภายในประกอบ

  • การเปลี่ยนแปลงใดๆ ของคุณสมบัติสำหรับ Constraint ที่มี Attachment ที่ถูกจัดอยู่ในส่วนของ BasePart ภายในประกอบ

  • คุณสมบัติ CurrentAngle มีการเปลี่ยนแปลงสำหรับ Motor ที่เชื่อมต่อกับ BasePart ภายในประกอบ

  • ประกอบมี VehicleSeat ที่มีตัวละครผู้เล่นนั่งอยู่

  • ประกอบอยู่ภายใน BlastRadius ของ Explosion

การแสดงผลการดีบัก

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

มุมมองใกล้ๆ ของหน้าต่าง 3D ที่มีปุ่มตัวเลือกการแสดงผลระบุในมุมขวาบน.

เมื่อเปิดใช้งาน ส่วนที่ถูกจำลองจะถูกขีดเส้นด้วยสถานะการนอนหลับในปัจจุบันของพวกเขา โดยที่ ตื่น จะถูกขีดเส้นสีแดง, ตรวจสอบการนอนหลับ จะถูกขีดเส้นสีส้ม, และ นอนหลับ จะไม่มีการขีดเส้น

ส่วนที่ถูกจำลองถูกขีดเส้นด้วยสีที่แสดงถึงสถานะการนอนหลับในปัจจุบันของพวกเขา
©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ