Ghost replay - การจัดเก็บและเวลา
ฉันกำลังเล่นเกมแข่งรถและเพิ่งใช้ผีสไปรต์เพื่อเล่นซ้ำการแข่งขันที่ผ่านมา ฉันใช้เครื่องมือฟิสิกส์และหลังจากอ่านมากฉันได้ข้อสรุปว่าวิธีที่ดีที่สุดในการจัดเก็บข้อมูลผีสำหรับการเล่นซ้ำจะเป็นการบันทึกตำแหน่งและการหมุนของรถตามเวลาที่ให้ไว้ตามตัวอย่างที่อธิบายไว้ที่นี่: https: // gamedev stackexchange.com/a/8380/26261 แต่จะเป็นวิธีที่ดีในการค้นหา timepoints เหล่านั้นในระหว่างการเล่นซ้ำอย่างไร ตัวอย่างจะเป็นบันทึกด้วยข้อมูลนี้: time: +3.19932 (seconds since race start) position: 180,40 (position at that time) rotation: 30.4 (rotation at that time) แต่ฉันมีปัญหาหลายประการ: เมื่อฉันเล่นซ้ำมันไม่น่าเป็นไปได้ที่ฉันจะได้รับไทม์พอยต์ที่แน่นอนที่ 3.19932 อีกครั้ง - มีโอกาสมากขึ้นที่ฉันจะมีไทม์พอยน์ประมาณ 3.1 และต้องค้นหาระเบียนที่ใกล้เคียงที่สุด เมื่อทำการสอดแทรกการจับคู่ที่ใกล้เคียงที่สุดที่อยู่ด้านบนและด้านล่าง ฟังดูไม่มีประสิทธิภาพและเสียเวลามาก? โครงสร้างรายการใดที่ฉันสามารถเก็บบันทึกเหล่านี้เพื่อเล่นซ้ำในภายหลัง อาร์เรย์หรือไม่ นั่นไม่ได้หมายความว่าเวลาค้นหาบันทึกที่ตรงกับเวลาที่แน่นอนจะเพิ่มการแข่งขันให้นานขึ้นหรือไม่? ฉันควรใช้ความถี่ใดสำหรับการจับเวลา แต่ละเฟรมจะเป็น - ฉันเดาว่า - มากไปหน่อย แต่ฉันควรบันทึกนั่นคือทุกเฟรมที่ n และการสอดแทรกระหว่างซึ่งทำให้คำถามที่เก็บใน …