Membuat cam bunuhanku sendiri


15

Saya berencana membuat sistem kill cam saya sendiri untuk satu set alat kotak pasir. Namun, setelah berpikir tentang mekanisme cam pembunuh itu sendiri, saya cukup bingung. Saya mencoba untuk membuat ulang game yang biasanya terlihat dalam panggilan tugas yang menunjukkan, dari sudut pandang si pembunuh, adegan pembunuhan yang sebenarnya.

Pikiran saya:

-Saya tidak bisa hanya mengingat ketika orang membunuh orang lain karena saya tidak tahu kapan harus memulai 'proses rekaman'. Ada cara bagi saya untuk menentukan secara akurat kapan seseorang 'akan' membunuh seseorang.

-Satu-satunya ide saya sejauh ini adalah memiliki duplikat lengkap semua yang dimuat ke samping menyalin semua gerakan dari dunia asli tetapi dengan penundaan 10 detik. Dengan begitu, semua kamera pembunuh akan berdurasi 10 detik dan kamera orang hanya akan dipindahkan ke dunia kedua dari pembunuh mereka.

Pertanyaan saya:

Apakah sudah ada cara yang diterima untuk melakukan ini? Adakah yang punya ide bagus untuk hal seperti ini? Terima kasih, jika bisa!

Jawaban:


10

Menyimpan beberapa detik terakhir dari data pergerakan objek dinamis yang relevan .

Data ini harus cukup lengkap sehingga dapat digunakan untuk merekonstruksi adegan killcam jika perlu, tetapi tidak cukup lengkap sehingga Anda mampu mengambil dan menyimpan pada interval yang cukup singkat.

Contoh hal yang mungkin ingin Anda lacak:

  • Ke arah mana pemain yang terlihat bergerak / mencari
  • Apakah pembunuh diperbesar dalam lingkup pistol?

Hal yang mungkin ingin Anda optimalkan:

  • Data tentang pemain yang tidak dapat dilihat oleh pembunuh
  • Output layar aktual siapa pun

Ada masalah besar dalam jawaban Anda, biasanya Anda tidak dapat memprediksi kematian siapa pun, dan Anda juga tidak dapat memprediksi siapa yang akan mendapatkan pembunuhan berikutnya. jadi dengan mengoptimalkan data tentang beberapa pemain Anda mungkin akhirnya kehilangan kemampuan untuk memutar ulang beberapa pembunuhan.
Ali1S232

2
@ Gajet Saya pikir dalam hal ini, dia bermaksud menyisihkan semua objek yang relevan dan hanya menyimpan data untuk mereka setelahnya. Dengan kata lain, Anda sudah ingin memiliki semacam mekanisme penyimpanan / pemutakhiran untuk melacak posisi segala sesuatu dan entitasnya, tetapi untuk waktu yang terbatas. Katakanlah, Anda hanya ingin 10 detik terakhir untuk sebuah kamera pembunuh. Anda hanya perlu struktur data yang cukup besar untuk menyimpan 10 detik terakhir dan apa pun yang lebih tua dari yang akan diganti pada akhirnya, seperti dalam antrian ujung ganda.
ChrisC

Hanya mengonfirmasi bahwa jawaban Ricer adalah apa yang saya maksudkan. Memang: Ketika Anda tidak dapat memprediksi masa depan, bersiaplah untuk itu. :)
Anko

1
Penting untuk menyebutkan bahwa game online realtime tidak pernah menunjukkan kepada pemain apa yang sebenarnya terjadi; gim selalu membuat dugaan tentang kebenaran yang mungkin terjadi, tetapi karena latensi dan masalah jaringan lainnya, gim tidak akan mengetahui apa "kebenaran obyektif" itu sampai nanti - jika memang ada. Jadi, jika Anda tidak memiliki data "kill cam" yang tersedia untuk dapat menciptakan kembali sudut pandang orang lain, Anda benar-benar tidak perlu merasa bersalah untuk membuat data cam cam yang masuk akal dalam situasi di mana Anda membutuhkannya.
Trevor Powell

0

Tidak tahu bagaimana ini biasanya diterapkan, tetapi Anda bisa meminta masing-masing peluru menyimpan klip dari saat dipecat, hingga ketika menyentuh target. Jika pemotretan dilakukan hanya dengan hitcan, Anda dapat menghitung apakah akan menghasilkan rekaman kill cam dalam siklus yang sama saat Anda melakukan hitcan.


