Menembakkan peluru keluar dari pistol alih-alih kamera, namun tetap akurat sehubungan dengan reticle


14

Saya sedang mengerjakan game orang pertama, dan saya mengalami masalah. Di gim saya, ada senjata pemain yang diberikan, serta reticle di tengah layar - seperti ini:

masukkan deskripsi gambar di sini

Pertama, Mari kita bayangkan tidak ada model senjata yang diberikan. Maka menembakkan peluru itu mudah - Anda cukup menelurkan peluru tepat di mana "mata" pemain itu berada, dan kemudian menggunakan trigonometri untuk menghitung kecepatan berdasarkan arah apa pun yang dilihat pemain.

Tapi sekarang, ketika kita menambahkan model senjata ... kita tidak bisa hanya menelurkan peluru di mana mata pemain berada, kita harus memijahkannya di ujung pistol (kan?). Jadi Anda melakukan itu, tetapi kemudian ... bagaimana Anda memindahkan peluru dengan cara yang akan mengenai mana pun reticle menunjuk?

Perlu diingat bahwa peluru dalam permainan saya (sebenarnya roket, dalam hal ini) akan bergerak cukup lambat sehingga gerakannya dapat terlihat, sehingga beberapa solusi yang biasanya akan bekerja jika peluru terlalu cepat untuk diamati tidak akan bekerja . Misalnya, jika Anda tidak menelurkannya sehingga terlihat seperti keluar dari ujung pistol, pemain pasti akan memperhatikan itu.


1
Jawaban untuk pertanyaan Anda adalah, Raycasting =)
Gray

Semuanya asap dan cermin; setiap peluru yang diberikan tidak ada hubungannya dengan jalur atau sinar peluru yang sebenarnya.
congusbongus

@congusbongus Maksudku, peluru OFC yang diberikan tidak harus persis berbaris dengan matematika dari peluru itu sendiri, tetapi jika Anda tidak melakukan ini pada tingkat tertentu mulai terlihat buruk, dan di situlah saya terjebak .
Aaron

Jawaban:


20

Tembak sinar dari kamera melalui pusat / reticle ke dunia. Cari tahu di mana di dunia itu hits. Tembakan peluru dari moncong pistol pada saat itu dan bukan langsung dari pistol.

Poin bonus untuk menjiwai tangan dan senapan untuk menunjuk ke arah itu sambil membidik sehingga peluru masih terlihat seperti menembak langsung keluar dari moncong bukannya keluar dari sudut.

Jika Anda melakukan animasi Anda hanya bisa menembakkan peluru langsung keluar dari moncongnya selalu. Lakukan yang terbaik untuk mengarahkan pistol ke titik reticle bertujuan dalam batas yang wajar. Ini juga membantu untuk memiliki dua reticle dengan cara yang secara alami menunjukkan bagian tengah layar yang ingin diarahkan oleh pemain dan titik yang sebenarnya diarahkan oleh pistol.

Atau Anda dapat menunjukkan reticle tunggal di mana pistol akan membidik setelah menyelesaikan animasi dan menembakkan peluru ke arah itu alih-alih tempat pistol saat ini bertujuan dalam animasinya. Dengan cara ini reticle selalu menunjukkan apa yang akan dipukul pemain tetapi tidak akan berpura-pura misalnya Anda dapat menembak dinding hanya karena kamera melihat sesuatu yang tidak mungkin dilakukan oleh pistol.

Semua ini telah digunakan dalam game nyata. Yang Anda inginkan tergantung pada gaya permainan yang Anda buat, pertukaran apa yang dilakukan antara simulasi dan permainan yang Anda tuju, apakah ini multipemain atau tidak, dll.


banyak permainan bahkan tidak menggunakan model untuk peluru tetapi hanya menembakkan sinar seperti yang disebutkan untuk memeriksa tabrakan, yang dapat Anda lakukan adalah menampilkan model senjata yang berbeda untuk pemain lain daripada apa yang muncul dalam tampilan pemain saat ini dan berbariskan dengan tempat peluru dipecat dari dengan karakter yang tampaknya membidik pemandangan
Matthew Pigram

Sumber Counter-Strike menggunakan metode ini (memiliki tampilan, pemain dan model dunia)
Matthew Pigram

-1

Bagaimana dengan menyingkirkan reticle? Kemudian, peluru bisa masuk dalam garis lurus dari pistol, seperti pada kenyataannya. Membidik pemandangan akan lebih berarti karena Anda akan menyelaraskan target dan laras senapan (minus beberapa inci pada model pemain).


Sementara banyak game melakukan hal seperti ini, ini adalah keputusan desain yang sangat luas dengan implikasi pada keseluruhan langkah dan pertempuran game.
Katana314

Bagi saya ini lebih dari menghindari masalah daripada benar-benar menyelesaikannya.
Aaron
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.