rd.rdlevel.cn/pages/moreclassicbeats.md
OLDREDSTONE 8faac81f8f 1026
2025-10-26 22:32:11 +08:00

12 KiB
Raw Blame History

普通拍的衍生节奏型

分解为自由时长节拍

所谓分解为自由时长节拍,也就是可以随意定义拍子的节奏。有的时候我们为了契合音乐,或者实在是把剧情模式已有节奏打到审美疲劳了,就会想要利用自由拍在节奏机制上引入一些新花样。这个功能非常强大,但是对玩家的挑战也同样很大,如果没用充裕的节奏提示,那么对玩家来说势必就是一次初见杀。

我们把一个普通的普通拍子分解为自由时长节拍后,可以看到它变成了一个大的1和六个小的>

eb.AddFreeTimeBeat 1 0[pulse=1];
eb.PulseFreeTimeBeat 2 0[pulse=9];
eb.PulseFreeTimeBeat 3 0[pulse=9];
eb.PulseFreeTimeBeat 4 0[pulse=9];
eb.PulseFreeTimeBeat 5 0[pulse=9];
eb.PulseFreeTimeBeat 6 0[pulse=9];
eb.PulseFreeTimeBeat 7 0[pulse=9];

我们选中数字1对应的节拍发现这个是设置起始脉冲位置的。你甚至可以将它改为第七拍然后把六个小的>删掉,这样就没有任何节拍提示。如果你设计的关卡是一个和节奏医生没什么关联的创意谱(梦幻联动?),且按键密度很大,则可以考虑这样使用。相比于工作区里面重叠摆放一大堆普通普通拍子,这样会看上去更清爽。但如果你设计的就是节奏医生,请不要在完全无节奏提示的情况下直接响起第七拍

剩下的大于号>即意味着心跳向右移动一格数到7的时候则需要按拍。点选之后把它改成 <,心跳还能向左移动一格;点击自定义,还可以任意指定到第几个节拍。每一组自由拍必须使用较大的节拍作为开头,较小的则数量不限,直到数到第七拍为止。

eb.AddFreeTimeBeat 1 0[pulse=1];
eb.PulseFreeTimeBeat 2 0[pulse=9];
eb.PulseFreeTimeBeat 2.75 0[pulse=9];
eb.PulseFreeTimeBeat 3.5 0[pulse=9];
eb.PulseFreeTimeBeat 4 0[pulse=9];
eb.PulseFreeTimeBeat 4.5 0[pulse=9];
eb.PulseFreeTimeBeat 5 0[pulse=9];
eb.AddFreeTimeBeat 5 0[pulse=1];
eb.PulseFreeTimeBeat 6 0[pulse=9];
eb.PulseFreeTimeBeat 6.75 0[pulse=9];
eb.PulseFreeTimeBeat 7.5 0[pulse=9];
eb.PulseFreeTimeBeat 8 0[pulse=9];
eb.PulseFreeTimeBeat 8.5 0[pulse=9];
eb.PulseFreeTimeBeat 9 0[pulse=9];

如果你想让一串自由节拍最后不需要按拍,而是节奏直接消失,就把这一组自由节拍的最后一个点选垃圾桶符号。

如果你设计了一段无法数到第七拍的节奏且不放置垃圾桶,那么心电图就会一直停在轨道中间。这很诡异。

接下来介绍一些社区机制。社区玩家们通过合理设计自由拍,并加以适当的提示,创造出了一些全新的节奏类型。其中一些节奏被广泛使用,并在社区中形成共识,从而延续下来。使用这些机制制作自定义关卡无需额外设计教学环节。当然如果你担心玩家不了解社区,或是你有其它自己的想法,也可以为这些节奏类型自行设计节奏提示的方法,唯一的宗旨是保证提示恰当准确。

学习使用社区机制之前建议先掌握播放音效事件和轨道涂色事件。下文使用的所有自定义音效可以在这里下载。

切分音Syncopation

切分音的概念不难理解拍子的数量仍然为七个但是最后一个拍子响起的时间是在6.5拍的时候,即提早了半拍。这少的半拍时间是可以发生在任意相邻两拍之间的。早期版本的编辑器需要使用自由拍来制作切分音,现在在切换为X字拍子设置里,点亮激活拍子下方的->>>>>-符号,就会将这一拍的时间缩短一半。每个轨道最多只能设置一个切分音位置。

