Ada jawaban yang bagus di sini. Saya harus mencari tahu sendiri tentang proyek yang sedang saya jalani, tetapi sampai pada kesimpulan yang sama dengan orang-orang Sucker Punch (dan saya pikir saya membuat sesuatu yang baru. Baww :().
Saya merasa berguna untuk mempertimbangkan "panorama" 360x180 derajat orang pertama Anda sebagai "bidang akselerasi". Semua target yang valid membuat sumur gravitasi yang menekuk input pemain (hanya subtley) sedemikian rupa sehingga gerakan makro (beralih ke target wajah) terasa seolah-olah itu adalah jalur yang "dilumuri". Namun, ini tidak mempengaruhi crosshair sepanjang waktu - hanya ketika giliran pemain delta menunjuk dengan kemiringan sumur (seolah-olah). Itu benar-benar kuncinya - Anda hanya memberikan kecepatan belokan ekstra ini ketika pemain berputar secara kasar ke arah target. Itu tentang satu-satunya kesimpulan yang dapat Anda buat dari input pemain.
Jauh lebih banyak, dan Anda mendapatkan terlalu banyak "efek ouija" yang nyata. Anda menginginkan kebalikan dari ouija: Di mana papan ouija bergerak tidak cerdas karena pengguna, tanpa sepengetahuan mereka, Anda ingin crosshair pemain bergerak dengan cara yang cerdas tanpa pengguna menyadari bahwa itu BUKAN murni input mereka. Ini benar-benar semacam trik sulap.
Gunakan produk titik dari delta pitch / yaw memutar pemain vs delta pitch / yaw dari crosshair ke setiap target. Jepit nilai antara 0 dan kecepatan maks (sehingga Anda mengabaikan input saat mendorong menjauh dari target), lalu gunakan fungsi jarak sebagai pengubah falloff.
Saya menemukan bahwa meningkatkan bonus "gerakan makro" ini ketika crosshair vs target angular delta besar (yaitu ketika musuh ada di belakang Anda) benar-benar membantu dengan masalah pengendali konsol klasik karena tidak dapat membalikkan muka dengan cukup cepat. Dalam hal "pilihan penargetan", jika Anda diserang dari belakang, dan tidak ada target di depan Anda, panorama di depan Anda adalah "ruang mati", dan Anda mungkin juga memberi pemain kemampuan untuk terbang melintasinya dengan kecepatan tinggi dengan kursor mereka. Dan jika ada target ADA di depan, mereka mungkin lebih tinggi di pikiran pemain dan karena tujuan lembab / lengket, tidak terpengaruh oleh kekuatan makro yang lemah.
Tak banyak kebutuhan bagi Anda untuk meredam sensitivitas ketika pemain mencoba untuk mengubah diri
dari sebuah objek (ini akan menghasilkan perasaan mencoba untuk "melarikan diri" orbit target ini). Peredam digunakan lebih banyak untuk membidik presisi, dan juga untuk menghentikan overshooting sasaran pemain saat bergerak dari makro ke presisi mikro - Ini adalah hal yang paling mencemaskan: pemain (terutama pemula) memiliki kecenderungan untuk hanya menggunakan ekstrem defleksi tongkat, sehingga Anda harus untuk melakukan banyak usaha untuk mereka.
Tujuan lengket adalah kompensator gerakan relatif. Perhatikan perbedaan antara sudut ke target Anda (dari kamera, bukan dari asal entitas), bingkai ini, dan bingkai terakhir. Lihat seberapa dekat Anda membidik target. Untuk menghindari efek ouija ketika tidak ada input pengguna, periksa defleksi kedua tongkat: Lihat apakah Anda telah bergerak secara fisik (aktuasi tongkat kiri) ATAU jika ada yang aktif membidik "dengan" arah target. Tambahkan yaw / pitch delta step * kedekatan bertujuan * Max (move.length, aim.length) untuk tujuan lengket yang belum sempurna.
Di mana masalah kebingungan target muncul (yaitu, sebuah target menghalangi pandangan Anda saat Anda membidik sesuatu di belakang, "mencuri" fokus Anda), cukup lacak target Anda, dan "panaskan" satu saja ketika sedang aktif. bertujuan. Kemudian, gandakan komponen pelembap dan lengket dengan parameter panas ini sehingga target yang tidak dipanaskan diabaikan. Jika pemain INGIN bantuan pada target lain, mereka akan secara manual membidiknya, dan dengan sangat cepat, itu menjadi target yang paling dipanaskan sementara yang sebelumnya dilupakan.
Kami juga membuat target assitance bertujuan "hantu" untuk membantu Anda berpaling dari hal-hal yang tidak menarik (yaitu menghadap tembok - tidak perlu berkeliaran memandangi permukaan kosong yang dekat jika itu tidak berguna secara interaktif), tetapi mungkin lebih daripada yang bisa saya bicarakan tentang - Anda dapat menerapkan hal ini pada apa pun yang menarik untuk ditunjukkan oleh pemain, baik itu barel peledak, objek interaktif (bioshock menggunakan peredam saat membidik objek yang dapat berinteraksi dalam jarak dekat ... tetapi tidak melakukan lengket pada mereka, Saya tidak berpikir). Setelah Anda menyadari bahwa ini semua hanya untuk memuji konsep inti dari membidik, Anda menyadari itu bukan hanya tentang bidikan bidikan, tetapi peningkatan penggunaan secara umum yang dimasukkan ke dalam mekanika yang bergantung pada tujuan. Dan dalam FPS, sungguh,
Yang tidak penting dengan semua ini adalah penyetelan. Butuh waktu lama untuk mendapatkan yang benar, dan untuk menangani gangguan target, dan masalah dengan target yang begitu dekat sehingga "zona sasaran" mereka membanjiri panorama pemain, memperlambat 60 derajat rotasi ke bawah hingga merangkak.
Ya ampun, aku harus tidur. Maaf jika beberapa matematika tidak jelas. Ini benar-benar terlambat, tetapi saya senang membaca posting ini.