Wacca自制創(chuàng)作
自制演示:

需要用到的工具有兩個(gè):
MercuryConverter:https://github.com/esterTion/MercuryConverter
MercuryPlayer:https://github.com/esterTion/MercuryPlayer
下載點(diǎn)右上角綠色的Code,選擇Download ZIP。
寫譜的時(shí)候,主要是使用記事本編寫,然后用converter對(duì)參數(shù)轉(zhuǎn)換,以及插值,轉(zhuǎn)換出來(lái)的成品通過(guò)player在瀏覽器中進(jìn)行預(yù)覽播放。
10月9日更新:
converter中包含了一個(gè)網(wǎng)頁(yè)文件,可以直接使用瀏覽器轉(zhuǎn)換譜面文件保存,支持拖入文件

自制譜格式
示例譜面
文件頭
#MercuryChart
為了轉(zhuǎn)換時(shí)識(shí)別,文件開頭必須為#MercuryChart。
偏移
#offset <偏移量>
譜面小節(jié)與音頻的偏移量,正數(shù)表示譜面提前,負(fù)數(shù)表示譜面延后。
bpm改變
#bpm 小節(jié) 位置 bpm數(shù)
(小節(jié)定位:基本所有的元素都要用的小節(jié)定位,格式我使用了小節(jié)+x分位的格式。)
小節(jié)節(jié)拍改變
#met 小節(jié) 位置 節(jié)拍分子 節(jié)拍分母
由于計(jì)算需要,變拍僅可在每小節(jié)的開始處。格式分子在前,如四三拍寫為3 4。
譜面流速改變
#sfl 小節(jié) 位置 流速倍數(shù)
支持驟停(0),倒退(負(fù)數(shù))等效果。示例:

譜面note
小節(jié) 位置 note類型 起點(diǎn) 長(zhǎng)度
note類型分為七種
t:touch(粉色)
c:chain(黃色)
i:snap in | 向內(nèi)劃動(dòng)(紅色)
o:snap out | 向外劃動(dòng)(藍(lán)色)
l:順時(shí)針slide,便于記憶標(biāo)記為下半部分左劃(橙色)
r:逆時(shí)針slide,便于記憶標(biāo)記為下半部分右劃(綠色)
h:hold,特殊格式見(jiàn)下方
以上note類型使用大寫字母表示對(duì)應(yīng)的R note。
note位置及長(zhǎng)度:wacca全屏總計(jì)60軌,以右側(cè)正中心為第0軌道,逆時(shí)針?lè)较蜻f增。即上側(cè)為15,左側(cè)30,下側(cè)45。
特殊note有三種
on:軌道演出效果,顯示軌道
off:軌道演出效果,隱藏軌道
end:譜面結(jié)束
軌道演出的額外參數(shù)有l(wèi)、m、r三種,控制過(guò)渡效果:
l為順時(shí)針?lè)较蝻@示/隱藏軌道(下半部分向左)
r為逆時(shí)針?lè)较蝻@示/隱藏軌道(下半部分向右)
m在顯示是為從中間展開,隱藏時(shí)為向中間收起
hold的分段格式
hold寫法為不同段拼接,每一個(gè)分段之間空格或tab隔開,分段參數(shù)用半角逗號(hào)隔開,如示例中的:
2?? ?6/8?? ?h?? ?0?? ?30?? ?3,0/8,30,20?? ?3,4/8,45,15?? ?4,0/8,75,15
表示從2小節(jié)6/8處開始的hold,開始時(shí)0軌起30寬度;3小節(jié)開頭處到達(dá)30軌起20寬度;3小節(jié)一半處到達(dá)45軌起15寬度;4小節(jié)開頭處到達(dá)15軌起15寬度。
為了表示方向,此處軌道起點(diǎn)超過(guò)了60,用來(lái)表示繼續(xù)逆時(shí)針?lè)较蛐D(zhuǎn)hold。
由于并沒(méi)有處理負(fù)數(shù),所以順時(shí)針旋轉(zhuǎn)的hold請(qǐng)把前面的起點(diǎn)加上60的倍數(shù)。
10月9日更新:
hold添加了曲線擬合參數(shù),在分段參數(shù)中追加第五個(gè)參數(shù)指定曲線類型。
曲線類型包含ci,co,cri,cro四種
ci和co分別為向前彎曲和向后彎曲,cri和cro則為加大彎曲程度的曲線。
如
1??? 0/4?? ?h?? ?41?? ?7??? 1,2/4,53,7,ci??? 2,0/4,41,7,co
為下半部分向右彎曲的半橢圓

進(jìn)行曲線擬合需要更新MercuryConverter

譜面轉(zhuǎn)換
要預(yù)覽自制譜面,需要將以上格式的譜面進(jìn)行處理。處理器需要安裝nodejs,然后在命令行中運(yùn)行 node convert.js 譜面.txt 譜面.mer 輸出處理過(guò)的譜面。
一般來(lái)說(shuō),嚴(yán)格按照格式的譜面是不會(huì)報(bào)錯(cuò)的,很多時(shí)候也不會(huì)報(bào)錯(cuò),只是轉(zhuǎn)換出一個(gè)數(shù)值異常的譜面。

譜面預(yù)覽及播放
譜面播放器為瀏覽器網(wǎng)頁(yè)繪制。如果出現(xiàn)無(wú)法加載的情況,請(qǐng)確認(rèn)使用最新版本的firefox、edge或chrome。
瀏覽器中打開MercuryPlayer下的BrowserNoEditor.htm,左下角分別為譜面文件選擇,音源選擇,流速控制,播放控制。

選擇譜面和音源后,點(diǎn)Load按鈕,然后就可以直接播放。

文章開頭的宿星審判自制譜的音源、譜面、處理后譜面均已放在MercuryConverter的example分支中,項(xiàng)目首頁(yè)也有鏈接。

截止10月9日已經(jīng)公開的自制視頻:
譜師:

譜師:Zaid_J

譜師:Clematis vs SZAN

譜師:雷陣雨

譜師:SZAN
