om紅線sv制作入門(mén)(節(jié)拍線特效3:多條小節(jié)線的幀動(dòng)畫(huà))

本節(jié)內(nèi)容是節(jié)拍線特效的最后一節(jié),下一節(jié)會(huì)講一些note特效。節(jié)拍線特效還有一類(lèi)類(lèi)似singularity休息段,以及the solace of oblivion次難度的3:50:137這種,我覺(jué)得我講也講不清,你們想學(xué)的自己去看譜體會(huì)吧。
本節(jié)內(nèi)容承接前兩節(jié),前兩節(jié)沒(méi)看或者沒(méi)弄懂的不建議來(lái)研究這一節(jié)。
?
1.????? 傳統(tǒng)純紅線
backbeat maniac結(jié)尾面條,兩條閃爍的線緩緩相聚,最后匯合并落下。下面是第二組紅線的截圖。

每一毫秒的畫(huà)面如下:
3:34:981 這一組開(kāi)始節(jié)拍線在判定線處,該線是3:34:981自身的線
3:34:982 無(wú)(屏幕外)
3:34:983 節(jié)拍線在距離判定線85的位置,該線是3:34:984的線。
3:34:984 節(jié)拍線有兩條,一條在判定線處,是3:34:984的線,一條在距離判定線79898的位置,該線是3:34:987的線,
3:34:985 同3:34:984
3:34:986 同3:34:984
?
3:34:987 下一組開(kāi)始,同3:34:981。
?
綜上,該組紅線共6ms,對(duì)應(yīng)的節(jié)拍線出現(xiàn)的位置與時(shí)長(zhǎng)為:
判定線處:4ms
85:1ms
79898:3ms
?
也就是說(shuō),在游戲效果里,下面那一條線只有1/6的時(shí)間是存在的,所以在游戲中它閃爍得很厲害,如果不是因?yàn)樗\(yùn)動(dòng)得很慢,閃爍成這樣是認(rèn)不出來(lái)的,上面那條線有1/2的時(shí)間是存在的,閃爍得不那么劇烈。歸根到底,就是上下兩條線極高速地交錯(cuò)出現(xiàn)。
也可以直接用第一篇里面的紅線幀動(dòng)畫(huà)的格式來(lái)寫(xiě),單數(shù)幀寫(xiě)一條節(jié)拍線,雙數(shù)幀寫(xiě)另一條節(jié)拍線,效果一般會(huì)更好一點(diǎn)。
?
2.????? 紅綠結(jié)合
這里給出我自己的譜面作為參考:datoujia – the sundering
https://osu.ppy.sh/beatmapsets/1053305#mania/2201120
講之前,更新一下序言里面的第八條特性。準(zhǔn)確地來(lái)說(shuō),紅線會(huì)讓該時(shí)間點(diǎn)的前1ms內(nèi)的所有節(jié)拍線隱藏(包含1ms)。
看1:21:063,下面是第二幀。

在這個(gè)483870.968這個(gè)bpm下,每拍0.124ms。在實(shí)際操作的時(shí)候,很容易發(fā)現(xiàn)記事本里面紅線BPM對(duì)應(yīng)的值就是每拍的時(shí)長(zhǎng),我在記事本直接填0.124,這樣的話,在1:21:073(不含)~1:21:074(不含)這段時(shí)間內(nèi),共有8拍,因?yàn)镸eter是1/4,所以就會(huì)有8條小節(jié)線,然后,通過(guò)控制綠線倍速(可以精確到小數(shù)點(diǎn)后很多位),就能控制這些節(jié)拍線的空間距離(不懂的回去看前面)。
?
這樣,每一毫秒的畫(huà)面如下:
1:21:065~1:21:073:8條小節(jié)線加上1條在判定線上的小節(jié)線
1:21:074:8條小節(jié)線全部掉下去,消失不見(jiàn),在10x綠線的作用下,后面的小節(jié)線在屏幕外很遠(yuǎn)的位置。
1:21:075:下一幀開(kāi)始。
?
這種方法每幀只有1ms是不顯示線的,基本消除了閃爍情況。如果我們把BPM改到最高1000000,每拍0.06ms,就可以在1ms里塞最多16條節(jié)拍線。
2020/7/24更新:不知道從什么時(shí)候開(kāi)始o(jì)su可以正確識(shí)別超過(guò)1000000bpm的紅線了,但改太高會(huì)卡乃至crash,具體上限是多少我懶得測(cè)。根據(jù)evening那邊的經(jīng)驗(yàn),5000000bpm以?xún)?nèi)比較穩(wěn)定。3000000bpm下已經(jīng)能在1ms內(nèi)塞50條小節(jié)線了,基本能滿(mǎn)足正常的需求。1000000bpm有優(yōu)越的穩(wěn)定性,editor界面完全崩潰的概率也更小。如果不需要超過(guò)16條小節(jié)線,1000000bpm仍是一個(gè)優(yōu)先級(jí)很高的選擇。

?
進(jìn)階:用記事本打開(kāi)osu文件,翻到103289時(shí)間處。那里的幀動(dòng)畫(huà),各條節(jié)拍線各自做獨(dú)立的運(yùn)動(dòng)。

原理很簡(jiǎn)單,每0.08ms一拍,在每個(gè)節(jié)拍線的位置種一課綠線,來(lái)調(diào)整該節(jié)拍線到下一條節(jié)拍線的空間距離。就像你在做綠線sv一樣,想象103299.08和103299.16各有一個(gè)note,在103299.08種的綠線越大,兩個(gè)note距離就越遠(yuǎn)。
可以通過(guò)將每行最后一個(gè)數(shù)字改成8來(lái)隱藏判定線處的小節(jié)線。
?
?
3.????? 兩種方法各自的優(yōu)劣
純紅線可以直接允許兩條線的距離無(wú)窮小,允許線到判定線的距離為無(wú)窮小。
純紅線雙節(jié)拍線伴有強(qiáng)烈的閃爍,三條節(jié)拍線以上基本已經(jīng)接近不可讀。
紅綠允許在不閃爍的條件下同時(shí)非常多條獨(dú)立的節(jié)拍線。
紅綠兩條節(jié)拍線線之間的空間距離最小為0.01x綠線。
?
全部理解以上內(nèi)容,自己可以做出簡(jiǎn)單的多節(jié)拍線幀動(dòng)畫(huà),可以找我要幀動(dòng)畫(huà)excel生成器。生成器很方便但并不完美,你不理解文章就很難用。未來(lái)可能會(huì)改寫(xiě)為程序。