forum

新人向:一张Map是如何制作完成的——Scorpiour的Mapping记录式教学

posted
Total Posts
49
Topic Starter
Scorpiour
前言

中文版的Mapping入门教学贴已经很久没有更新了,因此我决定制作一个新的Mapping教学。然而在开始动手的时候,我突然意识到,根据自己一年多的modding经验来看,相比于简单的告诉新人“怎样使用Editor”,用尽量直观的方式来展现一张Map的制作过程会更有利于新人的学习。

因此,我决定制作这一样一个“Mapping制作的记录式教学”,在论坛上全程记录自己一张新图从开坑到完工上架的全部过程,并在这个过程中尽可能详细的介绍在Mapping中会用到的各个方面的基本知识和技巧。

整个教程的完成时间预计要用2-3个月的时间。



在这篇教学中你可能学到的东西:
  1. 如何选曲
  2. 如何开坑,设置基本的项目 - Timing, Metadata, Combo Colour, Slider Velocity, Difficulty Setting 等,以及如何上传/更新已做好的图
  3. 如何安排节奏
  4. 如何排列Note以及调整Slider形状
  5. 如何挑选和安排音效
  6. 如何安排NC,Kiai等后期细节
  7. 如何制作Storyboard和Skin(简略)
  8. 如何根据Modding来对图进行修改(简略)
  9. 以及其他一些和做图相关的知识点
在这篇教学中你不会遇到的东西:
  1. 如何搅基
  2. 如何求mod,求test,求GD
  3. 以及其他和mapping没有任何关系的莫名其妙的事情

目录

  1. 0...........................没有人生来就是神mapper
  2. 1...........................从选曲开始说起
  3. 2...........................正式开坑要怎么做
  4. 3...........................从Timing开始
Topic Starter
Scorpiour
0. 没有人生来就是神麻婆


Mapping是艺术,这是在Mapper中经常被提起的一句话。然而,就如同达芬奇要从画鸡蛋开始一样,Mapping也是一件需要足够的基本功和熟练技巧的事情。只要肯付出相应的努力,相信我,每一个愿意参与其中的人都有成为神Mapper的潜质。

然而显而易见的,Mapping这条路本身并不是平坦的大路。点开Mapper榜单就可以轻易的看到,相比于数量高达近200万的注册玩家群,能够制作Map并且将其最终推上Rank列表的Mapper只有区区的936人。这是因为,Mapping并不是简简单单的随便找一首曲子随意的摆一堆Object(元件)就可以,而是需要长时间精心的制作和打磨,一点一点的思考,制作,调整,并且最终将其制成一幅完美的作品。

对于立志于走上Mapper之路的新人而言,最困难的一步便是入门 —— 其实这也是整个新人成长过程中最大的难关之一。相比于之后的bubble和rank等无法凭借个人的能力改变的事情,新人入门并且将自己的作品制作完成打磨精细是唯一能考个人的努力达成的目标。因此,我希望能够利用这篇教学带领着新人一点一点的熟悉Mapping的每一个步骤,用最直观的方式亲自跟着我一起来走完一张新图从开坑到完工的整个过程。

1. 从选曲开始说起


从决定开始制作Map的那一刻开始,首先要面对的第一个问题就是:我该选择什么样的音乐来制作?这也就是大家所常说的选曲问题。

