欢迎光临散文网 会员登陆 & 注册

Arcaea 自制谱面 | 学习笔记

2023-01-15 20:16 作者:-Arctica-  | 我要投稿

0 写在前面

仅作为近几天的学习记录.


I 图形化制谱工具

关于 Arcade 的使用请参考: https://note.com/nesiddo/n/nd54c0c766c8a


II 准备音频

下载等待制谱的音乐文件, 导入 Adobe Audition 进行编辑. 音乐时长应控制在 2 ~ 3min, 音乐开始前建议有 1000ms 左右的静音.

音频导出为 OGG 格式, 加载 Arcade 谱面后调整延迟, 使得第一条网格线与音乐第一拍重合.

建议开启打击音效, 这样更易判断采音是否准确.


III 关于采音

音频准备完成后 (确保延迟 < 10ms) 就可以开始采音工作了. 通常先用 tap 采完全曲的音 (可用不同轨道代表不同音高或音色), 后进行排键配置. 采音常常具有高度的对称性.

Arcade 中节拍细分默认为 4, 即 1/4 拍的 16 分音. 大部分的歌曲都是 4 拍, 少数如 To: Alice Liddell 属于 3 拍.

一般而言, 舒缓的音色 (例如和弦) 和慢速过渡的节奏 (例如吟唱) 适合采用 arc 和 hold, 而激烈的音色 (例如鼓) 和快速激昂的段落 (例如钢琴华彩) 适合采用 tap 和 arctap. 如果根据节拍强弱来分类, 那么 arctap < tap < 双押, 部分采音也可以用黑线代替. 

请一定避免虚空采音.


IV 常见键型

交互

直交互 (交互线平行于轨道)

Heavensdoor
Conflict

斜交互 (交互线倾斜于轨道)

Climax
Sheriruth

位移交互 (交互线不固定, 也称散打)

Pupa
Black Lotus

三角交互 (三个音为一组)

Antagonism

2+2 交互 (天-天-地-地)

Alexandrite

1+3 交互 (天-地-地-地)

Halcyon

纵连

Grievous Lady

叠键

Infinity Heaven


双押 (多押)

单点双押交替

Cyaegha

快速多次双押

Ringed Genesis

多押

Ether Strike
World Vanquisher


V 关于黑线

黑线的作用有二: 引导和表演.

除去顶角为起点的 arc, 所有 arc 必须由黑线引导. Arctap 也必须出现在黑线上.

黑线常常有三种来源: 一个点, 一段 arc, 或一个图案.

起始于点
终止于 arc
特殊图案

事实上除黑线外, 黑线的投影以及 arc 的投影线也可以绘制图案.


VI 谱面特效

变速

Timing 函数的 BPM 参数可用于改变谱面流速. 

例如希望将 BPM 从 100 上升至 200, 可以写为

timing(0,100.00,4.00);
timing(250,125.00,4.00);
timing(500,150.00,4.00);
timing(750,175.00,4.00);
timing(1000,200.00,4.00);

写为多个 timing 的优势是谱面流速变化更为平滑.


如果将 BPM 短暂设置为 0, 那么将产生停顿效果, 例如 Sheriruth

timing(85297,0.00,4.00);
timing(85459,370.00,4.00);
arc(85459,85621,0.00,0.00,s,1.00,1.00,0,none,true);
arc(85459,85621,1.00,1.00,s,1.00,1.00,0,none,true);
timing(85621,185.00,4.00);

请注意停顿后应将 BPM 短暂调为双倍原速, 否则会很难看.


在 Nhelv 的谱面中出现了逆行

timing(138838,-32.74,3.00);
timing(141072,174.59,3.00);

短短两行就可以实现效果.

不过如果写下例如

timing(0,100.00,4.00);
timing(1000,-100.00,4.00);
timing(1750,100.00,4.00);
timing(2000,100.00,4.00);
(2000,4);

会发现 note 在逆行前穿过了判定线. 怎样办呢?

考虑 note 的判定时间是固定的, 我们从 timing 2000 倒推. 逆行的时间有 750ms, 而顺行的时间仅有 250ms, 那么需要将 timing 1750 的速度至少调整为 300.00 就可以避免.


在 Stasis 的谱面中, 有一段结束后突然凭空出现很多音符, 这可以通过瞬间提升流速实现

timing(21333,999999.00,999999.00);


在 Fracture Ray 的爆发段前, 轨道上的小节线变得非常密集, 这可以通过降低拍号实现

timing(102900,200.00,0.10);


6k

Scenecontrol 中的 enwidenlanes / enwidencamera 函数可用于实现 6k

(timing,enwidencamera or enwidenlanes,转换持续时间,0 或 1);

例如

