Merge pull request 'merge' (#61) from check into main

Reviewed-on: #61
This commit was merged in pull request #61.
This commit is contained in:
2026-08-05 15:53:07 +08:00
30 changed files with 116 additions and 18 deletions
+1 -1
View File
@@ -39,7 +39,6 @@
- [<img src="/indexicon/camera.png"/><p>镜头移动</p>](/pages/camera.md)
- [<img src="/indexicon/roomfx.png"/><p>房间视效</p>](/pages/roomfx.md)
- [<img src=""/><p>视觉干扰</p>](/pages/vfxpro.md)
- [<img src="/indexicon/camerafx.png"/><p>摄像机视效</p>](/pages/camerafx.md)
- [<img src="/indexicon/hallofmirror.png"/><p>镜厅</p>](/pages/hallofmirror.md)
- [<img src="/indexicon/windowmove.png"/><p>窗口相关的动画</p>](/pages/WindowDance.md)
- [<img src="/indexicon/hand.png"/><p>手</p>](/pages/hand.md)
@@ -51,6 +50,7 @@
- [<img src="/indexicon/custommethod.png"/><p>自定义方法</p>](/pages/custommethod.md)
- [<img src="/indexicon/condition.png"/><p>条件</p>](/pages/condition.md)
- [<img src="/indexicon/variable.png"/><p>表达式</p>](/pages/expression.md)
- [<img src="/indexicon/setplaystyleandgotolevel.png"/><p>关卡播放与跳转<p>](/pages/setplaystyleandgotolevel.md)
- 高级:第三方工具
- [<img src="/indexicon/3rdparty_coderd.png"/><p>[Python]CodeRD</p>](/pages/3rdparty_coderd.md)
- [<img src="/indexicon/3rdparty_rdtk.png"/><p>[C#]RhythmBase</p>](/pages/3rdparty_rdtk.md)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 691 B

+2
View File
@@ -217,6 +217,8 @@
注意到这个缓速的一部分会超出所设置的值,所以可以先将窗口缩小到`1%,1%`大小,然后使用`OutElastic`缓速将窗口缩放到`200%,200%`大小,当窗口变大的过程中会有几帧是占满整个屏幕的,此时放一个大小为`200%,200%`、时长为999、缓速为`Linear`的**窗口大小重置事件**,窗口大小就会固定成全屏的了。
> 使用注释指令`()=>windowSize(float SizeX%, float SizeY%, float duration)`可以直接将窗口缩放到200%以上,但这个方法只能控制窗口1的大小,还没有缓速。
### 更多窗口(暂时不确定官方会不会修这个)
在谱面中放置一个窗口相关的事件(这个例子用`隐藏窗口`事件),记住这个事件的小节、节拍和在第几行,然后打开这个谱面的文件(xxx.rdlevel),找到{ "bar": <小节>, "beat": <节拍>, "y": <行数减一>, "type": "HideWindow", "show": true },这一行,<>里面应该是你记住的数据,将"y": 后面的数替换成一个大于3的数,保存并返回编辑器,重新打开这个谱面,就会发现这个事件到第4行下面了,接着当正常窗口使用就行。
+2
View File
@@ -101,6 +101,8 @@
**1、**所谓的移动摄像头,画一个三维空间出来也许可以让你更好地理解。它就像是我们举着一台摄像机拍摄自己的家一样,你的手或者身子移动,那么摄像头跟着移动,拍摄下来的整体画面位置就会不同。
如果“真实运动”选择的是开启,那么摄像头就是记录房间内的画面,怎么移动都在房间内;选择关闭则是像看录像一样,移动时会露出边缘。
![拍摄房间里的爱心和海莉](../images/camera-haleyandheart.gif)
**2、**移动摄像头最基本的用法就是把摄像头跟着节奏晃来晃去,与全程静止不动的背景相比,这样会给谱面增加一些动感。这个轨道移动的弹跳设计原理是一样的,仅仅是呈现的画面效果稍显不同。
+14
View File
@@ -20,6 +20,10 @@
![](../images/floatingtext-position.png)
**字体**:可以强制文本是哪种字体,有像素字体(不支持中文)、矢量字体(中文默认显示的字体)和粗体字体(`2-X`判定文字同款)。点击旁边的文件夹图标可以自行导入ttf或otf格式字体文件。
![](../images/captions_FONT.png)
**位置**:指的是基准的位置。可以按一下准星符号再在预览画面窗口中点选位置。有条件精准找到位置的话还是建议在`X``Y`栏中输入具体数值。**点击右边的`%`按键可以切换屏幕像素点和屏幕百分比两种输入方式**。
![不同基准在同一位置下的不同效果](../images/floatingtext-align.png)
@@ -147,6 +151,16 @@ ea.AdvanceText 8 1;
有没有发现不管是颜色效果还是显示效果,在设计上都和歌词本身有着些许联系,也就让平淡无奇的歌词字幕一下子变得生动起来。
## 文本装饰
你可能已经注意到,**浮动文字**事件并没有移动文字的功能。如果想要移动文字,请移步绿色板块,点击加号创建装饰,选择“文本”。
![创建文本装饰](../images/captions-textdecoration.png)
创建一个**设置文本**事件,你会发现这个事件和浮动文字基本一样,相信你已经知道怎么用了。
这里的文本比起用浮动文字事件创建的文本功能更加齐全,不仅可以**移动装饰**,还可以**显示/隐藏**、**重排序:装饰**,等等。总之和精灵图差不多(如果想了解精灵图请看[这里](../pages/decoration.md#制作一个精灵)),这里就不过多赘述了。
## 显示对话
在不少剧情关卡里面角色都会有聊天的过程,这在编辑器内也是可以轻松实现的,需要的是紫色版块中的**显示对话**功能。
+2
View File
@@ -28,6 +28,8 @@
如何加入类似于`1-2亲密`的`X`记号呢?在生成一个节奏之后,点击“**切换为X字拍子设置**”就可以调节。需要注意的是:你需要在一串普通拍子开始的**同时**或是**之前**就放置好修饰拍子设置。如果在普通拍子已经响起之后再添加`X`,虽然画面上能即时生效,但是节拍音效是没法立刻改变的。
如果你在单发类型的轨道上放置`切换为X字拍子设置`,那么时间轴会卡住无法播放。
> 在没有节奏的地方放置一连串的“切换为X字拍子设置”来改变`X`的排布也可以视为一种画面演出。
当然,这个功能也不仅仅是为轨道加`X`,按下鼠标左键是加入`X`记号,按下鼠标右键一次是``箭头记号,两次是``箭头记号。按下鼠标中键一次是摇摆心跳记号,两次是抖动心跳记号。
+1 -1
View File
@@ -20,7 +20,7 @@
![轨道的设置界面](../images/createbuiltincharacter-rowinfo.png)
**类型:**“**普通**”表示像武士一样的普通拍子节奏,“**单发**”表示像咖啡师一样的单发拍子节奏。需要注意的是,切换轨道类型的同时也会清空轨道上的所有节拍,因此建议在一开始就确定好轨道的类型。
**类型:**“**普通**”表示像武士一样的普通拍子节奏,“**单发**”表示像咖啡师一样的单发拍子节奏。虽然现在单发和普通拍子可以共存,但需要注意的是,切换轨道类型的同时也会清空轨道上的所有节拍,因此建议在一开始就确定好轨道的类型。
**玩家:**P1,P2表示玩家1和玩家2,CPU表示电脑演示。
+15
View File
@@ -110,6 +110,21 @@
**时长与缓速:**同其他事件。
## 混合精灵图
可以将精灵图的颜色与场景混合。
混合模式将进行以下计算(超过255的按255算,小于0按0算,小数四舍五入):
假设背景色为RGB(r1,g1,b1)
精灵图颜色为RGB(r2.g2.b2
**附加(add 线性减淡)**模式显示的颜色为RGB(r1+r2,g1+g2,b1+b2)
**叠加(mul 正片叠底)**模式显示的颜色为RGB(r1*r2/255.g1*g2/255.b1*b2/255)
**反转(inv 反色)**模式显示的颜色为RGB(rl-r2,b1-b2,g1-g2)
## 精灵的使用技巧
**1、作为场景物体**
+2
View File
@@ -86,6 +86,8 @@
**另存为**:保存为额外的一个文件。
**测试**:直接开始游玩关卡。
**导出以发布**:导出以发布:将谱面导出为 .rdzip 文件,或将谱面上传至创意工坊。
**退出**:退出编辑器,记得先保存。
+1 -1
View File
@@ -6,7 +6,7 @@
![](../images/holdbeat-lenght.png)
如果不对其添加任何其他设置,那么轨道就会自动变成 `—x—x—x————♥` 的模式,像`4-1`这关的矿工一样,也就是在1,3,5,7拍有按压的动画效果。当然你可以在“设置X标记”这个项目里面选择跳过节拍的形式,默认有三种情况,如果想使用“切换为修饰拍子设置”来自由决定跳过也是可以的,先在“设置X标记”里面选择NO,然后设置好自己决定的修饰拍子就行了
如果不对其添加任何其他设置,那么轨道会延续上一个“切换为修饰拍子设置”的模式,当然你可以在“设置X标记”这个项目里面选择跳过节拍的形式,默认有三种情况,比如选`—x—x—x`轨道就会自动变成 `—x—x—x————♥` 的模式,像`4-1`这关的矿工一样,也就是在1,3,5,7拍有按压的动画效果。
```rdview 7 3
eb.AddClassicBeat 3 1[tick=3,hold=0.3,swing=0.5];
+11 -8
View File
@@ -49,18 +49,21 @@ eb.PulseFreeTimeBeat 9 0[pulse=9];
## 切分音(Syncopation
切分音的概念不难理解,拍子的数量仍然为七个,但是最后一个拍子响起的时间是在6.5拍的时候,即提早了半拍。这少的半拍时间是可以发生在任意相邻两拍之间的。早期版本的编辑器需要使用自由拍来制作切分音,现在在**切换为X字拍子设置**里,点亮激活拍子下方的`->>>>>-`符号,就会将这一拍的时间缩短一半。每个轨道最多只能设置一个切分音位置。
切分音的概念不难理解,拍子的数量仍然为七个,但是最后一个拍子响起的时间是在6.5拍的时候,即提早了半拍。这少的半拍时间是可以发生在任意相邻两拍之间的。早期版本的编辑器需要使用自由拍来制作切分音,现在在**切换为X字拍子设置**里,点亮激活拍子下方的`> > >`符号,就会将这一拍的时间缩短一半并自动添加提示音。每个轨道最多只能设置一个切分音位置。
![](../images/moreclassicbeats-syn.png)
**如何提示**
添加完后会发现多了几个选项,各个选项效果如下:
> 1. 将轨道边缘染成黄色(参考颜色: `#FFFF00FF`
> 2. 在切分发生前的奇数拍使用“切分音嘟声-低”音效
> 3. 在切分发生后的第一拍使用“切分音嘟声-中”音效
> 4. 在第7拍使用“切分音嘟声-高”音效
**摇摆**:设置切分后的按拍点距离原来的提前了(拍长*摇摆)拍。
需要额外注意的是,无论拍子之中是否有`X`,切分的第一个提示音、最后一个提示音以及可能存在的切分中音效都要保留,只有剩下的切分低音效是可以自行选择放置与否的
**音量&音高**:设置提示音的音量和音高
**样式**:设置提示音的样式,鸣声是剧情模式里用到的,嘟声则是社区创造的,用哪种都可以。
**修饰拍子出现/消失音效**:只在使用鸣声样式才会有,用来提示切分音的出现和消失,嘟声则不需要。
需要额外注意的是,无论拍子之中是否有`X`,切分出现/消失和切分后第一拍的音效必须保留,只有剩下的音效是可以自行选择放置与否的。
## 八拍子(8 Beats
@@ -83,7 +86,7 @@ eb.PulseFreeTimeBeat 8 1[pulse=9];
> 1. 将轨道边缘染成红色(参考颜色: `#FF0000FF`
> 2. 在第1拍使用 `beep_mid.ogg` 自定义音效
不要使用内置的 `sndBeepMid` 音效
也可以使用内置的 `sndBeepMid` 音效
八拍子也可以是摇摆拍,只需要将所有偶数拍选择并拖动即可变成摇摆拍:
+1 -1
View File
@@ -170,7 +170,7 @@ eb.AddOneshotBeat 5.25 2[tick=0.75];
eb.AddOneshotBeat 3[];
es.SayReadyGetSetGo_Get 1 1[];
es.SayReadyGetSetGo_Set 2 1[];
es.SayReadyGetSetGo_Go 3 1[];
es.SayReadyGetSetGo_One 3 1[];
```
如果相同拍长的方块单发拍连续出现了多次,无需为每次出现添加完整的护士提示。可以逐步减少护士提示,直到完全没有护士提示,只剩下特殊提示音。
+3 -1
View File
@@ -12,6 +12,8 @@
![](../images/settheme-rowposition.png)
> 此图片已过时,正确的请看下面:
<div class="theme-positions" id="theme-positions">
<div class="column ccharacter"></div>
<div class="column c1"></div>
@@ -158,7 +160,7 @@
![](../images/moverow6_SpinningRows_Merge.png)
`轨道`转到`角度`度是**合并**no key是选择是否有烟雾
`轨道`转到`角度`度是**合并**。
### 分割
+2 -2
View File
@@ -182,12 +182,12 @@ g 7 1 1 1{
![设置波](../images/oneshotbeat-oneshotwave.png)
![设置波效果](../images/oneshotbeat-nicolewave.gif)
`摇晃`就是像`4-4`那关一样的摇晃效果。
选中一个单发拍子,按住`Shift + H`,会发现多出了一个爱心脉冲的修饰符。启用这个修饰符,可以将单发拍的形状变成`2-X`结尾的超大爱心。
![隐藏的爱心](../images/oneshotbeat-heart.png)
> 此外像`4-4`关的抖动轨道单发拍子,需调用自定义方法来完成,语句为`wobblyLines = true`。如果你还不明白自定义方法是什么,需要先翻到[自定义方法](../pages/custommethod.md)看看。考虑到这玩意问的人比较多,所以就先写在此处了。
## 演示关卡
最后依然是呈上一个示范谱面。
+2
View File
@@ -18,6 +18,8 @@
> 当你把透明度调节为`0%`并打开轨道边框时,就会看到轨道线是插入进人物和心脏的像素图的。
**心:**修改心脏的贴图,比如马克的分心、万圣节的南瓜心、被网好卡菌感染的紫心等。
**时长与缓速:**和其他特效中的完全一致,不过多赘述。
> 如果你想直观地看看各种移动方式的速度区别,可以[看看这里](https://easings.net/zh-cn)。
+54
View File
@@ -0,0 +1,54 @@
# 关卡播放与跳转
## 设置播放方式
**设置播放方式**(在紫色板块中),作用是设置关卡的播放方式,比如说,跳转到某个小节,或者循环播放某个小节。
![设置播放方式](../images/setplaystyleandgotolevel-setplaystyle.png)
**下一小节**是将要跳转到的小节,如果勾选了`相对`,那么这个数字就是相对于当前小节的数字。
> 比如说,当前小节是第3小节,**下一小节**填写了4,则若勾选`相对`将跳转到第7小节,不勾选`相对`则跳转到第4小节。
播放方式有以下几种:
- **正常**:正常播放完当前小节,然后跳转。
- **循环**:循环播放当前小节。(如果选择**循环**,则没有**下一小节**)
- **延长**:~~据笔者实验,似乎是无限延长当前小节~~笔者不确定它的作用,待补充。
- **立即**:播放完这一拍之后,立即跳转。
- **超级立即**: 立即跳转。
- **延长下一拍**:~~据笔者实验,似乎与**正常**差别不大,但若在小节最后一拍,不会跳转~~笔者不确定它的作用,待补充。
## 前往关卡
**前往关卡**(也在紫色板块中),顾名思义,就是前往某个关卡。(为了方便叙述~~偷懒~~,下文中将**当前关卡**称为**a关卡**,**要前往的关卡**称作**b关卡**)但要注意,a关卡和b关卡需在同一文件夹中。导出a关卡时,b关卡会打包进a关卡的rdzip里。
**前往关卡**事件有两个用法,一个是直接`前往关卡`,另一个是先`设置下一个`关卡再`前往下一个`关卡。后者需要两个**前往关卡**事件。
你可能会问,为什么要用两个事件,先`设置下一个``前往下一个`~~,这不是脱裤子放屁吗~~?这是因为,只有先`设置下一个`关卡,才能有`跳过`功能。这里我们先按下不表,详见后文[制作教程关卡](#制作教程关卡)。
![前往关卡](../images/setplaystyleandgotolevel-gotolevel.png)
**淡入**:设置是否淡入。
**立即开始**:设置在b关卡开始前,是否显示`按空格键开始`的画面。
**保留失误**:这条很好理解,设置是否将a关卡的失误数带入b关卡。
**阻止重启按钮**:这条的名称可能有点迷惑。它的作用实际上是:在**已经跳转到b关卡后**,当点击重启按钮时,如果它被勾选,那么将**从a关卡开始**,而不是从b关卡开始;反之,如果它未被勾选,则从b关卡开始。
## 制作教程关卡
为什么把这两个事件一起介绍呢?原因就是,它们最常见的场景都是在**教程关卡**中使用。什么是**教程关卡**?相信只要你玩过主线,对它不会陌生,它是在正式关卡开始前,对**新出现的机制或节奏**的介绍与教学。一般都长这样:
![2-1的教程](../images/setplaystyleandgotolevel-tutorial.png)
想要实现在教程结束之后跳转到正式关卡,就需要用**前往关卡**事件。
你想必知道,官方的**教程关卡**都可以在菜单里`跳过`,要实现这个功能,就得在关卡开头放上`动作``设置下一个关卡`的**前往关卡**事件,并且勾选**允许跳过按钮**。再在结尾放上`动作``前往下一个关卡`的**前往关卡**事件。
那么,**设置播放方式**在**教程关卡**中有什么用呢?如果你节奏感一般~~像我一样~~,可能就会发现,官方的**教程关卡**中,如果你在一段中失误太多,就会重新开始这一段。这就需要用到**设置播放方式**,以跳转到之前的小节。当然,也要结合上之前学过的[条件](../pages/condition.md),以判断失误数是否超过某个值。([atLeastNPerfects](https://docs.qq.com/sheet/DQUJxb0puSFFOVWpz?tab=000003)可能会派上用场)
> 最后,做个关于关卡设计的提醒:制作**教程关卡**时,请添加`晕影`或`闪烁晕影`特效并添加`轨道涂色`,以确保`轨道`清晰可见。
![2-1的教程](../images/setplaystyleandgotolevel-tutorialvfx.png)
+1 -1
View File
@@ -16,7 +16,7 @@
甚至轨道可以大部分位置都不可见。比如制作只显示脉冲心跳部位的单发拍子,并做成纯色等。
> 调用自定义方法`invisibleHeart = true`可以让轨道上的心脏消失。如果不选择角色,那么就只剩下一根线了,在一些极简色块画风的关卡里效果拔群。
> 使用轨道涂色或调用自定义方法`invisibleHeart = true`可以让轨道上的心脏消失。如果不选择角色,那么就只剩下一根线了,在一些极简色块画风的关卡里效果拔群。
## 背景和前景图片
+2 -1
View File
@@ -11,6 +11,7 @@
| 震动类型 | 效果 |
| :--- | :--- |
| **屏幕震动** | 整个画面抖动,分为轻微、中等、剧烈三档 |
| **自定义震动** | 自由度更高,有多种模式 |
| **按键震屏** | 每次按拍时画面抖动一下,适合强调节拍的"打击感" |
| **心跳震屏** | 每次脉冲时画面轻微抖动,适合营造心跳般的律动感 |
| **重低音震动** | 大幅度色像差 + 大幅度屏幕缩放,视觉冲击力最强 |
@@ -27,7 +28,7 @@
**闪烁:** 最简单的闪光,屏幕白色一闪,分为短、中、长三种时长。适合用在副歌进入、重拍等需要强调的时刻。
**自定义闪烁:** 可以自由设置闪烁的颜色、透明度变化、持续时间和缓速模式。其中有一个"闪烁版"选项,可以控制闪烁出现在前景图之上还是背景图之上,灵活度很高。
**自定义闪烁:** 可以自由设置闪烁的颜色、透明度变化、持续时间和缓速模式。其中有一个"闪烁版"选项,可以控制闪烁出现在前景图之上还是背景图之上,灵活度很高。最下面的“减弱闪烁强度”则是当玩家开启“减弱闪烁强度”时使用这个设置的闪烁。
> 频繁闪烁的谱面请务必加上癫痫警告!
-1
View File
@@ -18,7 +18,6 @@
"如果你的窗口太抖点不到暂停键的话,就按 P 键来暂停吧!",
"单发拍子界面按住Shift + H就能看到巨大爱心拍子~❤",
"4-4关的~抖动轨道~用的是自定义方法:wobblyLines = true",
"关卡内的屏幕像素大小是352*198px",
"352*198px记住了吗",
"针管图标的像素大小是19*15或者其整倍数",