尽管从理论上来说,只要是音乐就有拿来将其制作成Map的可能性。但是实际上,大多数的音乐本身并不适合直接制成Map;近一步的,对于新人而言,那些有着被制作的可能性的音乐也有着明显的制作难度的差异。这种差异会表现在音乐的不同方面上:

  1. 1. 音乐本身的速度(BPM)太快或者太慢,导致在制作的时候图变得一团糟
    具体例子
    来看一些例子:

    首先是高bpm曲:

    无论是大名鼎鼎的FD - http://osu.ppy.sh/s/39804 还是让人泪流满面的 Talend Shredder - http://osu.ppy.sh/s/47710 , 首先让人们印象深刻的一条就是“快”。极高的BPM带来了强烈的冲击感,高速的移动让人在打图是甚至能产生浑身都在燃烧的感觉。

    然后这样的曲子在制作上的难度往往也是超乎想象的。因为过高的bpm导致移动困难,因此对于Mapper在排版上的要求异常的高,任何一点不合适的排列造型都很会导致在打图时产生强烈的违和感,从而轻易的毁了整个图。同时,高bpm下音乐的节奏密度过大,也容易出现节奏安排让人无所适从的感觉:当耳朵里听到的除了“咚咚咚咚”的鼓点外就没有其他存在时,真的很难能够再去精细的制作和安排节奏的变化。

    因此这一类曲子往往是新人最不适合碰的“雷区”,在我个人一年多的modding生涯中,只见过一个Mapper能够在新人阶段控制住高bpm的曲子,令自己的Map没有失控而达到了很高的质量,其他的Map基本全部都是“不堪入目”


    然后是低BPM曲:例如 - http://osu.ppy.sh/b/116345

    这个曲子有低bpm曲比较普遍的特点:曲调偏向静,缺少鼓点,旋律很轻而且优美。相比于高bpm的刺激感,低bpm曲,特别是抒情曲很容易让人沉浸其中。然而这种音乐上的美妙的感觉很多时候恰恰就是低bpm曲的制作难点。在BPM很低的情况下,新人很容易因为缺少对间距(spacing)的感觉,而导致Object挤成一团,使得整个图的排版拥挤不堪。同时,缺少鼓点的特性使得这类图的节奏也很容易失控,导致整个图的节奏听上去混乱而缺少对比及连贯性。

    另一个著名的低bpm图美丽之物http://osu.ppy.sh/b/40428

    因为音乐中有比较明显的鼓点(Drums)的存在, 使得在节奏安排上很大程度上降低了难度。同时我们可以看到Mapper根据其经验,在制作时专门使用了非常大的间距从而避免了拥挤的排版。

    同时,由于bpm偏低,Timing的难度对于低bpm图来说也比高bpm要更大。
  2. 2. 连续/多次的变化bpm,或者是基于3分拍/华尔兹的音乐,从而导致Timing吃力以及制作时遇到额外的障碍
    详解
    一般来说当音乐中缺少鼓点的时候,其bpm很有可能会出现连续的变化。这是一个新人经常会忽略但是很容易撞到的雷区。来看这么一小段东西
    23373,500,4,2,0,90,1,0
    23873,480,4,2,0,90,1,0
    24368,480,4,1,1,40,1,0
    25808,480,4,1,1,40,1,0
    26752,480,4,1,1,40,1,0
    27712,473.372781065089,4,1,1,40,1,0
    35275,495.867768595041,4,2,0,80,1,0
    35770,461.538461538462,4,1,1,40,1,0
    39015,480,4,2,0,80,1,0
    42845,472.44094488189,4,1,1,40,1,0
    46603,472.44094488189,4,2,0,80,1,0
    47090,472.44094488189,4,1,1,40,1,0
    48507,472.44094488189,4,1,1,40,1,0
    51352,472.44094488189,4,1,1,40,1,0
    51579,472.44094488189,4,1,1,40,1,0
    52297,470.588235294118,4,1,1,40,1,0
    57944,468.75,4,1,1,40,1,0
    61694,462.42774566474,4,1,1,50,1,0
    63319,462.962962962963,4,2,0,90,1,1
    63547,466.019417475728,4,1,1,50,1,0
    68210,466.019417475728,4,1,1,50,1,0
    69132,454.545454545455,4,1,1,50,1,0
    70516,458.015267175573,4,1,1,50,1,0
    70747,474.308300395257,4,2,0,90,1,1
    70984,474.308300395257,4,1,1,50,1,0
    72883,478.08764940239,4,2,0,90,1,1
    76684,475.247524752475,4,2,0,30,1,0
    80485,473.372781065089,4,1,1,50,1,0
    84271,467.471756914686,4,1,1,40,1,0
    88030,477.516912057302,4,2,0,80,1,0
    93760,468.75,4,1,1,40,1,0
    95635,476.190476190476,4,2,0,80,1,0
    96568,476.190476190476,4,1,1,40,1,0
    97520,476.190476190476,4,1,1,40,1,0
    100843,476.190476190476,4,2,0,90,1,0
    101319,476.190476190476,4,1,1,40,1,0
    102975,476.190476190476,4,1,1,40,1,0
    103213,468.75,4,2,0,80,1,0
    106479,468.75,4,2,0,80,1,0
    106962,468.75,4,2,0,80,1,0
    109759,468.75,4,1,1,40,1,0
    110691,468.75,4,1,1,50,1,0
    112087,468.75,4,1,1,50,1,0
    112555,468.75,4,1,1,50,1,0
    114430,463.320463320463,4,1,1,50,1,0
    116071,470.588235294118,4,2,0,90,1,1
    116306,470.588235294118,4,1,1,50,1,0
    118183,447.761194029851,4,1,1,50,1,0
    119093,480,4,1,1,50,1,0
    119809,469.667318982387,4,2,0,90,1,1
    120043,469.667318982387,4,1,1,50,1,0
    121921,478.08764940239,4,2,0,90,1,1
    123833,471.883602044829,4,1,1,40,1,0
    129482,471.142520612485,4,2,0,80,1,0
    132795,471.142520612485,4,1,1,50,1,0
    133266,471.142520612485,4,1,1,50,1,0
    135637,471.142520612485,4,1,1,50,1,0
    137050,477.13717693837,4,1,1,50,1,0
    138958,461.538461538462,4,1,1,50,1,0
    139901,483.870967741935,4,1,1,50,1,0
    140875,480,4,2,0,90,1,0
    142555,463.857750289911,4,1,1,40,1,0
    142774,476.190476190476,4,1,1,20,1,0
    144678,472.44094488189,4,1,1,20,1,0
    152247,472.44094488189,4,1,1,40,1,0
    154584,472.44094488189,4,1,1,40,1,0
    155994,472.44094488189,4,2,0,80,1,0
    160256,472.44094488189,4,2,0,80,1,0
    160728,474.871388998813,4,1,1,40,1,0
    163591,472.44094488189,4,2,0,80,1,0
    166882,472.44094488189,4,1,1,40,1,0
    167354,472.44094488189,4,1,1,40,1,0
    171133,477.13717693837,4,2,0,80,1,0
    174483,477.13717693837,4,1,1,40,1,0
    174960,472.44094488189,4,2,0,70,1,0
    175904,458.891013384321,4,1,1,40,1,0
    176362,472.44094488189,4,2,0,70,1,0
    176598,469.29996089167,4,1,1,40,1,0
    176834,468.75,4,1,1,40,1,0
    178240,484.457004440856,4,1,1,40,1,0
    178724,463.320463320463,4,1,1,40,1,0
    182430,468.75,4,1,1,40,1,0
    184078,468.75,4,1,1,40,1,0
    184308,476.190476190476,4,1,1,50,1,0
    186212,468.75,4,1,1,40,1,0
    188087,465.116279069767,4,1,0,60,1,0
    189957,461.538461538462,4,1,1,55,1,0
    191567,472.44094488189,4,2,0,90,1,1
    191803,472.44094488189,4,1,1,55,1,1
    193672,466.926070038911,4,1,1,55,1,1
    201127,472.44094488189,4,2,0,90,1,0
    208686,468.75,4,2,0,80,1,0
    210573,468.75,4,1,1,40,1,0
    212448,472.44094488189,4,2,0,80,1,0
    216227,478.08764940239,4,1,1,40,1,0
    218139,461.538461538462,4,1,1,40,1,0
    220013,480,4,2,0,90,1,1
    221933,475.247524752475,4,1,1,40,1,0
    222863,475.247524752475,4,1,1,40,1,0
    223813,474.308300395257,4,1,1,40,1,0
    227640,483.870967741935,4,1,1,40,1,0
    这段代码是某个著名的变速图的timing,每一行代表了一次bpm的变化。

    一般向的流行乐/动漫歌曲等会更倾向于单独一个bpm从头到尾,或者在开头/结尾的时候小范围的一点变速。很显然,仅仅这样一个timing本身就能让一个刚刚接触Mapping的新人精疲力尽,更不要说变速曲本身在制作时可能会遇到的各种穿越红线/间距变化难以掌控等问题。
  3. 3. 太冷门的音乐: 虽然冷门音乐本身并没有什么问题,但是相比于比较热门的vocaloid, touhou, anime等,在找人帮你mod的时候多少会有一些小麻烦
