คำถามติดแท็ก input

อินพุตคือข้อมูลที่ให้ไว้กับเกมผ่านการโต้ตอบของผู้เล่น (ผ่านเมาส์แป้นพิมพ์ gamepad และอื่น ๆ )

5
ฟิสิกส์ 2D platformer ดี [ปิด]
ฉันมีตัวควบคุมอักขระพื้นฐานตั้งค่าสำหรับ platformer 2D กับ Box2D และฉันเริ่มปรับแต่งเพื่อพยายามทำให้รู้สึกดี เอ็นจิ้นฟิสิกส์มีปุ่มปรับแต่งมากมายและไม่ชัดเจนสำหรับฉันเขียนด้วยเครื่องมือฟิสิกส์เป็นครั้งแรกที่ฉันควรใช้ การกระโดดควรใช้แรงหลายเห็บเหรอ? แรงกระตุ้นหรือไม่? ตั้งค่าความเร็วโดยตรง? ฉันจะหยุดอวตารจากการเกาะติดผนังได้โดยไม่ต้องกำจัดแรงเสียดทานทั้งหมด (หรือฉันจะกำจัดแรงเสียดทานทั้งหมด แต่ในอากาศเท่านั้น)? ฉันควรจำลองตัวละครเป็นแคปซูลหรือไม่? กล่องที่มีมุมมน กล่องที่มีสองล้อ? แค่ล้อใหญ่วงเดียว? ฉันรู้สึกเหมือนมีคนทำสิ่งนี้มาก่อน! ดูเหมือนจะมีทรัพยากรน้อยมากที่มีอยู่ในเว็บที่ไม่ใช่ "ฟิสิกส์ลูกคนแรกของทารก" ซึ่งทั้งหมดถูกตัดออกไปซึ่งฉันหวังว่าจะมีใครบางคนแก้ไขปัญหานี้แล้ว ตัวอย่างส่วนใหญ่ของเครื่องมือฟิสิกส์สำหรับ platformers มีการควบคุมแบบลอยตัวหรือการกระโดดในอากาศหรือพฤติกรรมที่หาประโยชน์ได้ง่ายเมื่อการเจาะทะลุสูงเกินไปเป็นต้น ตัวอย่างของสิ่งที่ฉันหมายถึง: การกระโดดสั้น ๆ ก็เป็นการกระโดดระยะทางสั้น ๆ แตะยาวกระโดดสูงขึ้น การลื่นไถลสั้นเมื่อหยุดหรือย้อนทิศทางที่ความเร็วสูง ยืนอยู่บนความลาดเอียงได้อย่างมั่นคง ความเร็วอะนาล็อกเมื่อใช้ตัวควบคุมแบบอะนาล็อก ทุกสิ่งอื่น ๆ ที่แยก platformers ที่ดีจาก platformers ไม่ดี กล้าแนะนำแพลตฟอร์มที่มีความเสถียรหรือไม่? ฉันไม่ได้มองหา "เฮ้ทำแบบนี้" เห็นได้ชัดว่าสิ่งที่ถูกต้องคือขึ้นอยู่กับสิ่งที่ฉันต้องการในเกม แต่ฉันหวังว่าจะมีใครซักคนที่ผ่านความเป็นไปได้และพูดว่า "เทคนิคที่ดี A ใช้คุณสมบัติ X ได้ดีเทคนิค …
76 box2d  physics  input 

