Sangat umum adalah pendekatan untuk memiliki "beat map". Setiap jenis data yang mewakili ketukan dalam lagu. Itu bisa berupa tekstur, datafile atau apa pun yang menyimpan informasi itu. Sebagian besar waktu itu dibuat secara manual untuk membuat berbagai ketukan dan kombinasi, versi kecepatan untuk peta audio.
Itu dapat dihasilkan secara prosedural dari data file audio.
Bagaimana cara mendapatkan kecepatan agar sesuai dengan "beat point"? Kapan harus menelurkan objek?
Speed = Distance / Time
.
Distance =
Jarak antara titik-titik penciptaan GameObject dan dari "beat point".
Time =
Panjang audio dan beat beat yang dibangun harus cukup. Dengan informasi ini, Anda dapat menganalisis data audio / peta untuk memprediksi kapan suatu objek harus dihasilkan untuk mencapai titik yang tepat. Sekarang semuanya tergantung pada kapan Anda ingin menelurkan objek itu, jika Anda ingin sangat cepat setelah bertelur, maka Anda menelurkannya nanti dengan kecepatan tinggi. Jika Anda ingin berada pada kecepatan normal - maka perlu waktu untuk mencapai pemain dan audio membutuhkan waktu untuk bermain di saat yang tepat.
Anda bahkan dapat membuat peta baru dengan prangko waktu untuk memunculkan objek beat untuk peta audio tertentu. Anda harus membuat beberapa prediksi pada suatu titik untuk dapat menyamai ketukan, untuk gaya paling populer, saya katakan, untuk memprediksi when
untuk menelurkan objek untuk bergerak dengan pasti speed
. Itu dapat dibuat dalam runtime, atau dibaca dari beberapa file yang dihitung sebelumnya, atau disimpan dalam RAM ...
Saya berasumsi game seperti Osu
tidak punya ini Distance
, mereka hanya punya waktu menyusut lingkaran, bpm ... Peta umumnya dibuat khusus. Jadi pendekatan untuk menghitung visual tergantung pada gaya permainan yang Anda buat juga.
Jadi untuk meringkas semuanya, nilainya saling tergantung. Tergantung pada berapa banyak ketukan yang Anda miliki, pada jarak antara titik spawn dan pemain, dan kadang-kadang tergantung pada data yang disediakan [beberapa game memiliki kecepatan setiap ketukan dan tampilannya dikodekan dalam beberapa file data yang dibuat secara manual]. Jika Anda melakukannya dengan cara prosedural, maka Anda dapat menghitung semuanya pada dasarnya dengan menggunakan data audio.