Re:PhiEdit 谱面格式说明
Re:PhiEdit 谱面采用 JSON 格式,可以使用任何文本编辑器进行编写。
我们约定,备注的-表示该版本及以前不支持,+表示该版本及以后支持。
概念
Beat
由[int,int,int]组成,RPE 显示[0]:[1]/[2];
其节拍值可以表示为Beat[0] + Beat[1] / Beat[2]。
结构
根结构 root
META
MetaData81+:谱面信息。BPMList
Array<BPMEvent>81+:BPM 事件列表。judgeLineList
Array<JudgeLine>81+:判定线列表。judgeLineGroup
Array<string>99-100+:判定线分组。- 用于 RPE 标记,谱面读取时不会使用这个属性。
谱面信息 MetaData
该属性在 RPE 版本 81 前位于根结构,RPE 版本 99 后位于META。
RPEVersion
int81+:RPE 版本,如113表示v1.1.3。offset
float81+:谱面偏移(ms)。name
string81+:音乐名称(谱面名称)。id
string81+:唯一标识(标识名)。song
string81+:音乐文件路径。background
string81+:背景文件路径。composer
string81+:音乐作者(作曲者)。charter
string81+:谱面作者(谱面设计)。level
string81+:难度等级(谱面难度)。
BPM 事件 BPMEvent
startTime
Beat81+:开始时刻。bpm
float81+:BPM(每分钟拍数)。
判定线 JudgeLine
numOfNotes
int81+:音符数目。isCover
int81+:遮罩(0-UnCover,1-Cover,默认1)。Texture
string81+:判定线材质文件(默认line.png)。eventLayers
Array<EventLayer>81+:事件层。extended
Extended81+可选:扩展。notes
Array<Note>81+:音符列表。Group
int81-99+:未知。Name
string81-99+:判定线名称。zOrder
int100-105+:Z 轴坐标。bpmfactor
float100-105+:?。father
int100-105+:?。posControl
Array<PosControl>105-113+:?。alphaControl
Array<AlphaControl>105-113+:?。sizeControl
Array<SizeControl>105-113+:?。skewControl
Array<SkewControl>105-113+:?。yControl
Array<YControl>105-113+:?。
音符 Note
type
int81+:音符类型。startTime
Beat81+:开始时刻。endTime
Beat81+:结束时刻。positionX
float81+:X 坐标。above
int81+:下落朝向(Up/Down)。isFake
int81+:真值(Real/Fake)。speed
float81+:速度。size
float81+:宽度。yOffset
float81+:Y 值偏移。visibleTime
float81+:可视时间/秒。alpha
int99-100+:不透明度(透明度)。
事件层 EventLayer
请注意:该对象实际可能为null,属性均为可选项!
speedEvents
Array<LineEvent>81+可选:速度事件。moveXEvents
Array<LineEvent>81+可选:X 坐标事件。moveYEvents
Array<LineEvent>81+可选:Y 坐标事件。rotateEvents
Array<LineEvent>81+可选:旋转事件。alphaEvents
Array<LineEvent>81+可选:不透明度事件。
扩展 Extended
inclineEvents
Array<LineEvent>81-:倾斜事件。scaleXEvents
Array<LineEvent>81+可选:X 缩放事件。scaleYEvents
Array<LineEvent>81+可选:Y 缩放事件。colorEvents
Array<LineEvent>81+可选:颜色事件。
事件 LineEvent
startTime
Beat81+:开始时刻。endTime
Beat81+:结束时刻。start
float81+:开始值。end
float81+:结束值。easingType
int81+可选:缓动类型,SpeedEvent无此项。linkgroup
int99-100+:绑定组(用于 RPE 标记,对谱面读取无影响)。easingLeft
float100-105+可选:缓动切割左值,SpeedEvent无此项。easingRight
float100-105+可选:缓动切割右值,SpeedEvent无此项。bezier
int113-123+:贝塞尔(0-关闭,1-开启,默认0),SpeedEvent无此项。bezierPoints
Array<float>113-123+:贝塞尔点,SpeedEvent无此项。- 长度为 4,等价于
cubic-bezier(p1,p2,p3,p4),默认值[0.0,0.0,0.0,0.0]。
- 长度为 4,等价于
PosControl
x
float105-113+:X 坐标。easing
int105-113+:缓动类型。pos
float105-113+:位置。
AlphaControl
x
float105-113+:X 坐标。easing
int105-113+:缓动类型。alpha
float105-113+:不透明度。
SizeControl
x
float105-113+:X 坐标。easing
int105-113+:缓动类型。size
float105-113+:宽度。
SkewControl
x
float105-113+:X 坐标。easing
int105-113+:缓动类型。skew
float105-113+:倾斜。
YControl
x
float105-113+:X 坐标。easing
int105-113+:缓动类型。y
float105-113+:Y 坐标。