This page contains an outdated translation of the original content. Please check the
English version for the most accurate information (and consider updating the translation if you are able to help out)!
若想查阅游戏模式特有的谱面上架标准,请参阅:osu!、osu!taiko、osu!catch、osu!mania。
若想查阅简短版本的谱面上架标准,请参阅:简版上架标准。
谱面上架标准 (Ranking Criteria) 列出了谱面在通过谱面上架程序时必须遵守的规定和准则。
若想修改本文中的条目,请参照 建议:如何提出谱面上架标准的修改案 这篇文章,并在谱面上架标准论坛中提出和讨论修改案。注意,若仅仅修改文中的用词、语法、组句,而不改变条目原意,则无需发帖至论坛。
注意,摸图和作图的行为准则、歌曲内容规定属于谱面上架标准的一部分,并适用于 osu! 中所有游戏模式。
非常推荐您使用 Mapset Verifier (MV) 来辅助检查谱面是否符合上架标准。传统客户端 (stable 版) 内的 AiMod 工具已经过时且不再维护。同时,osu!(lazer)客户端内的谱面检查工具仍在开发中。
使用前需注意:
同一时间不能放置两个或多个物件。 即圆圈、滑条和转盘覆盖的全部时间段不得出现重叠。osu!mania 模式除外。
圆圈与其后物件的时间间隔必须大于等于 10 毫秒,滑条尾与其后物件的时间间隔必须大于等于 20 毫秒。 osu!catch、osu!mania 模式除外。
背景图片、背景视频、故事板不得出现任何违规内容。 即不允许出现裸体、近乎裸体、性暗示、暴力、滥用药品(毒品)等元素。关于更详细的规定,参见
视觉内容注意事项。
保证谱面内的任何东西均遵守内容使用规范。 如果艺术家或者专辑在规范内列为不允许使用,则这些歌曲只允许在谱师获得明确的授权后才能上架。授权说明必须贴在谱面讨论页或谱面介绍内。
如果谱面包含快速重复的闪烁图片,或者视频、故事板内含有对比度、颜色、亮度快速变化的内容,则必须开启光敏性癫痫警告。 如果警告干扰了谱面游玩,则必须在歌曲前增加足够的开场空白时间。频率低于 3 HZ(1秒内闪烁3次)的闪烁图片一般无须担心。如果不确定是否有开启的必要,请预先开启警告,并在摸图时讨论。
谱面文件夹中不能有从未使用的文件或 0 字节大小的文件。 0 字节大小的文件会影响文件夹中其他文件的正常上传。仅自动生成的 thumbs.db
文件除外。
如果相同游戏模式下的难度包含相同的休息时间,或相同的故事板,则它们的休息段使用黑边填充背景
设定必须一致,
如果谱面包含某媒体作品的剧透内容,则必须在谱面描述中标注剧透警告。
注意:在本节中,osu!mania 中每个键位模式和游玩方法都被视为是互相独立的游戏模式。
谱面内所有游戏模式,都必须有连续合理的难度梯度。并且谱面的最低难度必须符合谱面掉血时间的限制。 不能跳过任何难度等级,任何相邻的两个难度之间也不能存在巨大的难易程度差距。
如果只将 2 首歌曲拼在一起,只能使用较长歌曲的长度来对应掉血时间要求。 这是为了避免人为操作来巧妙绕过以上时间限制。如果编入的两首单曲属于独家同时发布,则可无视此规定。
谱面的难度名称必须清晰准确地表示出它所属的难度区间,除非该难度是:
如果谱师使用了自定义的难度名称,则它必须符合与歌曲相关的主题或风格,且不得带有误导性。 如果自定义的难度名表示了本属于其他难度区间的难度等级,则它是误导性的(比如将一个 "Expert" 难度命名为 "Normal")。
难度名称不得仅由用户名组成。 如果想使用的与歌曲相关的难度名单词,碰巧与某些用户名有所重叠,则无需考虑此条规定。
谱面创建者的用户名不能出现在难度名称中。(例如:Beatmap Host's Insane)。制作歌曲元数据相同,但含有多首歌曲的谱面,或在制作
合作谱面时所出现的一些命名冲突的情况除外。参见:
客串难度,一般需要客串难度的难度名内标识该难度谱师的用户名或昵称,以表示难度的归属。
谱面创建者制作的难度数量必须大于等于客串难度的数量。 这保证谱面创建者应在制作谱面时贡献更大。
合作难度只能占据谱面的一小部分,同时,在客串谱师明显比谱面创建者付出更多的时候,会凭借谱面的
掉血时间来衡量谱师们的贡献。
谱面创建者和客串难度谱师可以按照自己的想法修改各自的谱面。 如果谱面的创建者和客串谱师意见不一致,谱面制作者必须提交请求才能删除客串谱面。如果在一个月内无法与客串谱师取得联系,将默认他们同意一切对客串难度的修改。
不能使用属于其他谱师但没有明确参与,或未获得原谱师授权的难度来作为自己谱面的客串难度。
谱面内所有难度的歌曲元数据必须一致。
必须在谱面的标签字段 (Tags) 中添加客串难度谱师名称、故事板作者名称、音效作者名称。 同时,谱面拥有者还需要在谱面讨论页将客串谱师设为相对应客串难度的拥有者。这是为了表彰他们的贡献,能让其他人了解该谱面的主要贡献者。用户名中包含由空格分隔的单个字符时,必须将空格替换为下划线
_
。
歌曲元数据必须参考主要元数据来源,除非格式化、标准化规则需要,请不要随意修改主要元数据来源信息。没有可用的来源时,可以使用最常见或容易辨识的。
歌曲的艺术家必须可以追溯到真实存在的人。 如果作者已不可考,则应使用 Unknown Artist
。歌曲的唯一作者不能设为某个虚拟的角色或软件,除非此为作者的代号。
如果歌曲明确来源于其他媒体(如电子游戏、电影、系列、公开活动等),则必须填写来源字段 (Source)。 如果歌曲是在发布后被某些媒体使用或者冠名,则来源字段可填可不填。如果歌曲有多个可用来源,则可任意使用其中一个来源。
若艺术家或标题字段长度超过了字段最大长度限制(81个字符),则必须缩短。 缩短时应优先考虑删掉附加的标记。如果字段仍超长,合理缩写并使用 ...
来表示这首歌的标题已经缩短。
如果艺术家或标题字段因字段长度限制而被缩短,略去的信息应补入标签字段中。
如果使用了精选艺术家列表内授权的歌曲来制作谱面,则必须将 featured artist
添加到标签字段内。其他情况禁止添加。 这个标签仅用于标注 osu! 是否拥有此歌曲的授权。
标签字段必须与谱面相关,且不得对搜索结果产生误导。 与谱面相关的字段一般是:对于谱面风格的描述;与歌曲、故事板、背景视频、背景图片相关的人或事物等。
必须将歌曲风格与语言加入标签字段中。 这是为了让玩家能在游戏内也能像在网站上一样搜索到它。使用
instrumental
作为语言标记纯音乐类歌曲,且不应在语言或曲风不清晰时使用这个标记。如果歌曲适用于多个语言或曲风,则它们都应填写。
注意:除了对于全宽字符的空格规范,所有标准化规则同时应用于 Romanized
(罗马音)和 Unicode
(原文)字段。
任何形式的被用于分隔艺术家的英文半角逗号 ,
、vs.
、feat.
、CV:
等字段后必须添加一个空格。 如果字段前面有一个单词,那么字段与之前的单词间也需要添加空格。英文半角逗号前无需添加空格。
任何形式的被用于分隔多位合作艺术家的 Vs.
、VS
等字段,都应标准化为 vs.
。
任何形式的被用于表明特邀艺术家的 feat.
、feat
、ft.
等字段,都应标准化为 feat.
。
对于虚拟角色作为歌手的歌曲,艺术家名必须标准化为 角色名 (CV: 角色配音演员姓名)
或角色名 (VO: 配音演员姓名)
的形式。 如果歌曲来源于真人演出,仅将配音演员姓名作为艺术家即可。
如果歌曲来自于电视节目,网页系列,或者互联网直接发布的视频番剧系列,例如开场曲 (OP)、结束曲 (ED)、插入曲,必须在标题结尾添加 (TV Size)
标记。 如果标题已经存在类似的 TV Size
标记,请用 (TV Size)
替换掉。
如果标题包含 Short version
或者 Game version
标记,则必须标准化为 (Short Ver.)
或者 (Game Ver.)
。
如果歌曲是非官方剪切的版本,则必须在标题结尾加上 (Cut Ver.)
标记。 如果标题中已经出现了用于标记长度的字段,那么必须使用
(Cut Ver.)
代替它。这是为了把歌曲的剪切版和完整版区分开,以避免混淆。
如果歌曲是非官方延长的版本,则必须在标题结尾加上 (Extended Edit)
标记。 如果标题中已经出现了用于标记长度的字段,那么应使用
(Extended Edit)
代替它。这是为了把歌曲的非官方延长版和官方延长版区分开,以避免混淆。
如果歌曲在原曲的基础上做了加速处理,则必须在标题结尾加上 (Sped Up Ver.)
标记。 如果标题中已经出现了类似的
Sped Up Ver
字段,那么应使用
(Sped Up Ver.)
代替它。使用 Techno、Trance、Dance 或者类似风格来加速处理的歌曲也可以使用
(Nightcore Mix)
标记。
特殊的 Unicode 字符必须标准化成与其最相似的标准等效字符,或者从 .osu
文件中的罗马音字段中删除。 ★ ☆ ⚝ ✪
等替换为星号(*
)。其他特殊字符则视情况使用或删除。
如果歌曲是由多首歌曲拼接而成,应在标题内将这些歌曲的名称清晰地列出,或使用一个概略性的标题。 如果分隔列出的曲名标题过长,则必须使用概略性的标题。
如果某些符号将标题中的部分词语划分为一组,则应该在这一组词语(包括符号)的前后添加空格。 比如,歌曲★标题★
应修改为 歌曲 ★标题★
。
如果填写在来源字段里的媒体作品含有子系列,则来源字段应填入最精确的子系列。 如果歌曲有多个子系列可供填入来源字段,此时只应该使用主系列。
当谱师自行罗马音化处理艺术家名称,且没有官方罗马音化方案可供参考时,必须按照 Unicode 字段中出现的顺序逐字罗马音化。
若要罗马音化外来词,则应使用其原词的罗马音,而不是这个外来词的罗马音。
当曲名或艺术家中使用表意重复的单词(一个是 Unicode 字符,另一个是罗马音)时,只能将这个罗马音化字段作为曲名或艺术家的罗马音,并移除表意重复的字符。
德语元数据的罗马音化,必须将变元音等效表示为两个字母: ü
变为 ue
、ö
变为 oe
、ä
变为 ae
、ß
变为 ss
。 在瑞典语和芬兰语中,ö
和 ä
应罗马化成 o
和 a
。
包含北欧字母的元数据必须按以下方式罗马化: æ
变为 ae
、ø
变为 oe
、å
变为 aa
。 在瑞典语中,å
应罗马化成 a
。
俄语或西里尔字符元数据的罗马音化,必须使用 BGN/PCGN 方案。 如果谱师愿意,则也可将其用于来源字段的罗马音化。
日文元数据的罗马音化,必须使用平文式罗马字方案。 如果谱师愿意,则也可将其用于来源字段的罗马音化。对于非 Unicode 域,为避免出现长元音符号,
おう
和
うう
应该写作罗马音
ou
和
uu
。
中文元数据的罗马音化,除艺术家名称外,必须按照汉字的口音和方言,采用逐字罗马音化、字与字之间加空格的方法处理。 单个汉字的罗马音首字母必须大写,且必须省略所有拼音声调标记。
本节未具体介绍的其他语言的元数据,以及缺少艺术家官方罗马音化的元数据,必须使用该语言通用且可识别的罗马音化系统。为了确保罗马音化准确无误,推荐询问使用该语言作为母语的人。
如果是谱师本人改编或翻唱了歌曲,那么谱师可以按照自己的想法给歌曲取适当的名字,以表明它是一个特殊版本。 此时,为了让玩家能够找寻到原曲,仍应将原曲名称填入标题字段或标签字段。
对于歌曲串烧或重编曲歌曲,应在标签字段中填写原曲曲名和艺术家。 这是为了保证玩家可以通过搜索同一关键字来找到与同一首歌相关的所有谱面,而不会得到很多不同的结果。
任何元数据中包含的,难以打出或难以辨认的 Unicode 字符,应在标签字段中填写易于搜索的变形字段或者罗马音化字段。
如果歌曲来源同时有 Unicode 文字与罗马音化两种形式,应在标签字段中填写未被选入来源字段使用的形式。
应在标签字段加入相关艺术家、歌曲的另一个标题、艺术家名称的另一种拼写方式、元数据字段中因缩写而被省略掉的部分字段,以及任何能够帮助玩家找到该谱面的内容。
注意:除了对于全宽字符的空格规范,所有标准化规则同时应用于 Romanized
(罗马音)和 Unicode
(原文)字段。
不应将商标作为曲名或艺术家大小写的参考。 因为商标通常是艺术化处理过的,除非歌曲元数据支持,否则应使用标准大小写。
对于来源于同人社团艺术家的歌曲,应使用社团名作为主艺术家。 但如果该歌曲的艺术家作为个人活动时也很出名,则应使用艺术家自己的名字。
如果某张谱面已经上架 (Ranked) 或被选入社区喜爱 (Loved),且歌曲与你制作谱面的歌曲完全一致,除非这张谱面的元数据不符合当前最新的谱面上架标准,或者正式来源声明了与你的谱面完全不同的内容时,才能按照你的方法来标准化你的谱面的元数据。否则,应完全照搬这张谱面的元数据。
在已上架或者社区喜爱谱面中,如果不同歌曲是由同一个艺术家或社团制作,其艺术家名称应保持一致。 若作者或社团有意在不同作品中使用不同别名,则可忽略此条准则。
应将单个符号罗马音化,并在它的前后添加空格(英文逗号前侧无需添加空格)。 如果是艺术家有意使用特殊字符,并违反了通常的标准化规则,则可忽略此条准则。
该章节包含即使在阅读完毕谱面上架标准后,通常也不明确的概念和规则。如果歌曲的元数据既可以按照此章节,也可以按照上述章节标准化或罗马音化,则应优先选用上述的:参考已上架 (Ranked) 或被选入社区喜爱 (Loved) 谱面来标准化的规则。
对于编曲家和歌手不是同一人的歌曲,可以在作曲家或者社团名后附上歌手名,并以 feat.
来分隔两者。
如果艺术家提供了其名称、Unicode 歌曲标题的正式翻译或罗马音化方案,则可以将它填入艺术家或标题罗马音字段。如果正式翻译和罗马音化方案都可用,则使用哪种由谱师自行决定。
如果歌曲是由多个艺术家合作完成,则可以使用逗号分隔并列艺术家的名称。 如果合作艺术家大于等于三人,并且他们不是同一个正式组织的成员,则可以使用 Various Artists
或者其它描述性的标签。
对于重编曲、翻唱、现场表演歌曲,可以将原曲的艺术家填入艺术家字段,同时修改标题字段来指明这不是原版歌曲。 此时,需要用括号括住标题字段中修改的内容,并在描述词汇之后标注重编曲、翻唱、现场表演的艺术家。
对于现场演奏录制的歌曲,可以在标题字段内加入 (Live Ver.)
标签。 如表演日期和地点等与现场演奏表演相关的详细信息,也需要添加至谱面描述和标签字段内。
可以在标签字段中添加元数据已经存在的单词,但前提是,该单词必须为谱面相关术语或固有搭配的一部分。
非继承时间点(红线)必须准确地记录歌曲的拍子记号。 如果错误的拍子记号持续超过一个小节,则必须在下一处强拍添加新的非继承时间点(红线),以重置拍子记号。如果歌曲含有部分不受编辑器支持的 #/4 拍子记号,则可使用非继承时间点(红线)重置节拍器,或直接编辑
.osu
文件得到。对于其他不受编辑器支持的时间记号,请参见
范例图表或者查阅
八分拍歌曲测定。
谱面时间轴必须精确。 即时间轴的
BPM 和每一个
非继承时间点(红线)的偏移量需要完全贴合歌曲。无规律的变奏歌曲也许不可能完美地测定,此时应在不影响谱面游玩的情况下尽量精确测定。如果某段含有复杂节奏的段落被休息段或者持续的转盘覆盖,也可以不用精确测量这个段落。
第一个非继承时间点(红线)之前不能使用继承时间点(绿线)。 如果无法获取任何要继承的设置,继承时间点(绿线)将无法正常工作。如果要在当前第一个非继承时间点(红线)之前修改音效音量或滑条速度,则必须将非继承时间点(红线)向前移动一个(或四个)完整的小节,以使继承时间点正常工作。
物件放置的时间与其所属节拍细分的误差必须小于 2 毫秒。 AiMod 会报告这些错误。有时,它也会错报一些物件,如滑条折返和滑条尾。此时需要手动判别或使用其他工具协助。如果物件放置在游戏不支持的节拍细分上(如 1/11),那么这段物件可以:
如果物件持续时间内,非继承时间点发生了变化,则应该调整物件末尾并使其完美贴合变化后时间点的节拍细分。 如果这个物件是转盘或 osu!mania 的长条,拖动物件末尾的滑块即可使其完美贴合。对于滑条物件,可以使用绿线修改滑条速度来调整物件末尾时间,或者直接编辑
.osu
文件来贴合。
谱面的歌曲文件...
...必须使用 .mp3
或者 .ogg
文件格式。
...如果是 .mp3
文件,平均比特率不得高于 192 kbps;如果是 .ogg
文件,则不得高于 208 kbps。
...平均比特率不得低于 128 kbps, 如果歌曲来源提供了更高码率的文件,则必须使用更高码率的文件。
...不能从低质量歌曲文件重编码成高码率的版本得来。
谱面只应包含唯一一首用于所有难度的歌曲。 osu! 不支持在单张谱面中使用多个歌曲文件,若这样做,则可能会导致预览时间点或元数据等出现错误。
谱面必须含有音效。 普通打击音效 (hitnormal) 能给予玩家足够的反馈,并且,多样的附加打击音效(口哨、鼓掌和结束音)可以用于强调歌曲中比较重要的声音。
所有可击打的物件都必须包含至少一个...
...含有清晰打击音,并且频谱尖峰与开头相隔小于等于 5 毫秒的音效。 默认皮肤的 normal-hitfinish.wav
不受此条规定限制。
...文件格式为 .wav
或 .ogg
的音效。 .mp3
文件播放自带延迟,不应使用。
这确保了玩家在游玩时能获得即时的反馈,与歌曲完美同步的音效也能作为参考,让玩家自己调节击打的时机。osu!mania 谱面有独特的多轨节奏结构,可忽略此条规定。
音效必须能让玩家听到。 音效的作用是提供足够反馈,因此,音量极低或者与歌曲音色极其相似的音效都是不能使用的。对于不同游戏模式的例外情况,请参阅不同游戏模式特定的谱面上架标准。
谱面的预览时间点必须一致。 预览点将会在游戏的歌曲选择菜单和网页的在线歌曲试听中使用。
音效长度至少为 25 毫秒。 长度更短的文件不能播放出声音。
若需要使用完全静音的音效,则必须使用这个 44 字节文件。 其他音效文件可能会过大,并且不能使用 0 字节大小的音效文件。
故事板音效不能替换主动打击音效。 这会给玩家不准确的反馈。在某些特殊情况下,可以但不鼓励使用故事板音效。osu!mania 可忽略此条规定。
谱面的歌曲和音效不应出现任何不必要且能听到的失真效果。 不应添加违反歌曲艺术家本意,或不符合原歌曲特色的剪辑效果效果、响度降低、噼啪声效果。建议通过实际聆听歌曲检查是否符合该条准则,而不是通过软件检查。
歌曲不应被人为延长以突破谱面上架标准规定的掉血时间最低难度限制。 包括但不限于:重复播放歌曲的部分段落,降低整首歌或者歌曲一部分的
BPM,或者增加一小段突兀不合曲的音乐等。如果制作
歌曲混编,或者音频文件短于 30 秒,则可忽略此条准则。
如果谱面结尾空白部分大于等于歌曲全长的 20%,则应截短歌曲。 谱面的前奏空白段不包括在内。如果谱面结尾空白部分存在视频或故事板,或因为这部分歌曲段落因为含有复杂变奏、有渐出效果而不适合制作谱面时,则可忽略此条准则。
歌曲混编或者其他串烧、合集形式的混编歌曲,应尽量使单曲之间自然平滑过渡,不要在单曲结合处使用突兀的静音段或较长的淡出段。 用于混编的单曲应具有相似的音质,音量与长度。这能确保混编歌曲谱面与其他普通谱面一样,有着良好完整的游戏体验。可以使用长度不超过 5 秒,平稳和谐的交叉淡化过渡。并且,使用合拍合曲设计的过渡段,总比直接简单地在两首单曲之间使用交叉淡化处理更好。
如果只编入 2 首歌曲,那么它们之间应该有比较清晰且紧密的联系。 这方面的例子包括但不限于:同一系列歌曲的不同迭代,歌词、主题、音调、流派相似等等。
谱师自主剪辑歌曲,应保留原曲的总体印象和强度。 重大改变原曲结构的剪辑(如去掉或重新排序歌曲的前奏、段落、副歌、尾声)可能会迷惑玩家对歌曲的印象,并非常容易降低玩家的游戏体验。如果被剪辑的歌曲来自于官方剪辑及其再创作剪辑,则可忽略此条准则。
游戏音效中除了主动打击音效外,都应使用 .mp3
或 .ogg
格式。 这些文件通常在相同体积下具有更长时间,而
.wav
文件则会太大。但是当音效持续时间短,文件较小时,也可使用
.wav
。
尽量避免将 soft、normal 音效组中的镲音效 (hit finish) 替换为极其常用的自定义音效文件。 若替换了镲音效 (hit finish),并将其用作自定义音效的军鼓音效 (snare) 或者低音 (bass),则会极大降低禁用自定义音效这一部分玩家的体验。推荐将这类常用音效替换拍手或口哨音效。 osu!taiko 谱面有特定的自定义音效准则,不受这一准则的限制。
谱面中至少需要一张背景图片。 可以为不同的难度设定不同的背景图片。
对于背景图片有以下要求:
最小宽度: 160 像素
最小高度: 120 像素
最大宽度: 2560 像素
最大高度: 1440 像素
最大文件大小: 2.5MB
视频的分辨率不得超过 1280 像素宽,720 像素高。 另外,应该避免把较低分辨率的视频放大到较高分辨率并编码成文件。这样可保证视频文件不会变得不必要的大,或在视频解码时占用过多计算资源。
视频编码必须使用 H.264 标准。
视频的偏移量必须与歌曲完美同步。 错误的偏移量会带来误导性的视觉表达。如果同一个视频被用于多个难度,其偏移量必须一致。
视频文件不应含有音轨。 osu! 不会使用视频文件中的音频轨道,并且,删除音轨能够缩减谱面文件大小。即使视频文件原有的音轨没有声音,也应予以删除。
如果您要使用其他社区成员制作的自定义皮肤元素,请事先获得许可。 尊重他人的工作是非常重要的,大多数人会很乐意你在自定义谱面皮肤中使用他们制作的皮肤元素,并标注他们的工作!因此,如果你不知道某一皮肤元素是由谁制作,则不应使用它。
游玩皮肤元素必须可见。 如果这些元素不可见,将可能会降低谱面的游玩体验,甚至导致谱面无法正常游玩(
cursormiddle.png
除外,因为它会影响光标拖尾显示)。只有在不影响游玩体验,以及有充足理由才能让游玩皮肤元素完全透明。
自定义皮肤元素必须裁剪干净,这样它们的轮廓周围就不会有像素锯齿或阴影。
不能使用过大尺寸的自定义皮肤元素,这可能会导致默认皮肤内不重叠的元素在自定义后相互重叠。 只有自定义皮肤元素的可见部分适用这条规定。若自定义皮肤元素重叠,则可能会影响谱面的游玩体验。
若要自定义某一个游玩皮肤元素,还必须自定义这一整个皮肤组的必需元素,以避免谱面自定义皮肤元素与玩家自定义皮肤元素发生冲突。 如果使用标记为“可选”的自定义皮肤元素,那么这一整组的”可选“元素必须全部自定义。如果不使用“可选”的元素,也可以直接跳过。然而,如果一组内部分”必需“的自定义皮肤元素在任何情况下都不会使用,或者强制启用默认皮肤时,也可以跳过这些”必需“元素。
故事板图片 (Storyboard Image): 指故事板使用的图片,它们都存放在谱面文件夹中。
精灵图 (Sprite): 一个表示故事板中一张图片或一组图片的对象。
时间 (Time): 表示某一对象在时间轴上的位置,以毫秒为单位。这通常能在谱面编辑器的设计页看到。
命令 (Command): 游戏有 Move
(移动)、Scale
(缩放)、Fade
(淡化)、Rotate
(旋转)等命令。这些命令能操纵并改变精灵图的位置、大小、朝向、透明度等。每条命令都有开始时间和结束时间。
坐标轴命令 (Axis Specific Command): 指仅仅在特定坐标轴方向上影响精灵图的命令,例如 MoveX
(X 轴方向移动)和 MoveY
。(Y 轴方向移动)
激活时间 (Active): 指控制对象的命令从开始到结束这段时间。
正在渲染 (Rendered): 通常用来描述在屏幕中,且未完全淡化成透明的精灵图。
osu! 像素 (osu!pixel): 谱面编辑器设计页中的最小尺寸。可以在设计页右上角看到它,例如 x: 104; y: 88
。
故事板图片所包含的总像素数量不能超过 1700 万,这是为了保证大部分电脑能在短时间内加载完成。 此外,你需要根据故事板编辑器内部最大尺寸(854 x 480 osu! 像素)来缩放图片。
谱面在加载时,不能引发解析错误。 即解析器无法读取故事板指令的某一部分。
谱面的宽屏支持
(Widescreen Support) 设置必须保持一致。 但如果不同难度的故事板是为不同宽高比设计,则不受这一规定的限制。
在歌曲结束后,应关闭所有精灵图、停止命令。 为了某些故事板的特定效果需要,精灵图的渲染时长可以延长到歌曲结束后一段时间,但不应过长。
可考虑在含有旋转指令的故事板图片周围留有 1 像素宽的透明边框,以保证插值算法工作正常。 osu! 没有图片的抗锯齿算法。因此,如果用作旋转的故事板图片边缘非常锐利,旋转中的锯齿将会非常明显。
尽量保持故事板在播放时的帧率稳定,尽量避免任何明显的性能问题。 请在摸图时测试谱面来确认这一点。
避免使用在游玩过程中容易与打击音效混淆的故事板音效。 这违背了听觉反馈这一概念,因为故事板音效将独立于玩家的操作而自动播放。
避免使用不合逻辑、相互冲突、已经作废的命令。 游戏无法正常执行结束时间早于开始时间,或者无法成功触发的命令,且谱面内不应出现激活时间重叠的命令。应删除或修正它们。
如果需要制作适配宽屏的故事板,则应启用宽屏支持
(Widescreen Support) 。 如果故事板设计为 4:3 分辨率,则应关闭此功能。如果没有制作故事板,此设置不会影响谱面中的任何内容。
尽量优化故事板。 无论如何都要做到这一点。具体如以下所示:
避免精灵图或谱面背景图片在渲染时,被其他元素遮挡至完全不可见。 出于性能考虑,当元素不可见时,最好将它们淡化为透明。如果要将谱面的背景图片淡化为透明,请将相同的背景图片名称作为精灵图,Background
或 0
作为第二个参数,然后使用淡化命令,隐藏掉它。
避免精灵图在整个渲染过程中离开屏幕或者阻碍视线。 如果故事板图片的屏幕外不可见部分自始至终都没有展示在屏幕中,就应该裁剪掉这一部分。
避免在故事板图片周围留有大量的透明像素。 为了提高性能,应在保证图片主体完整展示的前提下,尽可能多地裁剪图片。
若要多次使用某条命令,请使用循环 (Loop) 指令,但如果这样做会影响视觉效果除外。 使用循环指令能大量减少代码行数,从而缩减故事板文件大小。
当使用一个常用命令可以实现相同的效果时,请不要混合使用两个坐标轴分量命令。 使用单条命令而不是两条命令,能缩减故事板文件大小。
使用最节省空间的图片文件格式,同时保持合理的质量。 不同于 .jpg
格式,.png
格式由于采用了无损压缩方式,占用的存储空间通常更大。
避免使用重复的图片。 完全没有必要将内容完全相同的两张图片放在一起使用。
避免同时激活多个不可见的精灵图。 无论元素是否可见,游戏依旧会计算并处理命令。如果这个精灵图长时间不可见,请关闭此精灵图,并在之后需要展示时创建一个新的精灵图。
在同一个精灵图上使用多个同类型指令时,指令的触发时间间隔需要长于 16 毫秒。 每秒 60 个命令足以使精灵图在视觉上平滑过渡。这也可以缩减故事板文件大小,并且减少故事板加载时间。
由触发器 (Triggers) 激活的精灵图要在使用完毕后淡化为透明。 触发器会从第一个激活命令开启,保持激活状态直到谱面结束。所以最好在不使用后隐藏这个精灵图。