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