สร้างแคมของฉันเอง


15

ฉันวางแผนที่จะสร้างระบบ cam kill ของตัวเองสำหรับชุดเครื่องมือ sandbox หลังจากคิดเกี่ยวกับกลไกของลูกเบี้ยวฆ่าตัวเอง แต่ฉันค่อนข้างหลงทาง ฉันพยายามที่จะสร้างสิ่งที่เห็นได้ทั่วไปในเกมเรียกร้องของหน้าที่จากมุมมองของนักฆ่าฉากการฆ่าจริง

ความคิดของฉัน:

- ฉันจำไม่ได้เมื่อคนฆ่าคนอื่นเพราะฉันไม่รู้ว่าจะเริ่มกระบวนการบันทึก มีวิธีที่ฉันจะกำหนดอย่างแม่นยำเมื่อใครบางคน 'เกี่ยวกับ' เพื่อฆ่าใครบางคน

- ความคิดที่แท้จริงของฉันจนถึงตอนนี้ก็คือการมีสำเนาที่สมบูรณ์ของทุกสิ่งที่โหลดไปด้านข้างเพื่อคัดลอกการเคลื่อนไหวทั้งหมดจากโลกดั้งเดิม แต่มีความล่าช้า 10 วินาที ด้วยวิธีนี้กล้องฆ่าทั้งหมดจะมีความยาว 10 วินาทีและกล้องบุคคลจะถูกย้ายไปยังโลกที่สองของนักฆ่า

คำถามของฉัน:

มีวิธีที่ยอมรับได้ในการทำเช่นนี้? ใครบ้างมีความคิดที่ดีสำหรับสิ่งนี้? ขอบคุณถ้าคุณทำได้!

คำตอบ:


10

เก็บไม่กี่วินาทีสุดท้ายของข้อมูลการเคลื่อนไหวของวัตถุแบบไดนามิกที่เกี่ยวข้อง

ข้อมูลนี้ควรสมบูรณ์เพียงพอที่จะสามารถใช้เพื่อสร้างฉาก killcam ขึ้นใหม่หากจำเป็น แต่ไม่สมบูรณ์เพียงพอที่คุณจะสามารถเรียกคืนและจัดเก็บได้ในระยะเวลาที่สั้นพอ

ตัวอย่างของสิ่งที่คุณอาจต้องการติดตาม:

  • วิธีที่ผู้เล่นมองเห็นกำลังเคลื่อนที่ / มอง
  • ระบุว่านักฆ่าจะซูมเข้าขอบเขตปืนหรือไม่

สิ่งที่คุณอาจต้องการเพิ่มประสิทธิภาพ:

  • ข้อมูลเกี่ยวกับผู้เล่นที่นักฆ่ามองไม่เห็น
  • เอาท์พุทหน้าจอที่แท้จริงของทุกคน

มีปัญหาใหญ่ในคำตอบของคุณโดยปกติคุณจะไม่สามารถทำนายความตายของใครได้และคุณก็ไม่สามารถทำนายได้ว่าใครจะเป็นผู้ฆ่าคนต่อไป ดังนั้นด้วยการเพิ่มประสิทธิภาพข้อมูลเกี่ยวกับผู้เล่นบางคนคุณอาจต้องสูญเสียความสามารถในการเล่นซ้ำการสังหาร
Ali1S232

2
@Gajet ฉันคิดว่าในกรณีนี้เขาหมายถึงการกำจัดวัตถุที่เกี่ยวข้องทั้งหมดและเก็บเฉพาะข้อมูลสำหรับภายหลัง กล่าวอีกนัยหนึ่งคุณต้องการมีกลไกการจัดเก็บ / การอัปเดตบางอย่างเพื่อติดตามตำแหน่งของทุกสิ่งและเอนทิตีของพวกเขา แต่จะมีเวลา จำกัด สมมติว่าคุณแค่ต้องการ 10 วินาทีสุดท้ายสำหรับ kill cam คุณต้องการโครงสร้างข้อมูลที่มีขนาดใหญ่พอที่จะเก็บ 10 วินาทีสุดท้ายและสิ่งที่เก่ากว่านั้นจะถูกแทนที่ในตอนท้ายเช่นในคิวสิ้นสุดวันที่สองครั้ง
ChrisC

เพียงยืนยันว่าคำตอบของ Ricer คือสิ่งที่ฉันต้องการ แน่นอน: เมื่อคุณไม่สามารถทำนายอนาคตได้ให้เตรียมรับมือแทน :)
Anko

1
สิ่งสำคัญคือต้องพูดถึงว่าเกมออนไลน์แบบเรียลไทม์ไม่เคยแสดงให้ผู้เล่นเห็นถึงสิ่งที่เกิดขึ้นจริง เกมมักจะคาดเดาเกี่ยวกับสิ่งที่เป็นความจริง แต่เนื่องจากความล่าช้าและปัญหาเครือข่ายอื่น ๆ เกมจะไม่พบว่า "ความจริงตามวัตถุประสงค์" คืออะไรจนกระทั่งในภายหลัง ดังนั้นหากคุณไม่มีข้อมูล "kill cam" เพื่อให้สามารถสร้างมุมมองของคนอื่นได้อีกครั้งคุณไม่ควรรู้สึกแย่เลยที่จะสร้างข้อมูล kill cam ที่น่าเชื่อถือในสถานการณ์ที่คุณต้องการ
เทรเวอร์พาวเวล

