返回列表 发帖

变速制作的傻瓜教程~

再写“BMS制作中的十五个失败处”时我写到过关于速度的一条,但我写到的基本上是关于如何变速更好更舒适而并没有写过制作变速的方法,我简单的说过一句“其实变速只是个初级的数学问题”,但没有给出过具体的算法,那么,这次就稍微费点力气描述一下,不要怕,我既然这么做就一定是站在初学者的位置上,不会把你们搞糊涂的。

首先再次声明,变速不要滥用,我弹到的很多作品都犯了这个错,事实上很多人喜欢拿这个来炫耀,这其实只是更反映出他们对BMS制作的无知的而已,所以,即使你学会了,你可以自己做做试验,验证自己是不是真的会变了,但不要随便拿出来虐待别人的眼睛和手。

另外,本帖专门作为一个教程贴存在,该内容不再会涉及如何变速更好的问题,只是教你如何变速。好了,废话说到这里,开始正题了。

关于公式,其实只是几个字母而已,但通常运用到那些作者自己定义的字母时读者会被搞糊涂,但其实是一样的,为了解决这个问题(其实太好解决了),我们还是用最最一般的公式,貌似小学就学过了的最基本的行程问题:

S=VT   

S——路程,就是格子数
V——速度,就是BMP,别管它单位不单位的
T——时间
(什么?这个你都不知道,那么以我的智商真的就教不了你了- -!你还是先阅览其他帖子吧:)

S=Vt是个基本公式,但在BMSE里时间“T”是个隐藏的参数,很难直接测出,但“S”和“V”就是很直观的数据了。


路程S就是格子数,直接就可数出来(如果你不会数格子的话,那么我也教不了你了);而V便是BMP的值,(连数的功夫都不要),这样说就没人会搞混了。
再次牢记:S就是格子数,V就是BMP,这个不难吧,应该也是很容易理解的~


变速的核心便是时间不变,也就是:

  T    =T1+T2+...+Tn                                                                 (1)
总时间=等于所有分时间的总和

现在要做的其实就是把S=Vt的公式稍微变一下而已,我们需要使公式里就留下最直观的S和V,而把时间隐藏掉,公式(1)即变为:

S/ V=S1/ V1+S2/ V2+...+Sn/ Vn                                                (2)

(一般进行到S2/ V2也就够了,如果想多缓冲几段的话可以多加几项~)

好了,理论知识说明到这里也就完了,不要怀疑,就是这么简单。下面看个实例:


以“S/ V=S1/ V1+S2/ V2”为例

假设,在不变速的情况下,测出bmp为98.78,有一段路程共64格(你可以把它更简单地看作是相邻两条小节线之间的空档),那么现在你想变速了,你决定一开始速度快一些,用150(这个因为是自己设的所以可以先方便地取整),后面则慢一点,为了能对准节奏线,所以S1和S2(确切地说是它们的总和)最好能事先定好,假设是S1=40,S2=24,(这样S1+S2便等于S,也就是64了)这样的话就能变速完后再次对准节奏线(当然前提是你本来就对准了)。那么,公式就变成:

40/150+24/V2=常数0.6479(因为S/ V是已知的=64/98.78=0.6479),这样,你就可以算出V2了。(小学的四则运算应该会吧:)



如果这里你都看懂了,那么恭喜你,你已经学会变速了。只要根据上面的去做,就能保证你不会因为变速就偏离节奏了,而且大家可以注意到,即使把上述例子中这64格的变速部分完整地去掉,也不会影响bms本来的节奏性。



但是要注意,会变速跟变的好是两码事,S1、S2、V1、V2的值都是你自己设计的,可以根据需要不断的灵活调整,时刻牢记你变速是为了更好的表现效果,如果效果因为这段变速变的更加糟糕的话,那就不要多此一举了~















PS,

关于变速的问题也完全可能有好几种方法的,这本身就是由人自己总结开的,无法说出哪种最好。我这里只是尽量浅显通俗地说明变速的方法,这篇教程的目的是为了让那些根本不会变速的人快速了解,如果他们能自己总结出当然更好,如果自己没能总结出或者懒得总结的话拿就看看这篇。
如果是对于本身自己已经有一套变速的方法的话,其实还是用自己的方法比较好,没必要硬是去用另一种方法,达到效果就可以了,过程可以多种多样的,除非你真的很有兴趣全部去了解。

[ 本帖最后由 Freefire1943 于 2007-5-31 22:00 编辑 ]

我这里的bmp完全就是狭义地指代速度,而且它不需要单位,这样别人看了就不会搞混了,我没看懂你说的“BMP100分化到每个小格~所占的BMP是25~(100除以4)”,可能你跟我想的不一样,我这里既然把bmp作为速度来解,在这个理论里就不会存在bmp分化的问题了,bmp作为速度是不可被分割的,只有路程(也就是格子数)可以分化。
好比一个以10米/秒的速度跑100米的运动员,你只可能把100米分段去看他的跑动轨迹,不可能把他的速度也分割开(那个就是慢动作特技了)

那段距离我指的就是相邻两条小节线之间的距离。这里只是举个对准小节线的例子,其实在任何地方都可以变,因为有的地方的确是没法严格对准小节线的。

变速的取值肯定是有讲究的,这决定变速质量的好坏,至于怎么变最好也是个需要经验的问题,这个不在本文的内容之内。





另外,关于变速的问题也完全可能有好几种方法的,这本身就是由人自己总结开的,无法说出哪种最好。我这里只是尽量浅显通俗地说明变速的方法,这篇教程的目的是为了让那些根本不会变速的人快速了解,如果他们能自己总结出当然更好,如果自己没能总结出或者懒得总结的话拿就看看这篇。
如果是对于本身自己已经有一套变速的方法的话,其实还是用自己的方法比较好,没必要硬是去用另一种方法,达到效果就可以了,过程可以多种多样的,除非你真的很有兴趣全部去了解。

[ 本帖最后由 Freefire1943 于 2007-5-31 13:23 编辑 ]

TOP

我知道你的意思了,我刚才第一个例子没举好,那个只是随便写到的,平时我也从来不用的,看来的确也不能用,有问题的,只能先设计好路程,再设计速度,反过来的话就会出问题,因为速度的值可以是精确的,但路程(格子数)必须是整型的。

我改一下去~谢提醒

TOP

变速可以分很多不同的场合,性质会有不同的,我写的只是最一般的情况,

它假定了歌曲是匀速的,而且你本来已经对准了速度,只是在当中做点手脚。

如果把其他情况全考虑进去的话,需要的篇幅就大了,很多说到底是需要经验的。

说到你这种情况,开头的话,我习惯“速度逼近”法,也就是当中插很多不同的速度,一个比一个大,一方面缓冲速度,一方面微调能不能对齐节奏线。

中间的话一般情况下我也是习惯取一半值,这样省去很多麻烦,

[ 本帖最后由 Freefire1943 于 2007-5-31 13:53 编辑 ]

TOP

整数只是举个例子而已,非整数的算法是一样的,你这么一问的话,那我就再改一下吧~


改好了~

[ 本帖最后由 Freefire1943 于 2007-5-31 14:19 编辑 ]

TOP

这个问题的答案是不确定的,视情况而定

TOP

原帖由 蓝晶 于 2007-5-31 23:03 发表

按照BBN的话讲
BPM0.02的差别都会导致对音不准
0.01就问题不大了



关键看路程,路程越长越明显,如果很短的话那就无所谓了~

TOP

返回列表