การวิเคราะห์โครงสร้างทำได้อย่างไรในเกม (เช่น: การสร้างสะพานขุดหรือตายและ 3D)


11

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

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

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

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


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

คำตอบ:


5

ฉันเป็น dev of Dig หรือ Die ดังนั้นฉันสามารถให้รายละเอียดเพิ่มเติมเกี่ยวกับเกมฟิสิกส์

แน่นอนว่าจุดที่สำคัญที่สุดคือการแสดงเช่นเดียวกับในเกมที่คุณสามารถสร้างบล็อกทางกายภาพนับพันและสิ่งที่สำคัญมากฉันมีสิ่งอื่นที่ซับซ้อนกว่าในการจำลอง (ฝน / น้ำ) ดังนั้นฉันจึงสามารถใช้เวลา CPU น้อยมากสำหรับฟิสิกส์อาคาร .

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

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

แต่จริงๆแล้วฉันไม่ชอบระบบของฉันมากนักสำหรับบางกรณีมันไม่ถูกต้องนัก ส่วนใหญ่เป็นเพราะฉันไม่ได้จัดการการบีบอัดและส่วนขยาย อาจมีวิธีที่จะทำการจำลองที่แม่นยำกว่าของฉันโดยไม่มี CPU มากกว่า แต่ทักษะของฉัน (และเวลา) เกี่ยวกับมันมี จำกัด มากดังนั้นฉันจึงทำสิ่งที่ฉันทำได้ :-)

(PS: คุณเดาว่าดีมาก :-))


4

ผมเคยมีบุคคลที่ประสบความสำเร็จที่ดีกับการพักผ่อนซ้ำ ฉันคิดว่ามันเป็นไปตามกฎของฟิสิกส์ค่อนข้างดีเมื่อจัดการกับวัตถุที่ทำจากมวลรวมของบล็อก ฉันเชื่อว่าซีรี่ส์BridgeBuilderใช้วิธีการดังกล่าวแม้ว่าฉันจะไม่มีที่มาเพื่อยืนยันสิ่งนี้

Iterative Relaxation ใช้กันอย่างแพร่หลายสำหรับโครงถักแต่ฉันได้จำลองวัตถุของแข็งขนาดใหญ่ (คอนกรีต) สำเร็จด้วย: มันค่อนข้างเป็นโครงนั่งร้านที่ข้อต่อจะบรรทุกแทนการหมุนฟรี


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

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

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

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.