用途:为 Godot 引擎节奏游戏提供可复用的系统蓝图与脚本规范,覆盖音频时钟、输入判定、note 生成、延迟校准、评分连击、可视化反馈与性能优化,并列出必须避免的实现反模式。
主要能力:
- 音频时钟:歌曲时间严格使用 AudioStreamPlayer.get_playback_position() + AudioServer.get_time_since_last_mix() - AudioServer.get_output_latency()(见 rhythm_conductor.gd),禁止用 Time.get_ticks_msec()/usec 作时钟。
- 输入判定:用 _input(event) 记录按键精确时间戳,按歌曲已过时间(毫秒)判定,而非世界像素位置;逻辑放入 _physics_process() 或 conductor 循环。
- 性能:采用对象池 note_object_pool.gd 复用 note、基于 UV 滚动的着色器轨道(GPU 承担位移)、resourceLoader.load_threaded_request() 后台加载,避免每拍实例化与主线程 FFT(改用 AudioEffectSpectrumAnalyzerInstance)。
- 校准与手感:latency_calibrator.gd 供玩家调整硬件/蓝牙延迟(约 30-100ms);命中音加 ±5% 随机音高;初学者用更宽判定窗口;跟踪并惩罚漏击以维持完整性。
- 模块:note_orchestrator.gd 按谱面生成、rhythm_scoring_system.gd/score_combo_manager.gd 计分与连击、rhythm_ui_feedback.gd/beat_synced_animator.gd 反馈、note_lane_manager.gd 多轨布局、dynamic_bpm_handler.gd 变速谱、audio_spectrum_analyzer.gd 频谱可视化(非时钟)。
必要用法:核心循环为 校准延迟→conductor 时钟→生成池化 note→_input 判定→分数/连击 UI。使用前需具备 godot-project-foundations、godot-audio-systems、godot-input-handling、godot-gdscript-mastery 等前置技能;实现匹配系统前须阅读 bundled scripts/ 中的四个强制脚本,勿在技能内重复内联 MusicConductor/NoteHighway/JudgmentSystem 类。歌曲速度用 pitch_scale,禁止改全局 time_scale;暂停需与音频播放器同步。
适用场景:Godot 节奏游戏、下落式 note 轨道、需要音频同步判定的玩法。
限制:资料未提供具体价格、平台、收费与效果数据;深度内容需另开 rhythm-systems-deep.md,首次接线不应加载。