扩展特性文档
prpr 在支持 Phigros 官方谱面格式、pec
格式和 rpe
格式之外,加入了一些谱面特性。这些谱面特性目前只在 prpr 及基于其构建的客户端上可用。它们包括:
关于特性的配置需要全部存储在压缩包根目录的 extra.json
中。为了使用谱面特性,你需要手动编辑 JSON 文件。如果你不知道 JSON 是什么,请参阅 JSON 教程。
BPM 配置
在进行相关配置前,你需要在 extra.json
中预先设定好曲目的 BPM。例如:
{
"bpm": [
{ "time": [0, 0, 1], "bpm" : 200.0 },
{ "time": [10, 1, 2], "bpm" : 250.0 }
],
...
}
这里表示歌曲最初 BPM 为 200
,而后在十又二分之一拍是转换为 250
。
动画变量
在配置文件中会常常用到动画变量。例如,在 RPE 中,的 X 坐标变化事件实际上就是 X 坐标作为一个动画变量。
prpr 的动画变量有两种格式。第一种即单个值,表示该变量不会更改,一直维持同一个值。这种格式是为了方便填写而适用的。第二种格式与 RPE 中的格式相同,是由多个 Event
组成的。单个 Event
格式如下所示:
{
"startTime": [0, 0, 1],
"endTime": [0, 0, 1],
"easingType": 2,
"easingLeft": 0.0,
"easingRight": 1.0,
"start": ...,
"end": ...
}
其中 startTime
、endTime
是事件的开始和结束时间;easingType
是缓动类型;easingLeft
、easingRight
是可选的,代表裁剪缓动的开始与结束位置。
start
和 end
代表该时间开始和结束处该变量的值。这里值的类型是取决于变量本身的类型的,它可以是下面类型中的任意一种:
float
:单个小数;vec2
:两个小数表示的二维向量,用数组表示;color
:四个整数(0-255)表示的颜色,格式为[R, G, B, A]
。
例如,下面的动画变量将在特定时段内从 0
到 1
线性变化:
[
{
"startTime": [2, 0, 1],
"endTime": [4, 0, 1],
"easingType": 2,
"start": 0.0,
"end": 0.1
}
]