(2000,enwidencamera,2000.00,1);
(2000,enwidenlanes,2000.00,1);

开启 6k 后, 原本梯形域范围 (-0.5,0), (0,1), (1,1), (1.5,0) 转变为 (-1,0), (-0.25,1.61), (1.25,1.61), (2,0). 6k 时所有天空中 arctap 的高度应保持在 1.61.


伪键

Timinggroup (时间组) 就像是板绘中的 "图层", 可以在不同时间组中添加 note, 对任一时间组操作只会影响该时间组中 note 的行为.

定义 timinggroup 时加入 noinput 参数可以产生 "伪键" 效果, 也就是无需点击且不计入判定的 note

timinggroup(noinput){}

例如

timinggroup(noinput){
  timing(0,200.00,4.00);
  arc(2000,2001,0.25,0.25,s,4.00,4.00,0,none,false);
  arc(2000,2001,0.75,0.75,s,4.00,4.00,1,none,false);
}


虚化

Scenecontrol 中的 trackshow / trackhide / trackdisplay 能够控制轨道透明度

(timing,trackhide or trackshow);
(timing,trackdisplay,转换持续时间,0 - 255);

例如

scenecontrol(2000,trackdisplay,0.30,200);
scenecontrol(3000,trackhide);

Scenecontrol 中的 hidegroup 能够控制 note 的透明度

(timing,hidegroup,0.00,0 - 255);

例如

scenecontrol(2000,hidegroup,0.00,200);
scenecontrol(3000,hidegroup,0.00,0);


课后练习

介绍了这么多特效.. 做一些题目巩固一下自己吧.

Qn1  请写出一个 tap, 满足以下条件:

1) 突然出现;

2) 突然消失;

3) 定在原地;

4) 它不能被判定, 即 "伪键".


Qn2  请写出如下配置:

1) 6k;

2) 镜头拉宽;

3) 一个 arctap 逆向到达判定线;

4) 判定前有 arctap 的黑线轮廓提示.


Qn3  请写出如下特效:

1) 一个 tap 到达判定线并被判定;

2) Tap 被弹起后再次到达判定线, 共计两次判定.


参考答案

Sol1

timinggroup(noinput){
  timing(0,200.00,4.00);
  scenecontrol(0,hidegroup,0.00,0);
  scenecontrol(1000,hidegroup,0.00,255);
  timing(1000,0.01,4.00);
  timing(2000,200.00,4.00);
  (2500,1);
  scenecontrol(2000,hidegroup,0.00,0);
};


Sol2

timinggroup(){
  timing(0,200.00,4.00);
  scenecontrol(0,hidegroup,0.00,0);
  scenecontrol(0,enwidenlanes,900.00,1);
  scenecontrol(0,enwidencamera,900.00,1);
  timing(900,-200.00,4.00);
  scenecontrol(900,hidegroup,0.00,255);
  arc(1000,1001,0.00,0.00,s,1.00,1.00,0,none,true)[arctap(1000)];
};
timinggroup(){
  timing(0,200.00,4.00);
  arc(1000,1000,-0.25,0.25,s,1.06,1.06,0,none,true);
  arc(1000,1000,-0.25,0.25,s,0.94,0.94,0,none,true);
  arc(1000,1000,-0.25,-0.25,s,0.94,1.06,0,none,true);
  arc(1000,1000,0.25,0.25,s,0.94,1.06,0,none,true);
  arc(1000,1020,-0.25,-0.25,s,0.94,0.94,0,none,true);
  arc(1000,1020,-0.25,-0.25,s,1.06,1.06,0,none,true);
  arc(1000,1020,0.25,0.25,s,0.94,0.94,0,none,true);
  arc(1000,1020,0.25,0.25,s,1.06,1.06,0,none,true);
  arc(1020,1020,-0.25,0.25,s,1.06,1.06,0,none,true);
  arc(1020,1020,-0.25,0.25,s,0.94,0.94,0,none,true);
  arc(1020,1020,-0.25,-0.25,s,0.94,1.06,0,none,true);
  arc(1020,1020,0.25,0.25,s,0.94,1.06,0,none,true);
};


Sol3

timinggroup(){
  timing(0,200.00,4.00);
  (1000,2);
  (2000,2);
  timing(1000,-175.00,4.00);
  timing(1125,-135.00,4.00);
  timing(1250,-75.00,4.00);
  timing(1375,-37.50,4.00);
  timing(1500,37.50,4.00);
  timing(1625,75.00,4.00);
  timing(1750,135.00,4.00);
  timing(1875,175.00,4.00);
  timing(2000,200.00,4.00);
};


Arcaea 自制谱面 | 学习笔记的评论 (共 条)

分享到微博请遵守国家法律