Skip to content

第03回 リズムゲーム2 ​

第02回でそろえた時間軸を使い、ノートの発行・移動・入力判定と、終了・再挑戦の仕組みを確認します。その後、拍をTickへ分け、CSVにノーツを置く場所を書きます。表示と判定へ、テキストから作った譜面を渡します。

配布プロジェクト ​

第03回の開始用プロジェクトを別のフォルダーへ展開し、Unity HubでRhythmGameを追加してください。Unity 6000.5.5f1で開き、Assets/UNSLOW/RhythmGame/Scenes/RhythmGame.unityを開きます。前の回の受講や完成物は必要ありません。

CSVを保存してUnityで再読み込みする操作と、C#の配列、繰り返し、関数の戻り値を使います。ノーツの時刻を確認したい場合は、曲の時計と共通の時間軸を参照してください。

開始版には、ノーツの表示、入力判定、再挑戦が実装されています。前半では配布済みのコードを読み、固定譜面で速度・先読み時間・判定幅を変えて確かめます。後半ではChartParser.csのParseNoteRowを実装し、CSVの1行を4レーンの整数配列へ変換します。

最初はPlayを止めた状態で、InspectorのChart SourceにあるUse Csvをオフにしてください。固定の8音譜面で表示・判定を試せます。CSVを使う状態へ戻す手順は、CSVの読み取りを実装するステップで案内します。Use Csvがオンで読み取りが未実装の場合は、ノーツがないことを知らせるCHECK CHARTが表示されます。

配布ファイル一覧
ファイル役割
Assets/UNSLOW/RhythmGame/Charts/synthwavehouse.csv曲の情報とTick単位の譜面
Assets/UNSLOW/RhythmGame/Scripts/ChartSource.csInspectorで指定したTextAssetから文字列を読む
Assets/UNSLOW/RhythmGame/Scripts/ChartParser.cs設定行とノーツ行を読む
Assets/UNSLOW/RhythmGame/Scripts/NoteData.csChartDataのTickを判定時刻へ変換する
Assets/UNSLOW/RhythmGame/Scripts/BeatTickView.csBeatと現在Tickを表示する
Assets/UNSLOW/RhythmGame/Scripts/TickView.csTick Prefabの番号と強調を表示する
Assets/ThirdParty/Audio/synthwavehouse.wav練習用の音源
Assets/ThirdParty/Audio/LICENSES.md音源の作者、出典、利用条件

この回のゴール ​

見本では曲の再生開始からBeatとTickの表示が進みます。バー全体の発光は1拍ごと、番号の強調は現在のTickです。二つを見ながら、ノーツを置く間隔を確かめます。

  • 同じ時間軸でノートを発行・移動・判定し、再挑戦で戻す状態を説明できる。
  • BPMとTick数から時刻を計算し、CSVを解析して休符や同時押しを含む譜面を作れる。
  • 譜面を一つ変えた結果と、選んだ音源の利用条件を説明できる。

今回のポイント ​

前半では、発行予定時刻、残り時間からの距離、入力時刻との差を確認します。固定譜面でもCSV譜面でも、表示と判定が受け取るのはレーンと判定時刻の配列です。

CSVの行は、ノーツの個数ではなく時間の順番を表します。休符の行も保存します。同じ行のノーツには、同じ時刻を割り当てる規則です。

図を準備しています…

設定行、時刻の変換、エラー表示は配布済みの処理を使います。表示と判定の仕組みを確認した後、自分で書く部分はノーツ行の変換です。その後はCSVを編集して、押す回数と間隔による遊び心地の違いを比べます。

授業の進め方 ​

完成確認 ​

  • 速度・先読み時間・判定幅の一つを変え、時刻と表示・判定の関係を説明できる。
  • 再挑戦で曲・時計・ノーツ・判定件数が初期化されることを確認した。
  • 休符を追加すると後続ノーツが遅くなり、コメントでは時刻が変わらない。
  • 同じ行の二つのノーツを同時押しとして演奏できる。
  • Tick数を変えたときの行数と時刻を説明できる。
  • 曲の作者、配布元、予定する利用に必要な条件を記録した。

ライセンス ​

アセット作者提供元ライセンス
Synthwave House Loopの添付ループ音源FupiOpenGameArtCC0 1.0 Universal
UDEV Gothic v2.2.0と、元フォントから生成したSDF Font Assetyuru7UDEV GothicSIL Open Font License 1.1

音源の記録はAssets/ThirdParty/Audio/LICENSES.md、フォントの出典・著作権表示・ライセンス文書はAssets/ThirdParty/UDEVGothic/に同梱されています。