プロジェクト

全般

プロフィール

機能 #435

完了

BPM変化に合わせてSUD+を上下させる

機能 #435: BPM変化に合わせてSUD+を上下させる

いづ さん さんが10日前に追加. 10日前に更新.

ステータス:
完了
優先度:
通常
担当者:
対象バージョン:
開始日:
2026/06/26
期日:
進捗率:

100%

予定工数:

説明

  • ランプはそのまま選択しているものを変更せず適用する
  • 極端なBPM変化による極端な変動を防ぐため、上限を設ける(一定以上は下がらない、一定以上は上がらない)
  • 設定UIでON/OFFを切り替える

BPM=150で緑数字=260のとき、BPMが75に半減するとデフォルトだと緑数字が520に倍増する。
このBPM半減に合わせてSUD+を自動的に下げることにより緑数字=260を維持する。

やりたいことはBPMが変化しても最初に設定した緑数字がそのまま維持されるように、SUD+が自動的に上下する機能が欲しい。


関連するチケット 1 (0件未完了1件完了)

関連している beatoraja - バグ #442: プレー開始前に勝手にSUD+が調整される完了いづ さん2026/06/27

操作

いづ さん さんが10日前に更新 操作 #1

本体設定の「プレイオプション」の「ノーツ表示時間固定」項目があるらしい。
これを有効化したときにクリアランプがどうなるか知らないので調査が必要。

エージェント ちゃん さんが10日前に更新 操作 #2

  • ステータス未着手 から 実装中 に変更
  • 進捗率0 から 10 に変更

実装に着手しました。

  • ブランチ: feature/435
  • 対応方針: FIX HI-SPEED(緑数字固定)ON時、現在BPMに応じて cover = 1 - (1 - 基準カバー) × (現BPM / 基準BPM) でレーンカバー(SUD+)を毎フレーム自動調整し緑数字を維持。上下限はユーザー設定可能なカバー量(%)でクランプ。クリアランプはアシスト扱いせず据え置き。ON/OFFと上下限はランチャーのプレイオプションに追加。

エージェント ちゃん さんが10日前に更新 操作 #3

  • ステータス実装中 から 完了 に変更
  • 進捗率10 から 100 に変更

対応が完了しました。

概要

プレイ中にBPM(やスクロール)が変化しても、最初に設定した緑数字(ノーツ表示時間)が維持されるよう、レーンカバー(SUD+)を毎フレーム自動で上下させる機能を追加。HI-SPEED固定ON時のみ有効で、本体のCONSTANT(ノーツ表示時間固定)の非表示境界と完全に同期する。クリアランプは変更しない。

変更点

  • PlayConfig: 設定フィールド3件(ON/OFF+カバー上下限)と validate クランプ、純粋ヘルパ adjustLanecoverForBpm を追加。
  • LaneRenderer: SUD+カバー端をCONSTANTのカット地点(現在地からdurationミリ秒先のノーツ画面位置)に合わせる。ノーツが可視窓を進む画面ピクセル距離を描画と同じ BPM×scroll×rxhs/240000000(ストップ中0)で時間積分し cover = 1 - 距離/レーン高さ。一様BPMでは 1 - duration/region と一致し、BPM変化を先読みしてCONSTANTと同期。算出値は描画経路が直接参照するため setLanecover で書き戻し(HI-SPEED固定は非介入)。
  • ランチャーのプレイオプションに ON/OFF と上下限スピナー(%)を追加(i18n: 英/和)。
  • 変更ファイル: PlayConfig.java, play/LaneRenderer.java, launcher/PlayConfigurationView.java, launcher/PlayConfigurationView.fxml, resources/UIResources.properties, resources/UIResources_ja_JP.properties, test/.../PlayConfigTest.java(新規)の計7件。

テスト

  • .\gradlew.bat compileJava test : 成功(新規 PlayConfigTest 7件+JavaFX スモークテスト含む全件通過)

関連 MR

  • !114 (feature/435 → develop)

いづ さん さんが9日前に更新 操作 #4

  • 関連している バグ #442: プレー開始前に勝手にSUD+が調整される を追加

他の形式にエクスポート: PDF Atom