如何提示

  1. 将轨道边缘染成黄色(参考颜色: #FFFF00FF
  2. 在切分发生前的奇数拍使用“切分音嘟声-低”音效
  3. 在切分发生后的第一拍使用“切分音嘟声-中”音效
  4. 在第7拍使用“切分音嘟声-高”音效

需要额外注意的是,无论拍子之中是否有X,切分的第一个提示音、最后一个提示音以及可能存在的切分中音效都要保留,只有剩下的切分低音效是可以自行选择放置与否的。

八拍子8 Beats

八拍子就更好理解了,我们直接额外增加一个节拍,让按拍的时机在第八拍响起的时候。但是轨道上是只能显示七个拍子的,所以我们依然要依赖分解成自由拍,以2 1 2 3 4 5 6 7的形式响起节拍。设置的方法如下图所示:

eb.AddClassicBeat 1 0[tick=6];
eb.AddFreeTimeBeat 1 1[pulse=2];
eb.PulseFreeTimeBeat 2 1[pulse=8];
eb.PulseFreeTimeBeat 3 1[pulse=9];
eb.PulseFreeTimeBeat 4 1[pulse=9];
eb.PulseFreeTimeBeat 5 1[pulse=9];
eb.PulseFreeTimeBeat 6 1[pulse=9];
eb.PulseFreeTimeBeat 7 1[pulse=9];
eb.PulseFreeTimeBeat 8 1[pulse=9];

如何提示

  1. 将轨道边缘染成红色(参考颜色: #FF0000FF
  2. 在第1拍使用 beep_mid.ogg 自定义音效

不要使用内置的 sndBeepMid 音效!

八拍子也可以是摇摆拍,只需要将所有偶数拍选择并拖动即可变成摇摆拍:

eb.AddClassicBeat 1 0[tick=6,swing=0.5];
eb.AddFreeTimeBeat 1 1[pulse=2];
eb.PulseFreeTimeBeat 2.5 1[pulse=8];
eb.PulseFreeTimeBeat 3 1[pulse=9];
eb.PulseFreeTimeBeat 4.5 1[pulse=9];
eb.PulseFreeTimeBeat 5 1[pulse=9];
eb.PulseFreeTimeBeat 6.5 1[pulse=9];
eb.PulseFreeTimeBeat 7 1[pulse=9];
eb.PulseFreeTimeBeat 8.5 1[pulse=9];

在八拍子中,激活拍子与八拍子的对应关系如下图所示。不要给第1拍和第3拍设置X拍子这样做它就相当于变回普通拍了。

附点变速拍Temporal Shift

如果普通拍中间存在变速,则要使用变速普通拍,而其中的附点变速拍可以实现整拍长和附点拍长之间的转换。

整拍以4拍为基准时长加之它们对半分下去的拍子如0.250.5124拍。

附点拍整数拍时长加上其本身一半时长构成对应的附点拍如0.3750.751.53拍。

整数拍和附点拍是交错排列的,即0.25<->0.375<->0.5<->0.75<->1<->1.5<->2<->3<->4。附点变速拍可以将整拍长变成附点拍长,也可以反过来,但只能变化到排列里它相邻的拍长上。

eb.AddFreeTimeBeat 1 0;
eb.PulseFreeTimeBeat 2 0[pulse=9];
eb.PulseFreeTimeBeat 3 0[pulse=9];
eb.PulseFreeTimeBeat 4 0[pulse=9];
g 4 0 0.5 1 #08f[offset=0 0 #08f0]{
    eb.PulseFreeTimeBeat 1 0[pulse=9];
    g 1 0 0.5 1 #000[offset=0 0 #0000]{
        g 0 0 0 0 #0000[offset=0.25]{
            eb.PulseFreeTimeBeat 0.75 0[pulse=9,offset=0.25];
            g 0.75 0 0.5 1 #0000[offset=0.25]{
                eb.PulseFreeTimeBeat 0.75 0[pulse=9];
                g -1.75 0 3 1 #0000{};
            };
        };
    };
};
eb.AddFreeTimeBeat 1 1;
eb.PulseFreeTimeBeat 2 1[pulse=9];
eb.PulseFreeTimeBeat 3 1[pulse=9];
eb.PulseFreeTimeBeat 4 1[pulse=9];
g 4 1 0.5 1 #80f[offset=0 0 #08f0]{
    eb.PulseFreeTimeBeat 1 0[pulse=9];
    g 1 0 0.5 1 #000[offset=0 0 #0000]{
        g 0 0 0 0 #0000[offset=-0.5]{
            eb.PulseFreeTimeBeat 1.5 0[pulse=9];
            g 1.5 0 0.5 1 #0000[offset=-0.5]{
                eb.PulseFreeTimeBeat 1.5 0[pulse=9];
                g -2.5 0 4.5 1 #0000{};
            };
        };
    };
};

