查看“︁aff谱面格式”︁的源代码
←
aff谱面格式
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于这些用户组的用户执行:*、
用户
您可以查看和复制此页面的源代码。
在本页面里并没有曲名、谱师之类的歌曲信息,请移步[[songlist]] 如果想更改关于解歌条件的部分,请移步[[unlocks]] 如果想更改曲包相关内容请移步[[packlist]] [https://tieba.baidu.com/p/5015977438 由259WA777撰写的谱面解析] 以下是在上述解析的基础上编写的. == 总论 == 谱面的后缀名为aff,所有官方谱面在apk安装包中并没有加密,可以直接阅读. 谱面所在位置为\assets\songs\(歌曲文件名)里,其中0,1,2,3分别对应PST,PRS,FTR及BYD.<s>其他的是什么东西自己打开便知道了</s> 理论上更改aff文件以及对应音源后重新正确封包即可游玩.<s>但鉴于lowiro原因这里不会表述关于封包的内容.</s> == 解析 == === 文件头 === 绝大多数谱面的开头都为以下两行代码 AudioOffset:x - *Audio Offset(int): 表示谱面整体往判定线后(-)/往判定线前(+)移动x毫秒 **推荐x=0,这样物件对应的毫秒数即为歌曲对应的音的毫秒数. **'''但是如果x≠0,物件对应毫秒数应为(音对应的毫秒数+x)''' 有的谱面会于AudioOffset下增加一行TimingPointDensityFactor参数,格式为 AudioOffset:x TimingPointDensityFactor:y - *Timing Point Density Factor(float): 长押判定点密度,参数y定义判定点密度为通常状态下的y倍 *y值过大会导致物量极高,且低帧率设备可能无法对长押物件正常进行判定 === Timing === Timing代码如下 timing(Offset,BPM,Beats); *Offset(ms): Timing起始位置,数字为整数 *BPM(拍/分钟): 节奏速度,数字为不可省略小数点后两位的一个数 *Beats(四分音个数(拍)): 表示每多少个四分音符(拍)为一小节,数字为不可省略小数点后两位的一个数,比如4.00就是4/4拍,四拍一小节 **'''需要注意的是一定有一个Offset=0的Timing!''' === 地面Note & 地面Hold === 地面Note & 地面Hold代码如下 (t,lane); hold(t1,t2,lane); *t(ms): 地面Note所在时间,数字为整数 *t1,t2(ms): 地面Hold物件开始/结束的时间,数字为整数,'''t1<t2''' *lane(1~4): 物件所在轨道,从左到右分别为1,2,3,4 === 虹弧Arc & 天空Note === 虹弧Arc & 天空Note代码如下 arc(t1,t2,x1,x2,slideeasing,y1,y2,color,FX,skylineBoolean); *t1,t2(ms): 虹弧Arc物件开始/结束的时间,数字为整数,'''t1可以等于t2''',当t1=t2时,虹弧为直角. *x1,x2(两位小数精度): 代表Arc物件开始/结束时的横坐标 *slideasing(b,s,si,so): 虹弧滑动方式.b=Both=Sine in & out,s=straight,si=Sine in,so=Sine out.'''当t1=t2时该参数无意义,<s>都是直的</s>''' **si与so可以两个在一起自由组合(如siso,sisi等),为不同方向上的变换效果 *y1,y2(两位小数精度): 代表Arc物件开始/结束时的纵坐标 *color: 虹弧颜色,0蓝,1红,2绿,'''在skylineBoolean=true时该参数无意义''' *FX(none,full,incremental): 目前尚未发掘出该参数的用途,已知本参数可以填none,full,incremental,可实际上填写时并没有区别,<s>lowiro模仿SDVX的证明(</s> *skylineBoolean(false,true): 判定这一段虹弧是不是天空Note的引导线.false不是,为普通虹弧;true是,为天空Note的引导线. **但是只要arc物件上挂载有arctap,本参数就无意义,该arc会强制变更为黑线</s> **当skylineBoolean=true,并且该引导线上有天空Note时,代码如下 arc(t1,t2,x1,x2,slidemethod,y1,y2,color,FX,true)[arctap(tn1),arctap(tn2),……,arctap(tnm)]; *tn1,tn2,……,tnm(ms): m个天空物件在这条判定线上的位置,数字为整数,'''t1≤tn1<tn2<……<tnm≤t2''' *arc语句中,x1 x2 y1 y2参数可以超出屏幕实际显示范围 *同时多根虹弧确认可行 === camera === 位置在第一个Timing语句下方,'''不混杂在真正note语句里''',按时间顺序排列,用一个空行与真正note语句分开 camera(t,transverse,bottomzoom,linezoom,steadyangle,topzoom,angle,easing,lastingtime); *t(ms): camera开始时间 *transverse: 轨道底部左右横向移动,正←负→. *bottomzoom: 轨道底部上下移动,正↓负↑ *linezoom: 判定线前后移动,正远离负靠近 *steadyangle(°): 原地的摄像头视角转向,正逆时针负顺时针 *topzoom: 轨道顶部的上下移动,正↓负↑ *angle(°): 底盘依照屏幕中心旋转,正逆时针负顺时针 *easing(qi,qo,l,reset,s): cubicin,cubicout,line,reset,sinein&out *lastingtime(ms): 本语句持续时间 === Timing Group === timinggroup(){ //常规aff语句 }; *每一个timinggroup语句块中的语句使用其内部单独的timing语句'''(并需要含有一个Offset为0的timing)''',因此可以实现同时刻不同note流速。 *timinggroup语句块中的timing语句不会产生小节线。 *一张谱面理论可以存在无限多个timinggroup语句块。 如果需要用假note达成一些演出效果,可以在括号中添加noinput参数: timinggroup(noinput){ //常规aff语句 }; *此时本timinggroup内的物件只有显示效果,没有判定和物量 === scenecontrol === scenecontrol(t,type,x,y); *t(ms): 场景开始时间 *type: **trackhide: 隐藏轨道 **trackshow: 展示轨道 **redline: Arcahv解锁表演时的背景红线效果 **arcahvdistort: Arcahv解锁表演时的背景变形效果 **arcahvdebris: Arcahv解锁表演时的背景碎片效果 *x(float): 语句效果经过/持续时间(单位:秒) *y(int): 不透明度(0为不显示,255为全显示) **当type指定为redline时y参数无效(但是参数依然存在)。 === Flick === 代码如下: flick(t,x,y,vx,vy); *'''t'''(ms): Flick所在时间 *'''x,y''': Flick初始位置的横、纵坐标,'''数字为不可省略小数点后两位的一个数''' *'''vx,vy''': Flick滑动方向向量的横向、纵向值,'''数字为不可省略小数点后两位的一个数''',实际滑动方位角为正右方基础上逆时针arctan(vy/vx) *'''官方谱面目前还没有实装过Flick,请谨慎使用Flick''' == 物量估算 == '''2019/1/7 已修正''' 有的时候我们并不能玩到自制谱面,这个时候我们可以通过以下方式估算本谱物量: *统计所有地面note和arctap数量,每统计一个+1 *Hold物件逐个计算,每个hold被起始位置所在BPM的osu 1/4拍(也就是SDVX的1/16小节)分成一个一个判定块,'''每个判定块开始处物量+1'''。 **特殊的,每个Hold最后一个判定块不加物量 **BPM>255时,判定块间隔变为所在BPM的osu 1/2拍(也就是SDVX的1/8小节) **BPM≤0时,'''本物件不存在''',更无从谈及物量 **当Hold长度短于本来的判定块长度时,整个物件对半分为两个判定块('''无论如何最后一个判定块不计入物量''') *Arc物件与Hold相同,'''注意每个蛇单算''' **直角Arc不+1 ''需要指出,Hold和Arc可能会出现误差,原因在于末尾处可能刚好超过计数点零点几毫秒,不过即使如此误差总计也不会超过100.''
返回
aff谱面格式
。
导航菜单
个人工具
创建账号
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
设置
查看历史
更多
搜索
导航
首页
按版本排列(Version)
按版本排列
Qubell
prop
saucer fulfill
saucer
copious (APPEND)
knit (APPEND)
ripples (APPEND)
無印
按難度排列(Level)
按難度排列
LEVEL 10
LEVEL 9
LEVEL 8
LEVEL 7-
其他链接
atwiki
最近更改
随机页面
工具
所有页面
文件列表
页面信息
特殊页面