0

ไม่ทราบว่าจะมีการใช้งานตามปกติอย่างไร แต่คุณอาจมีสัญลักษณ์แสดงหัวข้อย่อยแต่ละคลิปบันทึกจากเวลาที่ยิงไปจนถึงเมื่อถึงเป้าหมาย หากการถ่ายทำเสร็จสิ้นด้วย hitscan คุณสามารถคำนวณได้ว่าจะสร้างฟุตเทจของกล้อง kill ในรอบเดียวกันเมื่อคุณทำการยิง Hitcan หรือไม่


0

คุณสามารถบันทึกการแปลงของวัตถุทุกสองสามวินาทีหรือมากกว่านั้น ทำสิ่งนี้สำหรับวัตถุแบบไดนามิกที่ใช้งานได้ทั้งหมด ซวนเซการประหยัดเช่นว่าแต่ละเฟรมคุณจะบันทึกเมทริกซ์คู่เท่านั้น ประหยัดเวลาได้มากเท่าที่คุณต้องการ

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

มันไม่ซ้ำกันอย่างแน่นอน แต่ใกล้มาก & ช่วยให้คุณสามารถให้ผู้เล่นเลือกการควบคุมกล้องในระหว่างการเล่นซ้ำเพื่อให้พวกเขาสามารถเลือกตำแหน่งที่จะดูฉากจาก


มีปัญหาอย่างหนึ่งในการจัดเก็บการแปลงเมทริกซ์เท่านั้นไม่ใช่บันทึกสิ่งอื่น! ตัวอย่างเช่นถ้าคุณบันทึกเมทริกซ์การแปลงสำหรับผู้เล่นเท่านั้นภาพเคลื่อนไหวอาจผิดไปคุณจะไม่สามารถเห็นความเสียหายที่ศัตรูได้รับก่อนที่จะฆ่าคุณและเมื่อไหร่ที่เขายิงปืนของเขา มีรายละเอียดจำนวนมากที่คุณพลาดโดยใช้วิธีการของคุณซึ่งคุณสามารถคิดถึงมันได้อย่างง่ายดาย
Ali1S232

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

0

คุณสามารถใช้คุณสมบัติการเล่นซ้ำในเกมของคุณ การใช้ฟังก์ชั่นการเล่นซ้ำ killcam เป็นเพียงการเล่นซ้ำจากเกมเฉพาะบางเกมและจากจุดของผู้เล่นบางคน ในภายหลังคุณสามารถบันทึกการเล่นซ้ำและให้ผู้อื่นตรวจสอบเกมหลังจากเล่นเสร็จ

ความคิดของคุณในการเรียกใช้เกมเดียวกันโดยใช้อินพุทด้วยการหน่วงเวลา 10 วินาทีเป็นวิธีการที่ดีถ้าเกมของคุณไม่ใช้พลังงานในการคำนวณสูง


0

แล้ว ...

บันทึกเฉพาะเมื่อมีความเป็นไปได้ที่จะฆ่า

ลองคิดดูจากมุมมองของ AIM-BOT มันจะเล็ง / ยิงเมื่อการฆ่าเป็นไปได้เท่านั้น ดังนั้นคุณควรบันทึกเมื่อศัตรูอยู่ในระยะที่สามารถฆ่า / มองเห็นได้


ในสถานการณ์ที่เกี่ยวข้องกับการถ่ายภาพผ่านวัตถุอย่างไร เรย์การคัดเลือกนักแสดงมากจะต้องใช้ CPU มากเกินกว่าที่คิดไว้ แม้ว่าความคิดที่ดีฉันสามารถพิจารณาว่าเป็นส่วนหนึ่งของการแก้ปัญหา
Freesnöw

0

กำหนดรัศมีรอบเครื่องเล่นและหากผู้เล่นอื่นเข้าสู่รัศมีจากนั้นก็จะเริ่มบันทึกหน้าจอสำหรับทั้งสองคน จากนั้นคุณรอเพื่อดูว่ามีใครถูกฆ่าตายหรือไม่ ถ้าเป็นเช่นนั้นคุณจะพบฆาตกรและทำการบันทึกและย้อนกลับจำนวนเวลาที่ผ่านไปนับตั้งแต่การฆ่าบวกความยาวที่คุณต้องการให้วิดีโอเป็นและย้อนกลับและเล่นกับผู้ที่ถูกฆ่า หากไม่มีใครถูกฆ่าตายและไม่มีใครอยู่ในรัศมีรอบตัวละครให้ลบหรือหยุดการบันทึก หากนักฆ่าถูกซูมเข้ามาในขอบเขตจากนั้นโยนแสงไปยังจุดที่เขาเล็งและสร้างรัศมีไกปืนขึ้นมาใหม่ หากมีใครอยู่ในนั้นก็จะบันทึกหน้าจอของใครก็ตามที่อยู่ในรัศมีที่ตัวละครเล็งอยู่และเล็งไปที่ตัวละคร หากใครบางคนเสียชีวิตโดยตัวละครที่เล็งคุณจะต้องใช้เวลานานนับตั้งแต่การฆ่าบวกความยาวที่คุณต้องการให้ลูกเบี้ยวฆ่าเป็นและคุณย้อนกลับและเล่นสิ่งนี้กับคนที่ถูกฆ่า หากพวกเขาย่อให้หยุดการบันทึก นี่เป็นแนวคิดดังนั้นฉันจึงไม่ได้ลอง

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