如何提示

  1. 在原节奏的即将换速的前一拍将轨道边缘染色,加速时染成#0083FFFF,减速时染成#5C00FFFF并播放自定义音效加快时播放click_mid_amp.ogg减慢时播放click_high_amp.ogg
  2. 在新节奏的第一拍取消轨道边缘染色并播放自定义音效加快时播放click_high_amp.ogg减慢时播放click_mid_amp.ogg

倍速变速拍Arrow Clicks

变速普通拍的另一种形式是倍速变速拍,变速是拍长翻倍或减半,注意与附点变速拍区分。

eb.AddFreeTimeBeat 1 0;
eb.PulseFreeTimeBeat 2 0[pulse=9];
eb.PulseFreeTimeBeat 3 0[pulse=9];
eb.PulseFreeTimeBeat 4 0[pulse=9];
g 4 0 0.5 1 #08f[offset=0 0 #08f0]{
    eb.PulseFreeTimeBeat 1 0[pulse=9];
    g 1 0 0.5 1 #000[offset=0 0 #0000]{
        g 0 0 0 0 #0000[offset=0.5]{
            eb.PulseFreeTimeBeat 0.5 0[pulse=9];
            g 0.5 0 0.5 1 #0000[offset=0.5]{
                eb.PulseFreeTimeBeat 0.5 0[pulse=9];
                g -1.75 0 3 1 #0000{};
            };
        };
    };
};
eb.AddFreeTimeBeat 1 1;
eb.PulseFreeTimeBeat 2 1[pulse=9];
eb.PulseFreeTimeBeat 3 1[pulse=9];
eb.PulseFreeTimeBeat 4 1[pulse=9];
g 4 1 0.5 1 #08f[offset=0 0 #08f0]{
    eb.PulseFreeTimeBeat 1 0[pulse=9];
    g 1 0 0.5 1 #000[offset=0 0 #0000]{
        g 0 0 0 0 #0000[offset=-1]{
            eb.PulseFreeTimeBeat 2 0[pulse=9];
            g 2 0 0.5 1 #0000[offset=-1]{
                eb.PulseFreeTimeBeat 2 0[pulse=9];
                g -2.5 0 4.5 1 #0000{};
            };
        };
    };
};

如何提示

  1. 在变速前一拍的地方播放音效加快时播放arrow_up.ogg减慢时播放arrow_down.ogg
  2. 使用“切换为X字拍子设置”将变速前1拍设置为箭头右键点击对应的位置如果由慢到快则为上箭头由快到慢则为下箭头

自创机制

对于超出社区机制之外的,完全由你自己创造的机制,一般而言都会使用电脑演示,演示几遍之后再切换给玩家游玩。在时间轴里是可以随时将轨道切换为玩家和电脑的,使用到的是紫色版块的切换玩家轨道事件。

界面也非常直观,这个并不需要过多介绍。只需要注意,在蓝色版块添加人物时也有这样一个功能,设置的是初始状态下人物由玩家还是电脑操作。

什么时候需要引入自创机制

  1. 新机制的重复度高,即反复次数足够多
  2. 易于采音
  3. 简短易记,令人印象深刻

如果你想引入的机制在关卡中只有适合插入一两次,那就没有太大的必要强加机制。改为用其他采音或者干脆放弃这段采音,不要给玩家增加无谓的负担。

如果你想引入的机制连介绍起来都过于复杂,以至于玩家还没能在游戏中理解你的机制,就进入游玩环节了,那就要考虑考虑这个机制的合计是否合理了。

引入机制需要注意什么

  1. 避免一个关卡内自创机制类型太多
  2. 以玩家的游戏体验为基础
  3. 节奏提示充足

机制过剩的核心概念就是,玩家所预期的机制种类越多,相对应玩家的游戏负担也就越重,同时关卡本身的节奏设计也会越发混乱。通常情况下一个关卡引入一到两个新机制就足够了。

当玩家打开编辑器的时候,就不能再是玩家了。这句话高度概括了节奏设计的思路。当你以谱师的身份打开编辑器,而非单纯的一个音乐/游戏分享者时,绝不可仅仅为了自己的“爽”而做谱,而是要为了真正玩到这个谱,甚至是初见这个谱的玩家来做谱。玩家会不会明白这里节奏的采音或者是节奏,能不能反应过来这里节奏的变化……这都是需要考虑的因素。

至于节奏的提示,除了电脑演示之外,还可以有一些画面和音乐方向的额外设计。画面提示,依然是以简单为基本,最好能清晰明了简单易懂。例如八拍子的提示仅仅是一个轨道涂色,但是清楚地提示了节奏的变化。声音提示,这对于一个机制来说是最重要的。八拍子亦如此,有着一个哔声。对于节奏医生来说,显然声音上的提示与画面上的提示同样重要,这也是无障碍设计的基础,因此不容小觑。

视频介绍