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

基于某街机音乐游戏的Unity游戏修改心得分享

2023-08-10 00:10 作者:舞台酱qwq  | 我要投稿

0x00 写在前面

赫赫adx玩家太多了,所以写了这篇。本文基于1.35.00。不要找我要好弟弟、最新最热opt等,不要问我如何启动游戏。

本文章仅供Unity游戏修改相关的学习参考,使用本文章内容所构成的侵权行为与作者无关。

开始本教程前,建议你做以下准备:

  • 下载Visual Studio Code作为文本编辑器,并安装HexEditor插件以修改二进制文件。

  • 了解如何使用命令行工具。

0x01 文件结构

首先这边建议把魔改相关单独放到一个opt文件夹里(如F099)。不知道怎么装opt的可以参考segatools.ini里的提示,指定option文件夹。option文件夹里每个opt文件夹的内容相当于会在运行时覆盖替换原本游戏中A000文件夹中的内容(不会实际修改A000中的文件)。别改A000里的东西了求你了

你的option文件夹应该差不多长这样,放在你指定的option目录下。如果想装自制,序号越大越好。接下来我会分别说明这里的东西怎么加。

0x02 添加一个自制页

这步不需要每次加一个新谱都做,只是单独划出来一个地方放自制谱。需要添加的文件至少有两个:

  • musicGenre\MusicGenreSort.xml

  • musicGenre\musicgenre000107\MusicGenre.xml

把A000里的对应文件复制出来改改。这两个文件的genre id要对上。music文件夹里面那俩不加也无所谓。

0x03 添加谱面

每次加一个新谱,先给曲子随便取一个曲目id,最好在2000~9999之间,我这里曲目id是2001。然后算个固定6位的谱面id,如果是dx谱,谱面id就是10000+曲目id,st谱就是曲目id。后面很多地方填的id都要么是谱面id要么是曲目id,有时还需要在前面补0至6位,自己看着办吧。相关文件至少有两个:

  • music\music012001\012001_03.ma2

  • music\music012001\Music.xml

先把你的谱转成ma2格式。simai(majdata)那个txt转ma2的工具嘛我找到的没有一个能用,要不你自己找个能用的吧。

贴俩链接,一个SLL跟SLR转反了,一个我没研究明白。截至本文这俩都暂不支持fes。

  • https://github.com/Neskol/MaichartConverter

  • https://github.com/donmai-me/MaiConverter

ma2没有后面那坨东西也可以。图里这样的ma2也能用。

然后Music.xml随便复制一个出来,填下曲目基础信息。genreName填刚才的genre id。

黄色的不重要,可以考虑照着图填。红色的看着按需改改。

最后填谱面信息。有些注意事项:

notesData里是所有谱面的列表,按顺序分别对应绿黄红紫白宴谱。某些难度可以没谱,但那个位置一定要填上,按图里绿框填,isEnable改成false就行。level和levelDecimal对应定数,比如图里是14.0。musicLevelID是难度id,1~7对应1~7级,8对应7+级,9对应8级,以此类推直到23对应15级。(不是谱面的框,某些神秘教程给我看的脑溢血)

绿框只有两行的是折叠掉了。黄色的照着填。

0x04 添加音频

有个特别牛逼的软件叫ACE。虽然很牛逼但是有bug。这边建议用我魔改的修了bug并且加了maimai支持的版本。
原项目地址:https://github.com/LazyBone152/ACE

舞台酱牌魔改版:https://github.com/iamgqr/XV2-Tools/releases/

随便复制一个acb和一个同名awb文件出来,用ace打开(Load)acb文件。点第一个cue,右键下面的track,点replace,然后选择你的音频。点另存为(Save As),然后输入文件名(我这里是music002001.acb)。注意不能保存之后重命名,必须另存为然后输入对的文件名。把你保存的acb和awb文件放进SoundData就能用了。

这么做生成的acb里,游戏内选取界面的预览还是原本的时间段。如果想改音频的预览时间,用vscode的hexeditor打开你保存生成的acb。算一下想要的预览时间的毫秒数转成16进制(windows计算器-程序员模式),去TrackEvent表附近,改下这俩command的字节。找不到可以文件内搜索16进制“03E704”和“07D104”,他们后面的就是。

差不多在这。比如说这里是原曲的60.160s~82.150s

0x05 添加bga

不加bga也行,但是你打歌的时候背景就是一只1p熊(らん)的脸,非常难看。

usm编码工具:https://github.com/donmai-me/WannaCRI

先准备个视频,把它转成ivf格式。方法请谷歌或使用万能的ffmpeg。然后用工具转成usm格式,最后重命名成.dat格式放在MovieData就行了。用工具需要你填key参数,你游的cri key是多少请github搜索。(base64:MHg3RjQ1NTE0OTlERjU1RTY4)

只有图懒得搞视频?我教你一招:

0x06 添加封面

(某些神秘教程给我看的脑溢血。jacket_s是选曲和结算界面的封面,jacket才是游戏中准备时和副屏上的封面)

UABEA:https://github.com/nesrak1/UABEA

先复制几个文件出来:

  • AssetBundleImages\jacket\ui_jacket_002001.ab

  • AssetBundleImages\jacket_s\ui_jacket_002001_s.ab

  • AssetBundleImages\AssetBundleImages

假如你原本文件是ui_jacket_000021.ab吧,先给新文件重命名成ui_jacket_002001.ab。uabea打开ui_jacket_002001.ab,如果他叫你解压你就解压到新文件(选file),关掉uabea,把旧文件删了,把解压出来的文件重命名为原文件名,然后uabea打开这个文件就行了。之后都用这个解压出来的文件就行,游戏也能读。

打开ab文件之后,Info,选Texture2D那个,Plugins-Edit texture-OK。里面Load,选个正方形png文件(大小其实无所谓),然后Save,Save,Save,关闭。

vscode启动,hexeditor打开这个.ab文件,把里面000021全都查找替换成002001。然后把文件里“CAB-xxxxxxxx”这坨东西后面的十六进制随便改成一串别的十六进制。保存。

改完ab之后改AssetBundleImages。uabea打开,如果需要解压还是按之前的操作。Info,选那个AssetBundleManifest,Export Dump,找个地方存下。uabea别关,vscode打开那个txt,在这加两行,序号按顺序就行。最后改下数组大小。

8442和8443是顺延下来的。
原本是8442。加了两个,所以是8444。

保存。uabea Import Dump选这个txt文件,Save,Save,关闭。

0x07 Enjoy


基于某街机音乐游戏的Unity游戏修改心得分享的评论 (共 条)

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