คำถามติดแท็ก rope-physics

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

5
การตรวจจับการชนเชือก 2D
ฉันต้องการสร้างเชือกที่สามารถชนกับวัตถุอย่างในวิดีโอ youtube ต่อไปนี้: เชือกฟิสิกส์เกม 2 มิติ ฉันคิดว่าคุณใช้การรวม verlet ซึ่งใช้จุดและเชื่อมต่อจุดเหล่านี้กับเส้น ฉันกำลังพยายามหาว่าคุณจะใช้การตรวจจับการชนประเภทใดกับเชือกเพื่อให้ได้ผลในวิดีโอ ฉันคิดว่าคุณจะต้องทำซีดีให้แต่ละจุด ฉันต้องการใช้ box2D ดังนั้นฉันสงสัยว่าแต่ละจุดจะทำงานอย่างมีประสิทธิภาพหรือไม่ คำแนะนำใด ๆ ที่จะได้รับการชื่นชม.

3
ฉันจะคำนวณแรงที่กระทำโดยวัตถุ 2 มิติการพันลวดแบบตึงได้อย่างไร?
สมมติว่าฉันมีวิชาฟิสิกส์เบื้องต้นฉันจะเรียกว่า "สาย" ล้อมรอบด้วยสภาพแวดล้อมแบบ 2D (ดังที่อธิบายไว้ในคำถามนี้ ) นี่คือภาพประกอบของสิ่งที่อาจมีลักษณะ: ในภาพประกอบตัวอย่าง: ลวดถูกดึงขึ้น (ถือขึ้น) โดยลวดและกล่องจะดึงลวดลง วัตถุบนสปริงถูกดันลงโดยลวด แต่ก็ดันลวดขึ้นไปด้วย ในขณะที่ฉันยังไม่ได้คิดว่าจะนำไปใช้อย่างไรสมมติว่าลวดจะเลื่อนไปตามจุดต่างๆที่พันไว้อย่างอิสระ ในการจำลองฟิสิกส์ 2D (เช่น: อิงเฟรม) คุณจะคำนวณแรง (หรือแรงกระตุ้น) เพื่อนำไปใช้กับวัตถุที่ยึดติดหรือพันด้วยลวดได้อย่างไร ตามที่ฉันได้กล่าวถึงในคำถามแรกของฉันฉันคิดว่าถ้าวัตถุที่ไม่คงที่เท่านั้น "ใน" ลวดคือมวลในตอนท้ายจากนั้นแรงจะเหมือนกับข้อต่อที่มีความยาวคงที่ระหว่างมวลและจุดก่อนหน้า บนลวด

5
ฉันจะสร้างวงสวิงในเกม platformer ได้อย่างไร?
ฉันกำลังพัฒนาเกมที่ผู้เล่นสามารถใช้เชือกในการแกว่ง (เช่นเดียวกับที่ Spiderman หรือBionic Commandoทำ) และฉันมีปัญหาในการใช้พฤติกรรมนี้ ทุกคนสามารถช่วยฉันได้อย่างไรฉันหมายถึงสูตรฟิสิกส์และอื่น ๆ จนถึงตอนนี้ฉันมี 3 แนวคิด มีใครใช้สปริง แต่ก็กินเวลาเยอะและบางครั้งก็น่ากลัว อีกสองคนกำลังพยายามคำนวณขั้นตอนต่อไป (อันหนึ่งผ่านการคำนวณพลังงานที่มีศักยภาพและอีกอันผ่านการคำนวณแรงบิด) และทั้งคู่ก็เกือบจะชนกันทุกครั้งที่นักแสดงพยายามแกว่ง นี่คือรหัสที่ฉันเขียนเพื่อคำนวณแรงบิด: float dx = Runner->getPosition().x - ancher.x; float dy = Runner->getPosition().y - ancher.y; float t0 = atan2(dy,dx); //my current angle float k = ((dy) *vx - (dx) * vy) / (dx * dx+dy * …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.