Bagaimana EA DICE menciptakan lingkungan yang dapat dirusak di Battlefield Bad Company 2 dan Battlefield 3? [Tutup]


30

Bagaimana orang-orang di EA DICE menciptakan lingkungan yang dapat dirusak di Battlefield Bad Company 2 dan Battlefield 3?

Apakah mereka hanya merakit bangunan dari sub-wilayah yang telah ditentukan, yang pecah ketika ada ledakan atau yang serupa? Saya tidak bisa memikirkan hal lain.



2
Ada 2 dokumen tentang penghancuran & deformasi Mesin Frostbite di bawah bagian publikasi di situs web DICE. Satu berada di bawah kategori Tesis dan satu lagi di bawah kategori Rendering .
Quazi Irfan

4
Saya memberikan suara untuk menutup pertanyaan ini sebagai di luar topik karena ia menanyakan bagaimana penerbit tertentu membuat mekanik tertentu dalam permainan tertentu. Biasanya, kami tidak dapat memberi tahu Anda dengan pasti tanpa spekulasi, dan karena itu, pertanyaan-pertanyaan ini di luar topik. Secara umum, kami akan bertanya bagaimana cara membuat mekanik seperti itu, kami sendiri, tetapi saya merasa bahwa pertanyaan ini sudah terlalu tua untuk memberikan manfaat nyata dari melakukannya.
Gnemlock

Jawaban:


27

Sederhananya ya itu yang mereka lakukan. Tapi panjangnya ekstra untuk menutupi ujung lurus menggunakan masker penghancur . Setelah menghapus bagian geometri, mereka menambahkan jala rinci di sekitar bagian yang dihancurkan untuk membuatnya terlihat dapat dipercaya.

Inilah cara kerjanya,

masukkan deskripsi gambar di sini

Ketika menghancurkan bagian dari rumah ini, kita mulai dengan menghapus sepotong geometri

Ketika menghancurkan bagian dari rumah ini, mereka mulai dengan menghapus sepotong geometri

masukkan deskripsi gambar di sini Kemudian menambahkan detail jerat di sekitar bagian yang hancur.

masukkan deskripsi gambar di sini

Dan langkah terakhir adalah menambahkan topeng penghancuran.

Mereka juga menggunakan efek partikel dan serpihan jaring untuk tampilan yang lebih dramatis.

(Semua referensi diambil dari 2 publikasi yang saya sebutkan di komentar)


8
Nah partikelnya memang terlihat dramatis, tetapi itu juga memungkinkan pertukaran geometri disembunyikan dari pemain oleh asap dan yang lainnya.
AttackingHobo

8

Ini adalah CSG - Constructive Solid Geometry (walaupun dalam kasus ini, itu destruktif, secara tegas), jika Anda ingin melakukan penelitian lebih lanjut tentang bagaimana sebenarnya algoritma bekerja.

Pendekatan standar adalah dengan menggunakan dua jerat A & B yang ada (rumah dan volume "ledakan" yang dikurangkan) untuk menghasilkan "jala" ketiga (grafik) di mana dua bidang jerat dan tepi berpotongan, C - yang menggambarkan area mereka berbagi. Dalam 2D:

      / \
     /   \
    /  A  \
     |   |
     | /-|-\
     | |C| |
---  ----- | ------- G
       |  B|
       \---/

A adalah rumah, B adalah volume ledakan, C adalah persatuan / titik potong antara A dan B. G adalah tanah.

Matematika / logika di baliknya tidak sepele, karena ada banyak kasus tepi yang harus dihadapi dan setengah atau lebih dari tugas ini hanya mengenali jenis grafik hasil yang mungkin merupakan kasus khusus yang perlu dipenuhi dalam kode. Saya telah melihat masalah yang dijelaskan oleh para veteran di gamedev.net sebagai "masalah yang sangat sulit" dan saya dapat memberitahu Anda dari mencoba dalam 2D, bahkan, dan memiliki tingkat keberhasilan yang moderat di mana hanya beberapa kasus tepi yang gagal, bahwa itu bukan tugas kecil.

Cara yang mungkin lebih mudah adalah dengan menggunakan algoritma dekomposisi poligon, dan gunakan geometri yang dibuat sebagai dasar untuk penghancuran geometri Anda.


1
Itu mungkin telah diturunkan karena tidak terlalu terkait dengan pertanyaan, karena bertanya tentang metode yang digunakan untuk permainan tertentu. Tesis Stegmayr ditulis ketika BF: BC2 dikembangkan - sehingga metode dan hasil yang dicapai di dalamnya mungkin telah mempengaruhi desain sistem penghancuran. Sedihnya, itu tampaknya tidak bertahan utuh ke dalam permainan itu sendiri, yang tidak jarang ketika datang ke teknik-teknik baru dalam R&D. (Dan tidak, saya tidak / tidak bisa melakukannya.)
Lars Viklund
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.