om紅線sv制作入門(節(jié)拍線特效2:密集小節(jié)線)
這一章比較簡單,不需要邊開editor邊看。
我有時候會說小節(jié)線,有時候會說節(jié)拍線,這兩個是同一個東西。
大多數(shù)情況下,譜師通過寫大量小間距的紅線來創(chuàng)造密集節(jié)拍線的效果,通常間距在2ms~10ms。Singularity整個譜隨處可見這樣的用法。但現(xiàn)在osu可以讀0.01x的綠線,這為我們提供了另一種思路。
在沒有紅線重置節(jié)拍線的情況下,默認紅線meter為4/4時,每4拍為一個小節(jié),即每4拍一條小節(jié)線。當(dāng)meter為1/4時,每1拍為一個小節(jié),每1拍就有一條小節(jié)線。要讓節(jié)拍線盡可能密集,先把meter設(shè)為1/4。
我們先試著從紅線下手。把紅線值翻倍,這樣每分鐘節(jié)拍數(shù)就翻倍,每分鐘出現(xiàn)的節(jié)拍線數(shù)量也翻倍,假如原來兩條線的間隔是200ms,現(xiàn)在就變成了100ms。但是,與此同時,紅線值翻倍也意味著下落速度翻倍了??臻g距離=速度*時間,時間減半,速度翻倍,兩兩相抵,空間距離不變,我們不會直觀地感覺到節(jié)拍線變密。但如果直接將譜子的基準bpm(osu會把最長的紅線區(qū)間對應(yīng)的bpm當(dāng)做基準bpm)翻倍,用通配速游玩,下落速度就不會變化,節(jié)拍線空間距離就會變小。但這樣要動到基準bpm,除非萬不得已,否則不要用這種方式,下文也不會再考慮這種情況??梢运伎家幌逻@種方式的弊端。
那讓我們?nèi)恐貋?,試著從綠線下手。把綠線值減半,下落速度就減半。空間距離=速度*時間。因為紅線沒變,所以節(jié)拍線的時間間隔不變,那么空間距離就相應(yīng)地減半了。我們可以直觀地感受到,節(jié)拍線變密了。代價就是下落速度變成原來的一半。但請注意前面講過的,改變紅線值不會改變節(jié)拍線的空間距離。那我們在此基礎(chǔ)上,翻倍紅線,這樣下落速度紅綠相抵,又正常了。如果我們不滿足于此,綠線寫0.01x,紅線翻100倍,
這樣,我們就能在不改變下落速度的條件下,寫出非常密集的節(jié)拍線。當(dāng)然,下落速度也是可以改變的,紅線不一定要和綠線相抵。
這種方式具有傳統(tǒng)方式不具備的優(yōu)點:
1.簡潔。傳統(tǒng)方式需要寫成百上千條紅線,這種方式只要一條紅線和一條綠線。
2.傳統(tǒng)節(jié)拍線時間間隔必須>1ms(可以是1.01ms),而這種方式可以寫出間隔小于1ms(低至0.06ms)的節(jié)拍線。舉個例子,如果我想要讓屏幕上密集的五十條紅線瞬間消失,傳統(tǒng)方式是不可能的,因為至少需要50*1=50ms。而用這種方式,只需要(60/1000000)*50=0.003s=3ms。與幀動畫結(jié)合的時候,這種方式能發(fā)揮不可替代的作用。
但這種方式也有一定的缺陷,最明顯的就是節(jié)拍線最小空間距離不夠小。在允許低速下落的條件下, 傳統(tǒng)方式能寫出空間距離極小,視覺效果極密的節(jié)拍線(例:aleph0結(jié)尾面條),而這種方式無法實現(xiàn)(除非以后osu能讀更低的綠線值,到0.001x的效果就很理想了,0.01x還有其局限性)
aleph0開頭崩壞的那兩坨密集小節(jié)線就是這么來的,以前最低0.1x的時候不夠密,現(xiàn)在夠密了(((((