Skip to content

Commit

Permalink
完善:RPE文档 (#18)
Browse files Browse the repository at this point in the history
  • Loading branch information
NuanRMxi authored Aug 26, 2024
1 parent 08123b8 commit 6d46878
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 43 deletions.
2 changes: 1 addition & 1 deletion src/chart-standard/chart-format/rpe/event.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ RPE中,一共有五种普通事件,它们分别是:`moveXEvents`(X轴移
- 因为负数透明度隐藏的音符无打击特效,也没有打击音效。(无法确实是否为Bug导致)
- 音符流速事件只有上述的 `startTime``endTime``start``end``linkgroup` 字段。
- 音符流速事件**不支持缓动**
- 流速为负数时,音符会向上飞,若音符为 `Hold`,在 `Hold` 尾出现时整个音符都会出现(即使 `Hold` 还没回到判定线正面)。
- 流速为负数时,音符会向上飞,若音符为 `Hold`,在 `Hold` 尾出现时整个音符都会出现(即使 `Hold` 还没完全回到判定线正面)。
7 changes: 6 additions & 1 deletion src/chart-standard/chart-format/rpe/extend.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
| name | 谱面名称 | 6 | - |
| level | 谱面等级 | 7 | - |

在UI被绑定后,判定线将会自动隐藏,UI可以通过类似于子线的方式进行操作,不同的是可以操作UI角度和透明度;判定线实际位置仍然不变。
- 在UI被绑定后,判定线将会自动隐藏,UI可以通过类似于子线的方式进行操作,不同的是可以操作UI角度和透明度;判定线实际位置仍然不变。

## anchor
`anchor` 是RPE独有特性,它允许你设置判定线的锚点,它的设计是为文字事件服务的。
Expand All @@ -23,6 +23,11 @@
- `x` 默认为 `0.5`,即中心,`1` 时判定线向左移,`0` 时判定线向右移。
- `y` 默认为 `0.5`,即中心,`1` 时判定线向下移,`0` 时判定线向上移。

## Texture
RPE允许你设置判定线的 `Texture` 字段来修改判定线的纹理,当判定线的纹理被修改后,判定线颜色不再受到AP/FC判定线颜色指示影响。
- 若不使用[scaleXEvents](./extendEvent.md#scalexevents)[scaleYEvents](./extendEvent.md#scaleyevents),修改判定线纹理大小,则默认缩放为 `1`
- 若纹理为一个GIF动图,则会受到[gifEvents](./extendEvent.md#gifevents)的影响。(`150`版本开始支持)

## easingType
`easingType` 是RPE用于对应缓动的数字标识,对照表如下:

Expand Down
46 changes: 26 additions & 20 deletions src/chart-standard/chart-format/rpe/extendEvent.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
| easingRight | float | 缓动的右边界位置,最小为 `0.0`,最大为 `1.0` | 1.0 | - |
| easingType | int | 缓动类型,详见[extend](./extend.md#easingtype) | 1 | - |
| linkgroup | int | - | - | - |
| start | JsonArray | 事件开始时数值,三个值分别对应 `RGB`;最大为 `255`,最小为 `0` | - | - |
| start | JsonArray | 事件开始时颜色,三个值分别对应 `RGB`;最大为 `255`,最小为 `0` | - | - |
| startTime | [beat](./beat.md) | 事件开始的时间 | - | - |
| end | JsonArray | 事件结束时数值,三个值分别对应 `RGB`;最大为 `255`,最小为 `0` | - | - |
| end | JsonArray | 事件结束时颜色,三个值分别对应 `RGB`;最大为 `255`,最小为 `0` | - | - |
| endTime | [beat](./beat.md) | 事件结束的时间 | - | - |
## scaleXEvents
X轴缩放事件,可以控制判定线、纹理或文字的宽度缩放,它包含以下字段:
Expand All @@ -31,8 +31,8 @@ X轴缩放事件,可以控制判定线、纹理或文字的宽度缩放,它
| easingType | int | 缓动类型,详见[extend](./extend.md#easingtype) | 1 | - |
| linkgroup | int | - | - | - |
| start | float | 事件开始时缩放 | 1 | - |
| startTime | [beat](./beat.md) | 事件开始的时间 | 1 | - |
| end | float | 事件结束时缩放 | - | - |
| startTime | [beat](./beat.md) | 事件开始的时间 | - | - |
| end | float | 事件结束时缩放 | 1 | - |
| endTime | [beat](./beat.md) | 事件结束的时间 | - | - |

## scaleYEvents
Expand All @@ -46,9 +46,9 @@ Y轴缩放事件,可以控制判定线、纹理或文字的高度缩放,它
| easingRight | float | 缓动的右边界位置,最小为 `0.0`,最大为 `1.0` | 1.0 | - |
| easingType | int | 缓动类型,详见[extend](./extend.md#easingtype) | 1 | - |
| linkgroup | int | - | - | - |
| start | float | 事件开始时数值 | 1 | - |
| startTime | [beat](./beat.md) | 事件开始的时间 | 1 | - |
| end | float | 事件结束时数值 | - | - |
| start | float | 事件开始时缩放 | 1 | - |
| startTime | [beat](./beat.md) | 事件开始的时间 | - | - |
| end | float | 事件结束时缩放 | 1 | - |
| endTime | [beat](./beat.md) | 事件结束的时间 | - | - |

## textEvents
Expand All @@ -62,33 +62,39 @@ Y轴缩放事件,可以控制判定线、纹理或文字的高度缩放,它
| easingRight | float | 缓动的右边界位置,最小为 `0.0`,最大为 `1.0` | 1.0 | - |
| easingType | int | 缓动类型,详见[extend](./extend.md#easingtype) | 1 | - |
| linkgroup | int | - | - | - |
| start | string | 事件开始时字符 | 1 | - |
| startTime | [beat](./beat.md) | 事件开始的时间 | 1 | - |
| start | string | 事件开始时字符 | - | - |
| startTime | [beat](./beat.md) | 事件开始的时间 | - | - |
| end | string | 事件结束时字符 | - | - |
| endTime | [beat](./beat.md) | 事件结束的时间 | - | - |
| font | string | 文字字体(_本字段疑似已被弃用_| cmdysj | - |
| font | string | 文字字体(**本字段需看下方解释**| **请看下方解释** | - |
- **`152` 版本开始,`font` 字段在为 `cmdysj` 默认字体时不会有本字段,只有有自定义字体时才会存在本字段。**
- **`152` 版本之前,`font` 字段默认存在且默认为 `cmdysj`**
- 此事件设置缓动可能不会有效,也可能会出现未定义的错误导致模拟器崩溃,详见[issue](https://github.com/TeamFlos/phira/issues/252)
- 文字事件的文字中含有 `%P%` 时,可以让文本中的数字在事件播放过程中根据缓动动态变化。
- 有文字事件的判定线会始终隐藏,只显示文字(即使播放的地方没有文字事件),也会清除自定义纹理。
- 有文字事件但是没有颜色事件时,文字的颜色会始终为白色。
-`153` 版本开始,文字事件中的文字可以包含 `\n` 换行符且有效(其他的不可用)。
## paintEvents
画笔事件,此事件在 `143` 版本被 `shader` 编辑功能取代。

## gifEvents
GIF播放进度事件,此事件在 `150` 版本与GIF判定线纹理一同加入,用于控制GIF的播放进度。

| 字段名 | 类型 | 描述 | 默认值 | 加入版本 |
|:------------:|:-----------------:|:---------------------------------------:|:-------:|:----:|
| easingType | int | 缓动类型,详见[extend](./extend.md#easingtype) | 1 | - |
| linkgroup | int | - | - | - |
| start | float | 事件开始时GIF的播放进度 | 1 | - |
| startTime | [beat](./beat.md) | 事件开始的时间 | 1 | - |
| end | float | 事件结束时GIF的播放进度 | - | - |
| endTime | [beat](./beat.md) | 事件结束的时间 | - | - |
| 字段名 | 类型 | 描述 | 默认值 | 加入版本 |
|:------------:|:-----------------:|:---------------------------------------:|:---:|:----:|
| easingType | int | 缓动类型,详见[extend](./extend.md#easingtype) | 1 | - |
| linkgroup | int | - | - | - |
| start | float | 事件开始时GIF的播放进度 | - | - |
| startTime | [beat](./beat.md) | 事件开始的时间 | - | - |
| end | float | 事件结束时GIF的播放进度 | - | - |
| endTime | [beat](./beat.md) | 事件结束的时间 | - | - |
- 若判定线纹理是GIF但是没有 `gifEvents` 时,GIF会自动循环播放。
- GIF的第一帧为 `0.0`,最后一帧为 `1.0`,若播放进度超出此范围,则GIF会自动循环播放。
- GIF的第一帧为 `0.0`,最后一帧为 `1.0`,若播放进度超出此范围,GIF将会自动循环播放。
- 若当前播放进度没有 `gifEvents` 时,GIF会自动循环播放。
- 文字事件同样会将此纹理清除。
- 超过 `15MB` 大小的GIF会使RPE解码失败
- 超过 `15MB` 大小的GIF会使RPE在加载谱面时弹出解码失败
- 纹理为GIF以后,流速事件会被替换为此事件的编辑,所以理论上此事件不可能与流速事件同时出现。
- 位于其他层级的 `gifEvents` 会被忽略,且RPE纠错会标红。

## inclineEvents
倾斜事件,疑似已被弃用,但是默认会在 `extended` 字段下留一个垫底事件。
Expand Down
14 changes: 7 additions & 7 deletions src/chart-standard/chart-format/rpe/judgeLine.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

| 字段名 | 类型 | 描述 | 默认值 | 加入版本 |
|:------------:|:---------:|:------------------------------------------------------------------------:|:--------------:|:----:|
| Group | int | 判定线所属组 | 0 | - |
| Group | int | 判定线所属[](./root.md#judgelinegroup) | 0 | - |
| Name | string | 判定线名称 | Untitled | - |
| Texture | string | 判定线贴图,若非默认值,则为相对于谱面根目录的路径 | line.png | - |
| Texture | string | 判定线贴图,若非默认值,则为相对于谱面根目录的路径,更多详见[Texture](./extend.md#texture) | line.png | - |
| anchor | JsonArray | 判定线锚点,详见 [extend](./extend.md#anchor) | `[ 0.5, 0.5 ]` | 142 |
| eventLayers | JsonArray | 事件层级,默认包含至少一个层级(JsonObject),空层级为 `null`,最大有五个,层级下事件见 [event](./event.md) | - | - |
| extended | JsonArray | 特殊事件,详见 [extend](./extendEvent.md) | - | - |
Expand All @@ -17,10 +17,10 @@
| zOrder | int | 线z轴(即图层),范围为±100(_范围需要验证_| 0 | - |
| attachUI | string? | UI绑定,详见 [extend](./extend.md#attachui);无绑定情况下,不存在本属性 | - | - |
| isGif | bool | 纹理是否为GIF,若为 `true` ,Texture为一个GIF文件 | false | 150 |
| posControl | JsonArray | - | - | - |
| sizeControl | JsonArray | - | - | - |
| skewControl | JsonArray | - | - | - |
| yControl | JsonArray | - | - | - |
| alphaControl | JsonArray | - | - | - |
| posControl | JsonArray | _此字段无法在RPE中编辑_ | - | - |
| sizeControl | JsonArray | _此字段无法在RPE中编辑_ | - | - |
| skewControl | JsonArray | _此字段无法在RPE中编辑_ | - | - |
| yControl | JsonArray | _此字段无法在RPE中编辑_ | - | - |
| alphaControl | JsonArray | _此字段无法在RPE中编辑_ | - | - |
| bpmfactor | float | _此字段无法在RPE中编辑_ | 1.0 | - |

Loading

0 comments on commit 6d46878

Please sign in to comment.