2Dの音楽ゲームを制作していて、NoteEditorを使用し譜面データを作成・読み込むことまで進めましたが、どうしてもノーツのタイミングがずれて困っています。
###起きている問題
ゲームを再生後音符が降るテストプログラムにて、四分間隔のはずが少しずつ遅れて降るようになってしまいます。コード内ではstart()内で全音符を生成し、スクリプト内で音符の生成位置を計算しそこに配置しています。このとき私の実装では少しずつこの間隔が開いていきます。
スクリプト参考:https://teratail.com/questions/210116
コードを参考にさせて頂きました。
<スクリプト> 音符生成部分
C#
1Instantiate(onpupre, new Vector2(reaniti, 7.5f+((inputJson.notes[a].num * 426) / inputJson.BPM)*1), Quaternion.identity);
曲のBPMは142であるため、分子である(各音符のnum×数値)を割り切ることができず循環小数が発生するため、少しずつずれているのではないかと考えています。(426はずれを修正できないかと考え数値を弄った後のためです。元は600になります)
###実現したいこと
循環小数のせいかは断定できていませんが、このごくわずかなずれの発生をなくし、どのBPMであっても完璧な四分音符の間隔で音符を生成できるようにしたいです。
使用環境 Unity2019.1.5f1 + Visual Studio