2
วิธีที่จะทำให้ตัวละครกระโดด?
ฉันกำลังสร้างเกมใน C # โดยใช้ Direct X 9.0 remake ของเกมคือ Donkey Kong NES ฉันเกือบจะทำทุกอย่างเสร็จ แต่ฉันมีปัญหากับฟิสิกส์ของการกระโดดของมาริโอ ฉันมีตัวแปรที่ประกาศสำหรับการประสานงาน Y และ X ฉันสงสัยว่ามีวิธีง่ายๆในการทำเช่นนี้หรือไม่ ฉันค้นหาคำตอบสูงและต่ำ แต่คำตอบที่ฉันพบนั้นไม่เกี่ยวข้อง / หรือใช้ภาษาโปรแกรมอื่นเช่น XNA ขณะนี้ฉันมีตัวแปรชุดบูลเพื่อตรวจสอบว่าได้กด W แล้วหรือไม่ซึ่งจะเรียกรหัสใด ๆ เพื่อให้เขากระโดด ฉันได้ทำสิ่งรอบ ๆ เช่น if (jump == true) { Playerypos -= vel; Playerxpos += vel; } ซึ่งใช้งานไม่ได้ดี ฉันค้นหาคำตอบสูงและต่ำและตอนนี้ฉันหมดหวังถ้ามีคนชี้ให้ฉันในทิศทางที่ถูกต้องไปยังทางออกที่ง่าย มันจะดีมาก. ชื่นชมมากสำหรับการตอบสนองใด ๆ
44 physics  input  jumping 

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

3
เป็นเรื่องปกติหรือไม่ที่เกมจะใช้ CPU 100%?
ฉันเพิ่งใช้การจัดการอินพุตแบบมัลติเธรดในเอ็นจินเกมของฉันโดยที่โค้ดที่โพลระบบปฏิบัติการเพื่อรวบรวมข้อมูลจากมันและการประทับเวลาจะอยู่ในเธรดแยกต่างหากและแต่ละเฟรมในเธรดหลักฉันกินอินพุตที่รวบรวมไว้ เวลาของเกมลอจิก ทุกอย่างทำงานได้ แต่การตั้งค่านี้ใช้ CPU ของฉัน 100% ฉันมีสองคอร์และเพิ่มขึ้นถึง 100% ในขณะที่รันเกมของฉัน ฉันได้ตรวจสอบกับเกมอื่น ๆ เพื่อดูว่าพวกเขาทำเช่นนั้นหรือไม่ ยกตัวอย่างเช่น Skyrim และ Doom 3 นั้นใช้ได้กับซีพียูมากกว่า 60% เป็นที่ยอมรับหรือไม่สำหรับเกมที่ใช้อินพุตแบบมัลติเธรดเพื่อใช้ CPU 100%? ถ้าไม่เช่นนั้นมีเทคนิคอะไรบ้างที่เกมดังกล่าวใช้เพื่อลดการใช้ cpu โดยเธรดอินพุต?

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

3
การป้อนข้อมูลที่ขับเคลื่อนด้วยเหตุการณ์ Polling
ฉันกำลังพัฒนาเกมโดยใช้การสำรวจสำหรับวิธีการป้อนข้อมูล อย่างไรก็ตามตอนนี้ฉันกำลังขุดลึกลงไปในเมนูเกมและส่วนประกอบ UI อื่น ๆ ฉันพบว่าฉันอาจต้องการป้อนข้อมูลที่ขับเคลื่อนด้วยเหตุการณ์ บางทีอาจจะมีทั้งคู่โดยใช้เหตุการณ์ที่ขับเคลื่อนด้วย UI และการหยั่งเสียงสำหรับอินพุต "โลก" ฉันอยากรู้ว่าวิธีที่ดีที่สุดที่จะไปคืออะไร ฉันกำหนดโพลเป็น: แต่ละลูปการอัปเดตฉันจะตรวจสอบว่ามีการกดปุ่มใดที่เมาส์อยู่ปุ่มกดจากนั้นทำงานผ่านพวกเขาและดำเนินการตามข้อมูลที่รวบรวมไว้ ฉันกำลังกำหนดกิจกรรมที่ขับเคลื่อนเป็น: เหตุการณ์ตามอินเตอร์รัปต์เมื่อมีเหตุการณ์เกิดขึ้นและถูกขัดจังหวะและมีการเรียกใช้โค้ดบล็อกตามเหตุการณ์ คุณคิดว่าเป็นการดีที่สุดหรือไม่ที่จะผลักดันเหตุการณ์ทั้งหมดการเลือกตั้งทั้งหมดหรือเป็นการรวมกันของทั้งสองอย่าง หากคุณมีข้อดีข้อเสียกรุณาระบุไว้ ขอบคุณ แก้ไข เกมนี้ใช้ Java / OpenGL ดังนั้นจะวางจำหน่ายใน Windows / Mac / Linux ความเป็นไปได้ของการขยายไปยังอุปกรณ์มือถือนั้นอยู่ในระดับต่ำ เกมดังกล่าวเป็นสไตล์ RTS, บุคคลที่สาม 3D แก้ไข 2 ฉันยังคงไม่มีความสุขกับวิธีที่ฉันใช้สิ่งนี้ แต่สิ่งที่ฉันกำลังมุ่งไปคือการจับกิจกรรมใน UI ของฉันและหากพวกเขาไม่ได้รับการจัดการโดยองค์ประกอบ UI ใด ๆ ของฉันฉันจะส่งต่อเหตุการณ์ไปยัง "โลก" สำหรับการเลือก / การเลือก สิ่งที่ต้องการ: @Override …
19 java  input  events  polling 

