【蛇运长虹】〖解包笔记〗真·三国无双:起源(武士刀引擎)
本帖最后由 ToraToTanuki 于 2025-2-13 01:20 编辑要说本人在蛇年初最大的惊喜,莫过于KT的《真·三国无双:起源》。作为日渐式微的无双系列正统新作,此作一扫八代大失败带来的颓势,在销量和口碑上都大获成功。除了游戏本身足够好玩,对咱♂们来说更具吸引力的莫过于KT那综合了古典和现代审美的人设下各位帅♂气的男性无双武将。遗憾的是由于开发经费不足等原因这作大幅删人(虽然本作大幅翻新了人设),战斗系统上也无法自由操作无双武将。本想着只能老实玩游戏不要作非♂分之想,直到看到了熟悉的法外狂徒三爷张飞的新人设……
我的天啊什么极品憨厚傲娇黑皮大扔子肌肉男
这跟以往那个塌脸酒糟鼻大腹便便只会撒酒疯的旧人设比简直不要棒太多了(。
推的搜索框输入张飞后智能提示是可爱,看来这新形象的魅力早已深入人心(。
就连官方搞些小活动都要拿他来整活唔哦,好男人这居然是官方号发的图你敢信?
和我第一眼看到他时的反应完全一致
……总之呢,涩涩永远是进步的动力(?)。最近刚对建模方面起了兴趣,也很粗浅地学了一点相关知识。本想着无双系列向来都是用KT自家的武士刀引擎开发,以往家大业大的时候玩家社区里各种mod多如牛毛,也许能从中学点什么?比如把三爷的模型弄出来玩♂弄……可惜因为无双系列本身就比较小众且近年人气已大不如前,加上玩家社区受商业化和被倒卖贩子糟蹋等影响,圈子里研究解包和mod制作的风气变得很差,没什么新的研究,以往的知识分享也大多都失效。结果就是为了把角色模型导出来,我硬是花了差不多两天的时间去折腾,总算初步成功了。尽管可能有这方面需求的小伙伴应该不多,反正都花了那么多时间,不仅是分享同时也算是自行整理吧,姑且还是发出来吧。
这里主要整理使用KoeiTecmo武士刀引擎制作的《真·三国无双:起源》的解包方法,过往同样引擎的游戏大多已有现成的工具和教程,各位可自行搜寻,参考链接:https://www.bilibili.com/read/readlist/rl372485
上述链接中的教程对起源的解包也有很大的参考价值,想深入了解的小伙伴可以进一步细读。
本人只是初学者了解非常有限,如有错漏之处恳请各路大佬和前辈多多指教。
〇、准备工作
首先自然需要拥有游戏本体,至于入手方法自行解决,购入正版或别的途径应该都OK。
视乎解包的范围需要预留一定的磁盘空间,整个游戏完全解包的话可能需要游戏本体容量的2~3倍左右,最好是在SSD上操作。
一、原始数据解包
定位到游戏的安装目录\File\ASSET\FDataPackage\Dev目录下,可以看到有大量的fdata格式数据:
其中每个fdata都是一套相关的模型、贴图、动作打包,这里需要使用fdata_dump进行解包,可从该链接获取:https://github.com/DeathChaos25/fdata_dump
比较麻烦的是每个包的文件名都是“加密”过的,无法直接看出其内容,也没有现成的工具可以预览,所以只能自行一批一批摸索了。
乐进:0x090070e3
吕布:0xd326f4ad
夏侯惇:0xab30c4bf
孙策:0x7d902bdb
张飞:0xa7b9e614
张飞2:0x6b757952
徐庶:0x9652b071
黄盖:0x55c0a0c6
解包出来的文件会按照后缀自动分到不同文件夹下:
其中,g1m为模型文件,g1t为贴图文件,ktid为编码映射文件(作用后述)。
需要注意的是,这个工具一次解多个包的时候会把所有解出来的整合到一起,有时可能反而会带来麻烦。建议写个bat脚本将每个包分开解,不然混到一起后可能会因为文件过多找不到需要的内容,非常麻烦!
二、模型查看
上一步得到了最原始的模型文件,但是g1m格式文件目前是无法被blender等建模工具直接打开的,需要使用专门的工具来查看。
这里我们需要用到Noesis:http://www.richwhitehouse.com/in ... .php&showproject=91
以及Noesis支持g1m格式的插件:https://github.com/Joschuka/Project-G1M
安装好便可以查看解包得到的g1m文件:
可以看到,该模型文件不包含贴图所以预览只能看到白模,我们需要把g1t和g1m放到同一文件夹下,并且打开Noesis的以下选项:
此时再次打开g1m模型,可以发现贴图已经加载,但明显有错乱:
这是因为g1t贴图文件名被编码过的,而Noesis加载贴图是按照文件名顺序进行的,顺序不对自然会导致贴图错误,需要用到ktid文件来修正贴图文件名。
三、贴图文件名修正
使用KTID_Splitter来解析ktid文件:https://github.com/DeathChaos25/KTID_Splitter
用KTID_Splitter对所有ktid文件进行解析得到txt文件:
逐个打开这些txt文件,需要找到其内容行数和g1t文件个数大致相同的那个文件(之所以不是完全一致而是大致相同,是因为部分贴图文件可能会被复用,后述操作时自行复制即可),其中每一行对应一个贴图,其顺序就是上面提到的正确贴图顺序:
但是可以发现,该txt内列举的文件名在g1t文件中都找不到对应的,这是因为文件名做过了二次编码。
我们需要回到第一步,找到游戏安装目录下的一个包:0xe634eeb2.fdata,使用fdata_dump来对其解包,得到一个特殊的文件:CharacterEditor.kidssingletondb。
同样使用KTID_Splitter来解析该文件,我们可以得到一个映射表:
左列为KTID文件中的id,右列为实际g1t文件的id,以上例子中的第一行“DC6DF49E”为例,我们使用搜索定位到所在位置:
对应右列的1D7932C2就是实际的贴图文件id,找到1D7932C2,将其重命名为001.g1t。
重复上述过程,就可以将所有g1t文件重命名为001.g1t、002.g1t、003.g1t……此时我们重新在Noesis中打开g1m文件,可以看到贴图终于被正确加载了!
啊,是雄壮的扔子!
四、模型格式转换
此时,我们可以右键g1m文件,点击export便可以将模型以通用格式导出了(推荐使用fbx或obj格式)。
注意不要选择Flip UV's选项,会导致导出后的贴图错乱!
五、模型细节修复
使用blender打开导出的模型,会发现有些细节问题,主要有两个地方:
部分衣服正反面贴图重合(如上图中的上衣,外侧应该是黑色内侧应该是绿色,结果混在一块了)、一些含透明通道的贴图处理错误(如上图,主要是肩膀部分的布料毛刺和胡子质感)。
选择上衣部分,将该部分的背面剔除打开,这样上衣的贴图就正常了:
其次,将骨架中所有“driver”都关闭显示:
然后检查模型,可以看到布料毛边、胡子等地方有不自然的部分:
将这些部位的背面剔除打开,混合模式和阴影模式都改为Alpha Hashed,就会恢复正常了:
这下,我们终于得到一个较为完善的模型了:
之后便是按照需要自行修改和导入到其他软件了,比如做个mmd来搞点二创什么的……想看三爷跳极乐净土
比较遗憾的是目前还没找到方法将修改后的模型导入回游戏中,不然就可以做mod了,这个只能期待有大佬来研究了……这么小众冷门的游戏真会有大佬研究吗孩子已经快饿鼠了
接下来就是研究怎么扒掉裤子然后加上一点东♂西了
搞技术研究不容易,看在孩子这么为爱发癫电的份上,恳请诸位走过路过多少赏赐一点评分什么的吧 好久没玩过这个了,上次还是十多年前玩的2还是3 修改完建模后赤裸上身的张飞出现在剧情里想必画风会很美{:6_190:} 看起来很粗犷的样子,解包的很精细呀 吼(´×ω×`)贴图错乱时还有点阴间哇~
还有点复杂咧,好厉害啊(´×ω×`)阿巴阿巴 差一步就能做出mod了,希望有大神能解决{:6_179:} 哇哦,楼主的技术力好高啊,而且讲的很详细,赞哦 这一版张飞真瑟气,lz这么努力琢磨也算是为爱发电 楼主的技术水平好厉害,这样一点一点试出来的解包很有成就感 巨胸张飞看起来确实很可爱捏=3= 喜欢 张飞这角色的人物模型本身就挺不错的惹,扒掉上衣之后就显得人物的肌肉很瑟很诱人了:$ 珍素馋死张飞和夏侯兄弟惹{:4_86:} 沒想到居然有大佬把張飛模型做出來惹,好饞他的奶子{:4_102:} 楼主太强啦,羡慕技术帝,张飞看起来很棒啊 那张图居然是官方的?那官方还真懂啊 前几天泥潭有人分享这个游戏本可就玩了一下,其中最喜欢的是黄盖,感觉张飞也很不错呢,傲娇什么的;P 能解包出模型那很快就会在和谐区看到二创视频了吧 大佬好强,就爱飞飞这样的反差萌惹,希望有mod大佬能造福一下大家{:6_197:} 感觉进一步就可以把裤子下掉了,感觉裤子好碍事;P 看来游戏角色的身体模型没有做下半身了 {:6_167:}