ระบบนอนหลับ

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

แต่ละ การประกอบ ใน Roblox Engine ตรงกับร่างกายแข็งเดียว **** ตำแหน่งและความเร็วของแต่ละชิ้นส่วนแข็งอธิบายถึงสถานที่ที่ตั้งและความเร็วในการเคลื่อนที่ และหนึ่งในภารกิจหลักของเครื่องยนต์คือการอัปเดตตำแหน่งและความเร็วของแต่ละชิ้นส่วน

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

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

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

ตื่น

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

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

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

  • ตําแหน่งความผิดพลาดของชิ้นส่วนที่อยู่ติดกันมีมากกว่าจุดเกินของ การเคลื่อนย้ายเพื่อนบ้าน เกณฑ์
  • ผลิตภัณฑ์ของการเร่งความเร็วของการประกอบที่อยู่ติดกัน และขนาดช่วงเวลาปัจจุบันมีมากกว่าจุดเกณฑ์ ความเร็วแนวนอนของเพื่อนบ้าน และ/หรือ ความเร็วแนวนอนของเพื่อนบ้าน

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

การนอน

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

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

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

อ้างอิงจุดตัดที่

ตารางต่อไปนี้ให้เกณฑ์การเลื่อนและความเร็วที่ใช้ในการตัดสินว่าการประกอบกำลังเคลื่อนที่หรือเร่งความเร็ว

จุดตัดที่มูลค่าการเปลี่ยนแปลงรัฐ
การย้ายเพื่อนบ้านสตัด 0.01ตรวจสอบการนอนหลับตื่น
ความเร็วเชิงเส้นของเพื่อนบ้าน0.2 สตัด/วินาทีตรวจสอบการนอนหลับตื่น
ความเร็วมุมของเพื่อนบ้าน0.2 ราดิอัน/วินาทีตรวจสอบการนอนหลับตื่น
การเคลื่อนที่0.001 สตัดนอนหลับตื่น
ความเร็วเชิงเส้น0.1 สตัด/วินาทีนอนหลับตื่น
ความเร็วในมุมมองของแองเจิล0.1 ราดิอัน/วินาทีนอนหลับตื่น

สถานการณ์ปลุกเพิ่มเติม

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

  • มันชนกับอัปเดตอื่น ๆ อีก

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

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

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

  • สร้าง Constraint ใหม่ด้วย Attachment ที่เป็นพ่อของไปยัง BasePart ภายในกลุ่มประกอบ

  • การเปลี่ยนแปลงคุณสมบัติใดๆ สําหรับ Constraint ที่มี Attachment ที่เป็นพ่อของไปยัง BasePart ภายในองค์ประกอบ

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

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

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

วิเคราะห์ภาพการดีบัก

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

A close up view of the 3D viewport with the Visualization Options button indicated in the upper-right corner.

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

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