【歌姬计划AFT】移植PPD谱到AFT
专栏中提到的工具下载地址(已补上遗漏的divamods_ppd.txt):
https://wwe.lanzoui.com/b01hklvfg
密码:8yv5
注意,这个专栏主要只是导航和个人遇到的一些问题的总结,有关如何移植PPD谱,不会特别详细的讲解
前排提醒,PPD谱移植到AFT目前的情况是:除非原谱师在AFT写谱,否则部分谱面无法还原到最高的程度(不限于是否使用了脚本的谱面)
首先你得了解下PPD到底是啥
龙崎大佬的PPD安装教程:【教程】project project dxxx安装教程
移植到PPD目前有两种方法:
第一种是手动添加
首先是转换谱面,你需要去下载一个叫PpdCancer的工具将谱面转换,然后参考各路大佬的添加歌曲教程即可
下面会贴上大佬们的教程链接
英文教程:https://pastebin.com/By02n2c4
David-Max的视频教程(如何移植谱面到AFT):BV1xE411N7S1
Leua的UPDC使用教程:BV1s7411o7B1
缺点是操作相对复杂
第二种是直接用旧版divamods打包(图你还是得自己做的),操作比较简单

要转换谱面只需要把PPD谱面文件夹放到这个ppd文件夹里,然后运行bat文件即可自动转换

然后你要做的就是修改pv_db.txt文件,设置好bpm这些东西(后面会附上注释图),做好封面图
设置好后,将divamods和exe程序一起放到游戏目录,运行
(第一次会让你输入AGREE然后按回车同意协议,后面就不会了)
程序会自动生成一个叫M999的文件夹在mdata里面,这样就行了
(如果出现报错,请检查你的mdata文件夹里是否有官方的所有更新包,这里不会提供更新包)
你不会用的话,在网盘里有一份我转好了的谱面,可以尝试着用divamods工具生成M999做实验
缺点是对MEGA这种MOD兼容性不太行,软件本身在某些电脑会报错啥的(我是没报过错就是了)
然后是关于pvdb的一些修改:
先符上一份我修改好了的pvdb


BPM:大部分情况下,影响note飞入速度的就是这个设定了。如果填写错误打着会很不舒服
(这个建议是看PPD曲包的data.ini文件,你可以手测或者用软件测)
level:
设定难度,比如图里那个ex难度设置的就是9.5,也就是PV_LV_09_5
如果设置难度为8.6之类的,会没有星数标识
script_file_name:
设定这个难度对应的谱面文件,要注意只能使用英文名给谱面文件命名
lyric:
歌词,需要注意的是歌词顺序是从000开始
movie_file_name:
设定这首歌对应的视频文件,建议转成无声视频,与谱面文件一样只能用英文名
movie_surface:
设定视频播放位置,PPD全是视频,直接照抄写成FRONT即可
song_file_name:
设定这首歌对应的音频文件,与谱面文件一样只能用英文名
song_name:
设定歌曲名称
sabi.play_time:
设定歌曲在选歌界面预览播放时播放多久
sabi.start_time:
设定歌曲在选歌界面预览播放时从哪开始播放
performer.0.chara:
设定推荐模型角色,初音为MIK,镜音分别为RIN和LEN,luka为LUK,大哥为KAI,大姐为MEI
performer.0.pv_costume:
设定角色具体模型,编号可以在debug模式里查到
performer.0.type:
设定角色是否会显示在推荐模型框里面,移植PPD因为是视频,直接设定VOCAL就行
需要注意的是,在AFT里VOCAL不能超过3个
performer.num:
设定角色模型总数
接下来才是我想说的:谱面的选择与简单修复
首先,PPD并不是就只有AC或者ACFT谱,前作系统的谱也是有人写的
如果你啥也不看就直接移植,长按会变成hold
这样的话实际打的时候会出现一些奇奇怪怪的发光NOTE,或者长按变HOLD导致缺音
这个识别倒有个很简单的办法:直接看歌曲的标签就知道了

补充一句:有些谱是FT风加上前作的长条,这种一样不建议移植,他的简介里会有什么CSLongNote啥的,这点请务必注意
转换完毕后,不管是哪种方法都不是随随便便设定下谱面文件就完事了:你还得设置BPM

BPM可以手测(有网页可以测),可以用软件测
不过都没你直接看PPD曲包的data.ini文件来的快

