กลับไป เครื่องมือ
ระบบออนไลน์และแบ็กเอนด์

Gaffer On Games: Snapshot Interpolation

โดย Glenn Fiedler

เรียนรู้ snapshot interpolation เพื่อลดภาพกระตุกของวัตถุ remote พร้อมเข้าใจต้นทุน bandwidth และเวลาแสดงผลที่เพิ่มขึ้น

guide
snapshot ที่มาถึงไม่สม่ำเสมอเข้าสู่ buffer จากนั้นเฟรมแสดงผลอ่านค่าระหว่าง snapshot บนไทม์ไลน์ที่หน่วงไว้ แสดงการแลกความลื่นไหลกับความหน่วง
แผนภาพเวลาเชิงแนวคิด ไม่ได้แนะนำระยะเวลา buffer ตายตัว ค่าจริงขึ้นอยู่กับอัตราส่ง jitter และการสูญหายของแพ็กเก็ต ภาพอธิบายต้นฉบับจัดทำสำหรับ GameSlash โดยมี AI ช่วยสร้าง ให้เครดิตเอกสารเฉพาะในฐานะแหล่งข้อเท็จจริง ไม่ได้นำภาพต้นฉบับมาใช้ แหล่งแนวคิด

เหมาะกับ: ศึกษาการแสดงการเคลื่อนไหวของวัตถุ remote ในเกม multiplayer

เริ่มทีละขั้น: 1) ส่ง position/rotation พร้อมลำดับ snapshot 2) เก็บข้อมูลใน interpolation buffer 3) แสดงค่าระหว่าง snapshot ที่หน่วงไว้ แทนวาดค่าล่าสุดทันที

ตำแหน่งสองตัวอย่างใน buffer ที่ x เท่ากับ 0 และ 10 เชื่อมด้วยเส้นตรง เมื่อเวลาอยู่กึ่งกลางช่วง linear interpolation จะแสดงที่ x เท่ากับ 5
ตัวอย่าง interpolation หนึ่งมิติด้วยข้อมูลสมมติ อธิบายเฉพาะตำแหน่ง ไม่ใช่ระบบ prediction, authority หรือ anti-cheat ภาพอธิบายต้นฉบับจัดทำสำหรับ GameSlash โดยมี AI ช่วยสร้าง ให้เครดิตเอกสารเฉพาะในฐานะแหล่งข้อเท็จจริง ไม่ได้นำภาพต้นฉบับมาใช้ แหล่งแนวคิด

ลองตรวจ: เปรียบเทียบภาพเมื่อมี jitter และ packet loss พร้อมวัดทั้งความลื่นและเวลาแสดงผล ไม่คัดลอกค่า buffer ของตัวอย่างเป็นค่าตายตัว

ข้อควรรู้: buffer เพิ่ม latency ส่วน snapshot ใช้ bandwidth บทนี้อธิบายโมเดลและ interpolation ไม่ได้ให้ระบบ prediction, authority หรือป้องกันโกงครบชุด

อ่านต้นฉบับ: Author’s guide

ดูแหล่งที่มา