最后,一定记得要选择那种自己能够“百听不厌”的曲子。我想有太多的Mapper都有过这样的经历:选择了一个自己觉得很好听的曲子开始制作,结果等到做完的时候因为已经把音乐反反复复的听了上百遍,以至于听到旋律就想换掉。或者更糟糕的,图还没有做完曲子就已经听的再也不想听了。


这一次我选择的曲子依然是一首自己喜欢的东方原曲Arrange,同时也是现在我最喜欢的同人歌手之一,senya所唱的曲子。

http://osu.ppy.sh/s/75445
选择这首曲子的原因
  1. 1. bpm 135,属于中等略偏慢的程度,无变速,旋律和鼓点都很清晰但又有一定的变化,因此制作难度较低又不会让人觉得听起来无聊。
  2. 以我个人非常喜欢的Border of Life为原曲,senya的嗓音也很舒服,可以连着循环听毫无压力
  3. 东方系列的人气不低,会有相应的受众群。

那么在选定曲子之后,我也正式开坑了。

2. 正式开坑要怎么做

  1. 压制mp3, 并且清除mp3文件名中的非英文字符。

    根据Ranking rules,osu!中的mp3文件限制的音质为128kbps-192kbps的范畴,而一般来说我们在网路上下载的mp3都是320kbps,这就需要一些简单的工具来进行mp3文件的转换,例如格式工厂之类。

    另外,由于osu!程序本身的一些问题,最好将mp3文件改名成纯英文字符,比如


    完成之后就可以把mp3直接拖入到osu的窗口,开始编辑工作了!
    ---
  2. 填写metadata

    第一次打开新图时,编辑器会自动跳出如下的一个界面要求你填写metadata


    其中:Artist/title两个部分如果是纯英文字符的话,则Romanised Artist/Title两行会是灰色不可用。这个不用在意。反之,如果你在任意一个部分填写了非英文字符(unicode)的话,则相应的Romanised部分会激活,要求你填写与之对应的纯英文artist/title(例如我的图示)

    另外,Source和Tags两个部分不需要立刻填写,可以放在之后再补上。
    ---
  3. 开始Timing

    基本的Metadata填好后,编辑器会自动跳转到Timing面板。点击橙色Timing Panel

    然后就可以开始进行Timing工作了。

    因为Timing一般被认为是正式开始做图的起点。因此我会放在Mapping Process中进行详细的说明