0

Anda dapat menyimpan transformasi objek setiap beberapa detik atau lebih. Lakukan ini untuk semua objek dinamis yang berlaku. Goyangkan tabungan sehingga setiap bingkai Anda hanya menyimpan beberapa matriks. simpan sejauh mungkin dalam waktu yang Anda inginkan.

Selama replay, Anda benar-benar menggunakan transformasi ini dalam mesin rendering untuk menghidupkan melalui adegan, menginterpolasi antara transformasi dengan waktu untuk setiap frame yang diperlukan.

Ini bukan duplikat yang tepat tetapi sangat sangat dekat & memungkinkan Anda untuk memberikan pemain pilihan kontrol kamera selama replay sehingga mereka dapat memilih dari mana untuk melihat pemandangan.


ada satu masalah dengan menyimpan hanya mengubah matriks, tidak menyimpan yang lain! misalnya jika Anda hanya menyimpan matriks transformasi untuk pemain, animasi mungkin salah Anda tidak akan dapat melihat berapa banyak kerusakan yang dilakukan musuh sebelum membunuh Anda dan kapan dia menembakkan senjatanya. ada daftar panjang detail yang Anda lewatkan menggunakan metode Anda yang dapat Anda pikirkan dengan mudah.
Ali1S232

Harap baca kembali, Anda menyimpan transformasi untuk semua objek dinamis yang sesuai, bukan hanya matriks untuk pemain. Hal ini juga cukup mudah untuk menyelamatkan kesehatan atau data titik-hit dan barang-barang lainnya juga. Intinya, menghemat terlalu banyak data akan menghabiskan sumber daya waktu gim, (buruk). Anda menghemat sesederhana mungkin dan membiarkan mesin rendering Anda melakukan sebanyak mungkin pengangkatan berat dengan interpolasi selama replay mungkin. Itu kompromi tapi apa yang tidak?
Steve H

0

Anda dapat menerapkan beberapa fitur replay di game Anda. menggunakan fungsi replay, killcam hanyalah replay yang dimainkan dari beberapa gametime tertentu, dan dari sudut pandang beberapa pemain. nanti Anda dapat menyimpan replay dan membiarkan orang lain meninjau game setelah selesai.

juga ide Anda untuk menjalankan game yang sama dengan input 10 detik keterlambatan adalah pendekatan yang baik jika game Anda tidak menggunakan daya komputasi yang tinggi.


0

Bagaimana dengan ini...

Hanya catat ketika ada kemungkinan membunuh.

Pikirkan tentang hal ini dari sudut pandang AIM-BOT. Itu hanya akan mengarah / menembak ketika membunuh adalah suatu kemungkinan. Jadi, Anda hanya perlu merekam ketika musuh berada dalam jangkauan yang dapat dibunuh / terlihat.


Bagaimana dengan situasi yang melibatkan pemotretan melalui suatu objek? Ray casting sangat banyak pasti akan lebih intensif CPU daripada beberapa ide lain yang disebutkan. Ide bagus, saya bisa menganggap itu sebagai bagian dari solusi.
Freesnöw

0

Atur radius di sekitar pemain dan jika pemain lain memasuki radius maka itu mulai merekam layar untuk kedua orang. Anda kemudian menunggu untuk melihat apakah ada yang terbunuh. Jika demikian maka Anda menemukan si pembunuh dan mengambil rekaman mereka dan memundurkan jumlah waktu yang telah berlalu sejak pembunuhan ditambah panjang yang Anda inginkan video dan mundur dan mainkan untuk orang yang terbunuh. Jika tidak ada yang terbunuh dan tidak ada orang lain dalam radius di sekitar karakter maka hapus atau hentikan rekaman. Jika si pembunuh diperbesar pada lingkup kemudian melemparkan sinar ke tempat ia membidik dan membuat radius pemicu lain. Jika seseorang ada di dalamnya maka ia merekam layar siapa pun yang berada dalam radius di mana karakter yang membidik membidik dan dari karakter yang membidik. Jika seseorang mati dengan karakter yang bertujuan maka Anda mengambil waktu berlalu sejak pembunuhan ditambah panjang yang Anda inginkan untuk membunuh cam dan Anda mundur dan bermain ini untuk orang yang terbunuh. Jika mereka memperkecil maka hentikan rekaman. Ini adalah konsep jadi saya belum mencobanya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.