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