Topic Starter
Scorpiour
3.从Timing开始

  1. Timing的基本名词解释
    1. Time line:时间轴,就是大家在屏幕上方看到的那个长长的东西。元件的节奏就是在时间轴上进行排列的。
    2. BPM: 每分钟的节拍。一般来说bpm会80-200的范围内,一个大概的判断方法是一边听音乐一边用手打拍子,得到的数值如果过高(超过200)或者过低的话可能就需要进一步的复核了。
    3. offset:偏移量。这个数值是“歌曲的第一个重音”和mp3起点的差值。
    4. Uninherited Timing Point / Red Line : 时间轴上的红线。对于一张图来说,至少要有一条红线来确定歌曲的BPM以及offset值。
    5. Time Signature:节拍类型。多数曲子都是4/4拍,但是也会有特殊的结构例如3/4(华尔兹)等。这个数值是根据重拍的循环来确认的。例如对于重拍结构为 X x x x X x x x 的歌曲来说,(X x x x)构成了一个循环节,那么在音乐上就会成为一个小节(stanza)。每个小节包含4个拍子则被称为4/4拍。同理,对于结构为X x x X x x的曲子,则被称为3/4拍。
    6. Slider Velocity: 滑条速度。滑条速度决定了整个图的滑条的速度,也就是时间长度相同滑条从头到尾的长度。同样的,这个值也是你两个note之间空间间距Distace Spacing的数值基准。
    ---
  2. 创建第一个红线,并且确定offset和bpm:
    在点开了Timing Setup Panel后的界面里,我们需要把标签首先选到Timing Points这项(如图)

    然后点击右下角的绿色加号,添加一个红线

    在左侧的bpm/offset的部分可以看到,系统默认的bpm为120,offset为0,但是显然这个数值是错误的。那么接下来就需要我们手动找到正确的offset和bpm

    点击OK关闭面板,然后将主界面切换回Composer(热键F1)。之后按空格开始播放曲子。

    音乐的前面部分虽然节奏比较清晰,但是缺少明确的可以作为参考点的鼓点,于是一直播放到了大约29秒的位置,可以听到一个强烈的鼓点音。

    这个时候需要做的是首先按空格暂停播放,然后点方向键的<-将音乐向回拉一小段,并且在右下角的play back 速率那里,将速度调到25%

    然后再重新反复的播放29秒左右的这一段,找到"鼓点刚好开始的一瞬间”,而不是“鼓点声音最大的一瞬间”,通过反复的使用<-和空格开始/暂停来确认时间点,直到找到自己最满意的位置,暂停住。

    完成这步之后,打开Timing Setup Pannel,切换到Timing Point页面,选中我们之前添加的那个默认时间点,然后点击左侧的“Use Current Time”


    这时我们的offset已经有了,但是bpm依然不准确,于是我们需要找到歌曲的下一个重音。这一步我们在Timing面板下做即可,找到后时时间轴的位置大概如下图所示:


    接下来,按住Shift键并且点住时间面板BPM项目右侧的向上的那个箭头,逐渐加大bpm来缩小时间轴上相邻白线之间的间隔,直到下一个长白线和我们找到的重音相重合。

    注意这里有两个小技巧:一是可以点击时间轴左侧的小加号来放大时间轴使得对齐的时候更准确,二是音乐一般来说整数bpm较多,因此把bpm直接调整到一个相应的整数数值往往就是准确的。

    最终调整完毕的timing如下:
Topic Starter
Scorpiour
#3 占位更新
Topic Starter
Scorpiour
#4 占位更新
Pokie
沙發離我好遠
popner
123
Breeze

Pokie wrote:

沙發離我好遠
地板都没有真是丧尸
Nymph
Zzzzz
bossandy
找時間來寫篇這樣的 先頂
Flask
圍觀
Strawberry
作图新人来学习了!! ;)
spboxer3

Breeze wrote:

Pokie wrote:

沙發離我好遠
地板都没有真是丧尸
我都看不到樓頂了真是人性
Colin Hou
没搅基教程 差评
Kayano
第一页的后排..

Snowy Dream wrote:

作为新人mapper 我想要搅基教程...
abalee
果然很闲
Curisu
屌炸跪舔这种东西实在写不来
Lan wings
没video么
kanpakyin

Lan wings wrote:

没video么
No_Gu
求教如何搞基
JauiPlaY
放眼望去此楼已歪得不成样子...
mintong89

No_Gu wrote:

求教如何搞基
Kotone
搞基很簡單,有空找找Sco說話哄哄他開心就行。
Rizia
剛接觸Mapping就是連BPM也不懂調整
直到現在我也很滿意自己的map了
只會選自己喜愛的
制作起來不會有違和感(!?)
自己覺得難聽的..制作出來也沒意思
qkenan
真是酷炫

搬板凳记笔记
Gundam
求搅基教程:D
morris123
新人拜見! :D
Ulysses
神帖留名
[CSGA]Ar3sgice
#233 占位更新
yanlu

nold_1702 wrote:

神帖留名
kueeo
新人MPAAER一个,正在积攒经验中wwww参观学习了~~~~希望以后有问题能请教您
Snowy Dream
作为新人mapper 我想要搅基教程...
show more
Please sign in to reply.

New reply