就算以上这些,你都想到了,也早就去做了,也没完:有些PPD谱转出来会向后偏移
这个偏移很头疼,它并不会在所有转换了的谱面中出现,也没有规律,但是你实际打的时候就是有偏移的感觉
而且明明也照着data.ini改了,依旧会有概率出现这种问题
这时候别无他法,只能亲手慢慢剪辑,不断校准了
以上就是移植的时候比较常见的一些问题了
接下来的是更头疼的修复:
比如Blizzin写的紅一葉:
https://projectdxxx.me/score/index/id/50303ef1b9c3a5bda7632ff7aebaa312
这是直接转换后的样子

观感上相当的混乱,读谱也很困难
那么,这是谱师写谱的失误吗?
其实并不是的,让我截下Blizzin的自动演示视频



可以看出,在PPD里,这个谱是没有问题的(不相信的话可以亲自下好去看看)
那么,到底是什么原因才导致出现了上面这种鬼畜问题呢?
让我们打开AFT的谱面编辑器——UPDC看一下

划红线的部分是BPM变速的标识,可以看到这里出现了相当多的变速
在PPD中,飞入速度是可以调整的。这个谱在这段其实bpm在慢慢的减速,但是Blizzin使用了脚本或者别的东西调整了飞入速度和note的出现时机,这样的话就不会让谱面看起来很乱
但是aft没法直接转换......就成那个鬼样子了
要想直接修改bpm手动修复也是很蛋疼的一件事:看图也知道究竟出现了多少次变速,需要进行多少次微调
这种情况最好的办法就是:放弃移植。
如果你不放弃的话,就只有人工调整下谱面排列位置来稍微减轻读谱的困难程度了
(当然,实际打的时候违和感是肯定有的)

(后记:不嫌麻烦的想要修这玩意可以看看第三种问题后面提到的修正变速办法来处理)
第二种问题是note重叠:
这里拿真咲さん的クノイチでも恋がしたい来说明:
https://projectdxxx.me/score/index/id/bb64207829411e95062c9964d32d868f

在编辑器里看,这里似乎并没有啥毛病
那么让我们导入游戏看看

看,问题出现了:向左的长条莫名其妙的出现了一些单划音符
这种问题目前猜测是因为AFT本身无法正常读取这种出现note重叠的长条。
要修复也简单,把长条缩短就行了

第三种问题是组曲中常见的note飞入变速
这里拿Fran的れるりりメドレー 来说明:
https://projectdxxx.me/score/index/id/76d51d1f573252426f2ef873e215c6a4
首先这首歌是有变速的,在曲包里的data.ini也有写

按常理,像这种变速都是在谱子里某一段设置一个新的BPM
然而,当你转出来的时候可能是这样子的

可以看到转出来的谱并没有重设BPM,原因也很容易猜出来:多半又是只改了飞入速度
那么解决办法也很明显了:修改飞入速度
首先是去测变速部分的BPM,这首歌我测出来发现加速部分正好就是190左右
然后选中要修改的note,按下tab键切换模式

记录下现在的Amplificatude和Distance

拿出计算器,分别将这两个值除以初始BPM再乘以加速段的BPM

将算出来的Amplificatude和Distance填到要修改的note那就好了

要注意的是:多压的飞入速度与单note是不一样的,千万不要偷懒一股脑填进去
啥?你嫌麻烦?自己想想怎么利用UPDC和ScriptEditor提高效率
在这里简单提下变速note的正确调整方法(包括上面提到的红叶依然可以使用此法修正排版问题):
使用ScriptEditor打开谱面,找到变速的地方(可根据udpc寻找到大概值)
将TARGET_FLYING_TIME里的数字除以初始BPM再乘以加速段的BPM并保留整数
把TIME里的数字加上去TARGET_FLYING_TIME调整后与原来相比的差值(如果数值变大则为减)
保存,在不使用UDPC打开的情况下打包谱面即可
这样弄出来的note不仅飞入与bpm对应,note显示时间也一样对应
而红叶那种note显示时间与飞入速度不对应的谱子就需要udpc作辅助,ScriptEditor来修改修正了
无论修复效果好坏,这已经是我目前所知道的aft谱能还原的特殊效果的极限了
(注:由于UDPC会自动纠错,导致这种特殊变速的谱放到UPDC里读一下就直接给你改了,所以只能使用ScriptEditor来修改)
由于这个方法太过复杂,工作量也太大,所以并没有配图,如果有人知道提高效率的办法请务必告诉我
第四种问题是:note排序前移过于严重导致飞入速度异常
这里拿真咲さん的エレキキュレーター举例
https://projectdxxx.me/score/index/id/5b6de3df458abcfb3dfbe97100fd72e8
转好铺面后打开,你会发现note居然在UPDC禁止编辑区就出现了