1
วิธีสนับสนุนปากกา Surface ใน Unity
เกมของเราใช้งานได้ดีด้วยการสัมผัสหรือเมาส์ แต่ปากกาพื้นผิวดูเหมือนจะไม่ได้ลงทะเบียนเป็นอุปกรณ์ชี้ตำแหน่งเลย เราจะสนับสนุนปากกาใน Unity ได้อย่างไร คำถามนี้บนไซต์ Unity Answers แสดงให้เห็นว่าเราสามารถสร้างเป็นแอพ UWP ได้ แต่นั่นหมายถึงการ จำกัด ตัวเองให้อยู่ในเซตย่อยที่ จำกัด ของกรอบงาน. NET (โดยเฉพาะเราสูญเสียไลบรารี่ Serialization จำนวนมาก)
18 unity  input  surface 

2
เทคนิคการจัดการอินพุตในเกมขนาดใหญ่
มีเทคนิคมาตรฐานในการจัดการอินพุตในเกมขนาดใหญ่หรือไม่ ขณะนี้ในโครงการของฉันการจัดการอินพุตทั้งหมดเสร็จในลูปเกมดังนี้: while(SDL_PollEvent(&event)){ switch(event.type){ case SDL_QUIT: exit = 1; break; case SDL_KEYDOWN: switch(event.key.keysym.sym){ case SDLK_c: //do stuff break; } break; case SDL_MOUSEBUTTONDOWN: switch(event.button.button){ case SDL_BUTTON_MIDDLE: //do stuff break; } } break; } (ฉันใช้ SDL แต่ฉันคาดหวังว่าหลักปฏิบัติจะใช้กับไลบรารีและกรอบงานด้วย) สำหรับโครงการขนาดใหญ่ดูเหมือนจะไม่ใช่ทางออกที่ดีที่สุด ฉันอาจมีวัตถุหลายอย่างที่อยากรู้ว่าผู้ใช้กดอะไรดังนั้นจึงเหมาะสมสำหรับวัตถุเหล่านั้นในการจัดการอินพุต อย่างไรก็ตามพวกเขาไม่สามารถจัดการอินพุตได้หลังจากที่ใครคนหนึ่งได้รับเหตุการณ์มันจะถูกผลักออกจากบัฟเฟอร์เหตุการณ์ดังนั้นวัตถุอื่นจะไม่ได้รับอินพุตนั้น วิธีใดที่ใช้กันมากที่สุดในการต่อต้านสิ่งนี้?
16 c++  sdl  input  standards 

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

5
วิธีการอินพุตที่เหมาะสมสำหรับการใช้กับ platformer 2D บนอุปกรณ์สัมผัสคืออะไร?
ฉันกำลังสร้างเกม platformer 2d เช่น Super Meat Boy ที่มีความแม่นยำในการเคลื่อนไหวของตัวละครหลักของฉัน ฉันใช้ libgdx การควบคุมแป้นพิมพ์บนพีซีทำงานได้อย่างแม่นยำ แต่เมื่อพูดถึงการจัดการกับ accelerometer มันยากที่จะจัดการกับตัวละครอย่างแม่นยำ สิ่งนี้แย่ลงเป็นระยะ ๆ ด้วยเส้นทางที่ปลอดภัยที่แออัดเพื่อหลบหนี ฉันคิดถึงการนำลูกบอลอะนาล็อกบนหน้าจอมาใช้ในการจัดการอินพุต แต่อ่านผลกระทบที่เลวร้ายมากมายบนอินเทอร์เน็ต วิธีการป้อนข้อมูลที่ใช้งานง่าย แต่แม่นยำในการใช้สำหรับเกม platformer บนอุปกรณ์ระบบสัมผัสคืออะไร
16 2d  input  touch  multitouch 

7
ฉันจะแยกวิเคราะห์การป้อนข้อมูลของผู้ใช้ในเกมผจญภัยข้อความได้อย่างไร
แยกคำสั่งที่ใช้ในการผจญภัยข้อความเป็นสเปกตรัมจากการผจญภัยง่าย 's 'ไปทิศตะวันตกเฉียงเหนือ' เพื่อบางคนที่ใจ bogglingly ฉลาดในhhgttg ฉันดูเหมือนจะจำการอ่านที่ดีวิธีการชำระเงินในนิตยสารคอมพิวเตอร์ย้อนกลับไปในยุค 80 แต่ตอนนี้ผมพบว่าเกือบไม่มีอะไรที่ 'สุทธิยกเว้นสั้นวิกิพีเดียโทษ วิธีจะคุณจะทำหรือไม่ ปรับปรุง : ฉันไปด้วยวิธีการที่ง่ายที่สุดที่เป็นไปได้ในรายการ Ludum กล้าของฉัน

1
การใช้คอนโทรลเลอร์ PS3 สำหรับการป้อนข้อมูลใน Mac OSX
ฉันจัดการค้นหาไดรเวอร์ USBเพื่อเชื่อมต่อกับคอนโทรลเลอร์ PS3 ใน OSX และตามที่ได้รายงานไว้ที่นี่สามารถเชื่อมต่อกับคอนโทรลเลอร์ผ่านทางบลูทู ธ ได้ ฉันตรวจสอบแล้วว่าอินพุตทำงานอย่างถูกต้องผ่าน Snes9x อย่างไรก็ตามนั่นเป็นเพียงพื้นหลังสำหรับคำถามที่แท้จริงของฉัน มีวิธีการเข้าถึง PS3 HID ผ่าน C ++ บน Mac หรือไม่? ฉันค่อนข้างใหม่ในการพัฒนา C ++ บน Mac โดยใช้ XCode และอินเทอร์เน็ตก็ผิดหวังในการค้นหาห้องสมุดที่จะใช้ ใครบ้างมีความคิดเกี่ยวกับวิธีที่ฉันสามารถเข้าถึงปุ่มควบคุม / แกนรัฐในรหัสเพื่อให้ฉันสามารถถ่ายโอนไปยังแผนที่อินพุตของฉันได้อย่างไร

6
ฉันควรพัฒนาโดยใช้เม้าส์ถ้าฉันวางแผนที่จะกำหนดเป้าหมายมากกว่าพีซี?
คำถามง่ายๆสวย แต่ฉันไม่แน่ใจคำตอบ ฉันควรพัฒนาการควบคุมผู้ใช้ที่ใช้เมาส์หรือเพิกเฉยต่อเมาส์อย่างสมบูรณ์และใช้การควบคุมปุ่มเท่านั้น ตัวอย่างจะเป็น: คลิกที่รายการเพื่อหยิบและย้ายใกล้กับรายการแล้วกดปุ่มเพื่อเลือก คุณมีความคิดเห็นอย่างไรเกี่ยวกับเรื่องนี้โดยเฉพาะหากคุณต้องการกำหนดเป้าหมายแพลตฟอร์มมากกว่าพีซี

2
วิธีการหลีกเลี่ยง ghosting เมื่อกดปุ่มหลาย ๆ ปุ่ม?
ฉันกำลังทำงานในเกมพีซีแบบเลื่อนด้านข้าง 2 มิติที่ใช้ไลบรารีเกม SFML ปัญหาที่ฉันไม่สามารถแก้ไขได้คือในแป้นพิมพ์หลายชุดที่มีสามปุ่มขึ้นไป (เช่น w + d + k) ไม่ทำงาน มีวิธีใดในการแก้ปัญหานี้หรือไม่?

2
ฉันจะหยุดผู้เล่นจากการดริฟท์เนื่องจากการคาดการณ์อินพุตภายในเมื่อพวกเขาหยุดได้อย่างไร
ฉันกำลังทำงานกับเอ็นจิ้นเกมมัลติเพลเยอร์เซิร์ฟเวอร์ 2D (ซึ่งคุณสามารถลองได้ที่นี่ ) มันใช้ WebRTC DataChannels (การเชื่อมต่อแบบเพียร์ทูเพียร์ แต่โฮสต์เพียร์ยังคงทำหน้าที่เป็นเซิร์ฟเวอร์) ปัญหาที่ใหญ่ที่สุด (นอกเหนือจากการเชื่อมต่อ) คือการคาดการณ์อินพุตในเครื่อง เราทำตามปกติ: เมื่อกดปุ่มผู้เล่นจะย้ายทันทีบอกโฮสต์ว่ากดคีย์ใดรับข้อมูลกลับจากโฮสต์และเปรียบเทียบกับตำแหน่งทางประวัติศาสตร์ ตำแหน่งได้รับการแก้ไขเมื่อเวลาผ่านไปหากมีความแตกต่าง วิธีนี้ใช้ได้ดีกับการสูญเสียแพ็กเก็ตต่ำหรือPDVแม้ว่า ping จะสูง หากมีการสูญเสียหรือ PDV ส่วนเบี่ยงเบนอาจมีขนาดใหญ่กว่า ฉันคิดว่าเป็นเพราะถ้าแพ็กเก็ตแรกที่ระบุว่าการเปลี่ยนแปลงของอินพุทล่าช้าหรือหลุดโฮสต์จะค้นพบในภายหลังและเริ่มเปลี่ยนผู้เล่นนั้นช้ากว่าเพรดิตันของพวกเขาในพื้นที่ หากผู้เล่นเคลื่อนไหวเราจะเพิ่มจำนวนการแก้ไขที่นำไปใช้เนื่องจากมันเป็นสิ่งที่น่าสังเกตน้อยกว่า สิ่งนี้ดูเหมือนจะปกปิดช่องว่างเมื่อเริ่มเคลื่อนที่และขณะเคลื่อนที่ อย่างไรก็ตามการแก้ไขใด ๆ ที่น่าสังเกตมากขึ้นถ้าพวกเขามาหยุดทันที จากนั้นหาก PDV หรือการสูญเสียหมายความว่าโฮสต์คิดว่าพวกเขาหยุดในเวลาต่อมาโฮสต์ overshoots ส่งข้อมูลกลับบอกว่าพวกเขากำลังไปข้างหน้าเล็กน้อยและการแก้ไขทำให้ผู้เล่นดริฟท์เล็กน้อย ในการเชื่อมต่อที่ไม่สม่ำเสมอผู้เล่นมักจะล่องลอยหลังจากหยุด ฉันไม่ได้สังเกตเรื่องนี้ในเกมอื่น สิ่งนี้จะบรรเทาลงได้อย่างไร

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