如何制作 osu! beatmap
osu! standard 做谱指南,从空白的时间轴到完成的 .osz。
osu! standard beatmap 是一组圆圈、滑条和转盘,每个物件都放在歌曲中的某个时刻,同时也放在游戏区域中的某个位置。好的谱面感觉就像音乐本身:你在听到的拍子上点击,光标的移动方式也契合歌曲的流动。本指南会带你在 osu! 编辑器中做出一张谱面。如果你做的是 osu! mania,请看如何制作 osu! mania beatmap。
1. 你需要准备什么
- 歌曲。你想做谱的版本的高音质 .mp3 或 .ogg。开始之前先把音频剪辑好:之后再改,每个物件都会跟着偏移。
- osu!,免费的。如果你还没有,请看 osu! 新手入门。
- 花点时间熟悉歌曲。先多听几遍。弄清楚前奏、主歌、副歌和安静的部分在哪里,以及你希望每一段带来什么感觉。
- 可选:一张背景图片(常用尺寸为 1920×1080)。
打开编辑器,用你的音频文件创建一个新的 beatmap。设置界面会要求填写歌曲标题、艺术家、作为作者的你的名字以及难度名称;这些之后都可以修改。
2. 熟悉 osu! 编辑器
编辑器分为几个界面:
- Compose——放置和移动打击物件的地方。你大部分时间都会花在这里。
- Timing——timing 点:歌曲的 BPM 和 offset,以及之后添加的变化,比如滑条速度和打击音效音量。
- Song setup——元数据(标题、艺术家、作者、标签)、难度设置和 combo 颜色。
- Design——故事板(storyboard)。完全不碰它也能做出完整的谱面。
在 osu!stable 中,F1–F4 用于在 Compose、Design、Timing 和 Song setup 之间切换,F5 从当前位置开始试玩。osu!lazer 的编辑器有相同的基本组成,但布局不同;完整的快捷键列表见 osu! wiki 的快捷键参考。
3. 设置 timing:BPM 和 offset
timing 要最先做,因为每个物件都会吸附到它上面。网格错了,上面的每个圆圈都会稍微偏早或偏晚,再好的摆放也弥补不了。
- BPM——每分钟的拍数,决定网格刻度之间的距离。
- offset——网格起始的第一拍的精确时刻,以毫秒为单位。
这两项都通过 uninherited timing 点(红线)来设置。在 osu!stable 中,F6 打开 timing 和控制点面板,Ctrl+P 在当前时间添加一个 uninherited timing 点。打开节拍器播放歌曲,调整到节拍器的咔哒声正好卡在拍子上为止。
会变速的歌曲需要在每一处速度变化的地方添加新的红线 timing 点。现场录音和没有使用节拍音轨(click track)录制的歌曲,可能需要好几个。
查找歌曲 BPM 的实用方法,请看 osu! 中的 BPM 与 offset 详解。
4. 跟着节奏放置圆圈
圆圈(hit circle)是每张 osu! 谱面的核心:随着缩圈(approach circle)收拢,玩家逐个点击。每个圆圈的存在,都应该对应一个你能指出来的声音。
- Beat snap divisor(节拍细分)。细分决定物件吸附到哪些刻度:1/1 是每一拍,1/2 是每半拍,1/4 是每四分之一拍。在 osu!stable 中,Shift+1–Shift+9 可以直接设置。大多数歌曲用 1/2 和 1/4;三连音节奏需要 1/3 或 1/6。
- 每一段选一个要跟随的声音——鼓、人声或旋律——并跟随足够长的时间,让玩家能读懂这个模式。随意混用不同的层次,是谱面让人感到混乱最常见的原因。
- 新 combo。在乐句开头开始新的 combo(osu!stable 中按 Q),通常是每一两个小节一次。combo 数字能帮助玩家读出节奏接下来的走向。
音乐停顿的地方就留出空白。从不停歇的谱面会让人疲惫,而且通常忽略了歌曲本身在做什么。
5. 制作滑条和往返滑条
滑条有头部、身体和尾部:玩家准时点击头部,然后沿着路径跟随滑条球直到末端。滑条适合长音、长的人声乐句,以及击打之后仍在延续的声音。
- 绘制滑条。使用滑条工具,单击放置头部,再单击添加让路径弯曲的锚点,双击锚点可以做出尖锐(红色)的拐角,右键单击完成。之后还可以移动、添加或删除锚点。
- 往返滑条。折返箭头会让滑条球沿着同一路径返回。往返适合以相同音高重复的声音,比如踩镲节奏型,或在拍子上律动的持续合成器音。
- 滑条速度。滑条球的移动速度取决于谱面的基础滑条速度和当前 timing 区段的倍率。调整它可以让慢的段落显得平静、激烈的段落显得快速——但突然的变化很难读,所以要跟着音乐改变。
- 滑条刻点(slider tick)是沿着滑条身体分布的小点;可以在 Timing 区段中调整数量。
保持形状易读:曲线要平滑,不要让路径折回与自身交叉,滑条末端要让光标停在便于点击下一个物件的位置。
6. 谨慎使用转盘
转盘会占满整个屏幕:玩家按住按键,绕着中心转动光标直到结束。转盘适合长时间持续的声音、歌曲结尾或段落之间的休息。
转盘之后留一点时间再放下一个物件,让玩家能重新找到光标。非常短的转盘,或在密集段落之前才刚结束的转盘,玩起来很让人沮丧。
7. 控制间距、节奏和难度
在 osu! standard 中,物件之间的距离也是难度的一部分:它决定光标要移动多远、多快。
- Distance snap(osu!stable 中按 Y)让间距与时间成比例,时间上相隔越远的物件,在游戏区域中也相隔越远。这是保持谱面易读最简单的方法,在较简单的难度上尤其如此。
- Grid snap(T)把物件对齐到网格上,有助于做出整齐、对称的配置。
- 跳跃和 stream。物件之间间距大就形成跳跃(jump);一长串间距紧密的 1/4 圆圈就是 stream。跳跃用于强烈、被强调的声音,stream 用于快速连续的鼓点。
- 难度设置。Circle Size 决定圆圈大小,Approach Rate 决定物件多早出现,Overall Difficulty 决定判定窗口多严格,HP Drain 决定血量下降多快。随着难度提高,把它们一起调高。
构建难度梯度。一个 mapset 通常包含多个逐步递增的难度。较简单的难度使用更简单的节奏(更多 1/1 和 1/2)、更紧凑的间距和更少的突然变化;较难的难度则加入 1/4 节奏、跳跃和 stream。
8. 测试、修正和导出
- 用测试模式(osu!stable 中按 F5)亲自玩一遍,从头玩到尾——而不只是你刚做完的那一段。
- 边玩边再次检查 timing;细微的 offset 误差,靠感觉比靠看更容易发现。
- 找出任何因为错误原因而让你意外的地方:藏在滑条下面的物件、难以辨认的重叠,或与节奏不符的间距。
- 检查一致性——整首歌之间,以及谱面组中各个难度之间。
- 征求反馈——其他玩家会注意到你在自己的谱面上看不到的问题。
完成后,填写元数据(标题、艺术家、作者、来源和标签)并添加背景。从编辑器把 mapset 导出为 .osz;任何人只要把它拖到 osu! 窗口上就能安装——请看如何把 beatmap 添加到 osu!。
如果想在 osu! 网站上分享谱面,请先阅读 osu! Ranking 标准和 osu! wiki 的 beatmapping 文章。
9. 用 OsuGAI 作为 AI 辅助的起点
手工制作一整个 osu! standard mapset 需要花很多小时,而大多数歌曲根本没人做过谱。OsuGAI 是 DanceGAI 的 osu! AI 做谱工具,大约半分钟就能根据一首歌做出可玩的初版:
- 在 AI osu! beatmap 生成器上添加歌曲——上传 MP3、OGG 或 WAV,或粘贴 osu! beatmap 链接。
- 选择难度,星级目标从 ★1 到 ★10。每个结果都以实测星级命名;在这个测试版中,谱面经常会比目标更难。
- 如果你愿意,可以调整风格——滑条、锐角、间距变化和 stream 间距,每个难度分别设置。
- 生成,在浏览器中配合歌曲预览,然后下载 .osz。
- 变成你自己的作品——在 osu! 编辑器中打开,运用以上所有方法,重做那些你会用不同方式处理的部分。
OsuGAI 还处于测试阶段:滑条形状可能比较粗糙,新 combo 按固定规则划分,而且还没有经过广泛试玩。在依赖它之前,请先阅读测试版意味着什么。
AI 无法取代做谱的判断力
熟练的 mapper 仍然能做出更好的谱面。做谱是一种诠释——决定哪个声音重要、光标应该怎样移动、玩家什么时候需要休息——而这才是本指南真正关注的部分。AI 适用于那些否则根本不会有谱面的歌曲,或者作为一份快速的初稿,再由你自己打磨。