而在禁止编辑区写note会怎样呢?我先告诉你们结论:会让note飞入速度从极快逐渐变慢到正常速度
这时候很容易想到的第一种修复方法就是:直接修改note的飞入速度
这个理论上的确是可以做到的,根据note在禁止编辑区的几分线上,然后重写Amplificatude和Distance即可

你以为这样就能解决了吗?当然不
让我们就这样保存然后导入游戏看看

大 惊 喜!居然变成了多压!
这是因为UPDC在保存为AFT格式的时候,他会强行把在禁止编辑区域的note移动到可编辑区域的边线上去
这时候有看过第三个问题解决办法的人可能就想到了:我可以利用ScriptEditor啊
是的,确实可以。实际上我修的第一版就是这样做的
我们先在UPDC里保存为txt格式,然后在ScriptEditor里打开
(没保存成txt格式也行,方法是一样的)
然后用ScriptEditor同时打开修改过的谱和没修改过的谱

左为修改过note速度的谱,右为想要修正的谱
在不可编辑区的note他的时间轴是负的,根据这个规律按顺序修改原谱负时间轴的TARGET信息即可
这样修的好处是:不需要重改音源啥的
坏处,同样也是这个谱我不得不面对的问题:note如果过于提前,由于实际玩的时候aft有段白屏时间,给玩家读谱的时间实在是太少了,会被玩家毒打的
因此我又想到第二个方法:整体偏移
如下图所示,将可编辑区域的note整体前移,具体前移多少根据不可编辑区第一个note要移动多少才能到可编辑区边线上为准

保存为txt格式,用ScriptEditory同时打开原谱和修改过的txt格式的谱面文件
接下来是最重要的一步:将原本在不可编辑区域的note时间轴时间(TIME)根据改后的谱note时间轴与原谱note时间轴之差,按时间轴顺序重写
图里我已经修改好了并手改了一些没卵用的东西(请勿学习x)

保存为AFT的铺面文件格式,拿出你的视频编辑器或者黑屏素材,重新修改音源偏移即可完成修复工作
优点:完美解决读谱难题
缺点很明显:要修视频和音源的时长,很烦人
还有些问题就比较容易解决了:
添加歌词:自己动手在PPD曲包的kasi.txt添加歌词时间轴后跟着转换即可
啥?懒得自己校对?自行下载歌词文件稍微修改下时间偏移,改下格式不就好了吗
如果歌词文件也有偏移,你可能需要类似Lrc歌词编辑器之类的工具弄一下一键修改偏移再移植

结尾出现黑背景与角色模型:使用UDPC修改结束时间轴即可
开头出现黑背景与角色模型:在排除视频编码问题的情况下(比如使用H264二次编码来压制视频啥的),稍微在开头加一点点黑屏画面即可
滑条断开,NOTE出现偏移:利用PPD自带的编辑器谱面来参考,手动用UPDC修复即可


用UDPC修复完谱面后歌词不见了:使用ScriptEditor对比没修过的谱手动添加歌词

大致说明下:LYRIC括号里第一个数字代表着pvdb里的歌词编号,第二个数字不用管,TIME是时间。比如TIME(532593)代表着5.32593秒处
长条连接线问题(如图所示):无解(第一张是PPD,第二张是AFT)


最后是我个人的一些想法了:
选歌的时候一定要自己打一遍:
这点非常重要,PPD谱毕竟谁都能写谱传上去,质量参差不齐的情况也是很常见的。甚至有那种抓音都不知道抓些什么鬼的玩意在里面。就算开完奏也好,请一定要自己打一遍再发布
移植的时候,尽量使用谱师给的PV:也许谱师给的PV更糊,但是有些谱面是要根据画面和歌词来巧妙的排列note的,你替换掉了反而就不好看了

PPD转AFT的时候,声音文件应该减少50%的音量:这就只是我个人经验了,大部分PPD谱直接转AFT后会出现声音过大让NOTE音效显得很小声的问题。不过声音本来就小的PPD谱除外
发布前要写明谱师是谁:这是对谱师最基本的尊重,本来你就在别人没有允许的情况下移植了谱面,你如果还不写明谱师是谁,谱师最基本的尊严又去哪了对吧?
能不改谱面就不改谱面:比如长条过长问题,毕竟原谱师这样写肯定有他的用意所在,改了可能就达不到他想要的效果了。如果真找不到别的谱子又很想移植这个谱面,没办法,只有自己改了
大概就这些了,如果有什么写错的地方可以在评论区留言