非常に一般的なのは、「ビートマップ」を作成するアプローチです。曲のビートを表すあらゆる種類のデータ。これは、テクスチャ、データファイル、またはその情報を保持するその他のものにすることができます。ほとんどの場合、手動で作成して、さまざまなビートや組み合わせ、オーディオマップの速度のバージョンを作成します。
ただし、オーディオファイルデータから手続き的に生成できます。
「ビートポイント」に一致する速度を取得するにはどうすればよいですか?いつオブジェクトをスポーンするのですか?
Speed = Distance / Time
。
Distance =
GameObjectの作成ポイントと「ビートポイント」のポイント間の距離。
Time =
オーディオの長さと構築されたビートマップで十分です。この情報を使用すると、オーディオ/マップのデータを分析して、正確なポイントに到達するためにオブジェクトをいつ生成する必要があるかを予測できます。これはすべて、そのオブジェクトをいつスポーンするかによって異なります。スポーン後に非常に高速にしたい場合は、後で非常に高速にスポーンします。通常の速度にしたい場合は、プレーヤーに到達するまでの時間が必要で、音声が適切なタイミングで再生されるまでの時間が必要です。
特定のオーディオマップのビートオブジェクトのスポーンのタイムスタンプを含む新しいマップを生成することもできます。ビートに合わせるには、ある時点でいくつかの予測を行う必要があります。最も一般的なスタイルではwhen
、オブジェクトが特定ので動くようにスポーンすると予測するためspeed
です。これらはランタイムで作成するか、以前に計算されたファイルから読み取るか、RAMに保存できます...
私Osu
はこれがないようなゲームを想定していますDistance
、彼らは円が縮小する時間を持っています、bpm ...マップは一般的にカスタムメイドです。したがって、ビジュアルを計算する方法は、作成しているゲームのスタイルによっても異なります。
したがって、すべてをまとめると、値は相互に依存しています。あなたが持っているビートの数、スポーンポイントとプレーヤーの間の距離に依存し、提供されたデータに依存する場合もあります[一部のゲームは、すべてのビートの速度とその外観が手動で作成されたデータファイルにエンコードされています]。手続き的な方法で行う場合は、基本的にオーディオデータを使用してすべてを計算できます。