6
การนำลวดพันสายไฟ (เช่น Worms Ninja Rope) มาใช้ในเครื่องมือฟิสิกส์ 2D
เมื่อไม่นานมานี้ฉันได้ทดลองใช้เชือกฟิสิกส์และฉันพบว่าวิธีแก้ปัญหา "มาตรฐาน" - การทำเชือกจากชุดของวัตถุที่พันกันด้วยสปริงหรือข้อต่อ - ไม่น่าพอใจ โดยเฉพาะอย่างยิ่งเมื่อการแกว่งเชือกมีความเกี่ยวข้องกับการเล่นเกม ฉันไม่สนใจเกี่ยวกับความสามารถของเชือกในการห่อหุ้มหรือหย่อนยาน สำหรับการเล่นเกมสิ่งที่สำคัญคือความสามารถในการพันเชือกเพื่อล้อมรอบสภาพแวดล้อมและจากนั้นก็แกะออก มันไม่จำเป็นต้องทำตัวเหมือนเชือก - "ลวด" ซึ่งประกอบด้วยส่วนของเส้นตรงจะทำ นี่คือภาพประกอบ: สิ่งนี้คล้ายกับ "Ninja Rope" จากเกมเวิร์ม เพราะฉันใช้เครื่องมือฟิสิกส์ 2D - สภาพแวดล้อมของฉันประกอบด้วยรูปหลายเหลี่ยมนูน 2 มิติ (โดยเฉพาะฉันใช้ SAT ใน Farseer) ดังนั้นคำถามของฉันคือ: คุณจะใช้เอฟเฟกต์ "การห่อ" ได้อย่างไร ดูเหมือนว่าจะเห็นได้ชัดว่าการวางสายนั้นจะประกอบด้วยชุดของส่วนของเส้นที่ "แยก" และ "เข้าร่วม" และส่วนสุดท้าย (ใช้งานอยู่) ของบรรทัดนั้นซึ่งวัตถุที่กำลังเคลื่อนที่ติดอยู่นั้นจะเป็นรอยต่อที่มีความยาวคงที่ แต่อะไรคือคณิตศาสตร์ / อัลกอริธึมที่เกี่ยวข้องในการพิจารณาว่าเมื่อใดและที่ใดที่จะต้องแบ่งเซกเมนต์บรรทัดที่ใช้งาน และเมื่อมันจะต้องเข้าร่วมกับกลุ่มก่อนหน้า? (ก่อนหน้านี้คำถามนี้ถามเกี่ยวกับการทำสิ่งนี้เพื่อสภาพแวดล้อมแบบไดนามิกด้วย - ฉันตัดสินใจที่จะแยกมันออกเป็นคำถามอื่น ๆ )