譜面文件格式概述
本頁面詳細介紹了 PhiCommonChart 譜面文件的基本構成和技術規範。
提示
繁體中文由 AI 翻譯,可能存在錯誤,請參考簡體中文版
文件封裝格式
PhiCommonChart 採用了高效的 Protocol Buffers (protobuf) 作為文件封裝格式,相比傳統的 JSON 格式具有以下優勢:
- 更高的壓縮效率:有效減小文件體積
- 更快的解析速度:二進制格式提供更優的性能
- 嚴格的類型檢查:確保數據完整性
所有 PhiCommonChart 格式的譜面文件統一使用 .nrc 作為文件擴展名。
文件內容構成
每個 .nrc 文件是一個完整的譜面包,包含遊戲所需的全部資源:
- 譜面數據(判定線、音符等)
- 音頻文件(背景音樂、音效等)
- 圖像資源(背景圖片、判定線紋理等)
這種一體化的封裝方式確保了譜面的完整性和便攜性。
兼容性等級系統
為了幫助玩家選擇合適的模擬器,PhiCommonChart 定義了較為詳細的兼容性等級系統。當遊戲引擎的兼容等級低於譜面要求時,應向用戶發出警告。
| 兼容等級 | 名稱 | 功能支持範圍 |
|---|---|---|
| 0 | 官譜兼容 | 僅支持基礎功能。不支持任何 RPE 擴展特性(如負透明度) |
| 1 | 基礎擴展 | 支持部分 RPE 特性:負判定線透明度、判定線遮罩、判定線層級等。不支持判定線紋理、extended 層級、各種 control |
| 2 | 高級擴展 | 支持大部分 RPE 特性,但不包括 extended 層級事件與各種 control 功能 |
| 3 | 完全兼容 | 完整支持所有 RPE 特性,涵蓋本文檔描述的全部行為規範 |
| 4 | PRPR 擴展 | 額外支持 PRPR 模擬器的擴展功能:自定義 Shader、解鎖動畫等 |
| 5 | 自定義擴展 | 包含對譜面結構的自定義修改。 |
注意事項
兼容性等級字段的具體存儲位置和設置方法將在後續章節中詳細說明。
使用兼容等級 5 代表你的文件會被大部分模擬器拒絕。
模擬器應當在沒有對文件格式進行擴展的情況下拒絕兼容等級為 5 的譜面文件。
警告
兼容等級 5 需要Fork本文檔進行修改。 即使兼容等級為 5 ,也不可以刪除已有字段。
坐標系
本譜面格式坐標系基準點位於左下角,0, 0 開始 1, 1 在屏幕右上角結束。
時間單位
所有的時間單位均為拍(Beat),實際時間需要通過 BPM 計算得出。
承諾
PhiCommonChart 承諾在未來的版本中保持向後兼容性,永不移除現有字段,永不修改行為規範(除非有誤)。