众所周知,在Windows下开发运行环境下,在调试网络环境时,可以可以很方便的借助wireshark等软件进行抓包分析;并且在linux或者Ubuntu等桌面版里也可以进行安装抓包工具进行抓包分析,但总有一些情况,无法直接运用工具(比如一些没有界面的linux环境系统中),则此时我们就需要使用到最简单的tcpdump命令进行网络抓包。
一般的,linux下抓包时,抓取特定的网络数据包到当前文件夹下的文件中,再把文件拷贝出来利用Windows下的wireshark软件进行分析。
tcpdump命令详解:(简单举例)
1、抓取到的文件为filename.cap,然后将此文件拷贝到Windows下,使用wireshar打开后,即可对此文件进行分析。
2、eth0 是主机的网络适配器名称,具体的参数值可以在linux命令行窗口中通过 ifconfig 指令查询。
无论是在Linux
系统下,还是在
WINDOWS
系统下,使用
tcpflow
或者
wireshark
抓取数据包,基本思路都是一样的。即:根据你需要抓取的数据包,设定特定的过滤规则,以及在哪一个网络适配器上进行抓包。最后将抓取的数据包保存到一个文件中,供以后的分析使用。
展开全部
挑选合适的游戏文件资源→如何选取和利用工具→转换为XPS模型→转换为MMD模型以真三国无双、战国无双和无双大蛇这3个典型无双系游戏为例,从游戏文件资源提取XPS模型的路线图如下图:(图中提及的4个工具在文末有配布)
典型的无双系游戏模型提取路线图
首先明确一点,本教程所提供的提取路线图的选取原则,首先是,人性化, *** 作简便,导出方便,不主张一个工具包打天下,因为这样的工具基本上都很hardcore,需要到github自己吃透英文教程, *** 作还很繁琐。其次才是尽可能地精简所需的工具数量。因此最后我推荐以上四个工具,做完从游戏资源文件到XPS模型的转换。当然了,Noesis还可以转为obj/fbx等等等等主流3D软件支持的格式。关于XPS模型如何转换为MMD模型,推荐站内这个视频教程:xnalara(xps)模型转换为mmd模型全攻略(贴图,骨骼,表情,物理)
几乎所有的无双系游戏模型都是G1M/G1T格式,G1M是模型(Model),G1T是贴图(Texture)。虽然我们经常会听说某某模型有漫射(Diffuse)贴图、法线(Normal)贴图、环境光遮蔽(Ambient Occlusion)贴图等等等等,但无双系游戏的一个模型通常只有一个G1T文件,因为G1T文件允许将多张贴图作为不同的帧进行打包。而无双系游戏的所有资源文件,都存放在LINKDATA.BIN中,以LINKDATA.IDX索引。
因此我们的目标就是,从LINKDATA.BIN中抽取G1M和G1T文件。
在所有工作开始前,要先讲如何选择游戏资源文件。能够被对应工具利用的游戏版本已经标注在图片中,但仍然需要提示一点:
由于我们亲爱的良心会社光荣特库摩公司有复刻前代服装的传统,因此看上去提取真三国无双7之前的真三模型可以直接从7帝国提取?事情没有这么简单。因为7帝国这样的历代服装集合,虽然其服装模型精度可能比它的原始版本还高,但是对审美趣味比较敏感的人来说,它有一个致命缺陷——
每个角色虽然换上了历代服装,但都用了7代的脸。
当然少数像郭嘉这样的角色6代和7代是一张脸,但是到周瑜这样的角色——
你怕了吗?
所以,在提取之前,请想好自己心仪的那张脸是哪几代!
1 RPGViewer的使用
RPGViewer是一位国人作者Van所编写的游戏图片提取工具,支持非常多的游戏,在仙剑古剑等国产RPG的全盛期,很多同人作者都会拿它提取图片。尽管该工具99%的时间都在被人用来提各种游戏的立绘和UI图,但作者保留了单纯解压数据块的功能,非常实用。
以真三国无双6为例:
RPGViewer打开真三国无双6的界面
打开对应的游戏以后,随便点几下“下一张”会出现这样的画面:
标题栏显示的数字是指左方选择的BIN文件内有多少数据块以及当前所处数据块
所处的数据块如果是贴图文件,会自动解析出现在预览栏里。但并非所有数据块都是贴图文件。当遇到无法预览的文件时,当前数据块就有可能是模型。
如果你玩的游戏有足够多的热心老哥在试图改出来一些奇奇怪怪的效果,那么3DM之类的地方可能会有这个游戏的模型贴图文件编号表,告诉你第几个数据块是什么。(否则你就需要手动实验了。)
一般而言,无双系游戏的模型文件紧密排列在一起,贴图也是连续排列在一起的。因此确定了贴图文件的前后顺序,模型文件的前后顺序也就确定了。但是,存在同模不同贴图的现象,因此角色贴图数据块的个数总是比模型数据块多的。
确定要导出的文件位置后,请选择菜单栏的[A]ddon,点选里面的“压缩包 *** 作-高级”选项。
确定了6146是一位漂亮小姐姐的贴图,我们点解包将数据块导出
注意,这里之所以不选择导出功能,是因为导出功能会自动将G1T文件解压为DDS贴图文件,这样不方便接下来在noesisv中进行贴图自动导入。
得到的导出数据块无论是何种类型,统一是.out后缀,这里只需要将模型文件后缀自己改成.g1m,贴图文件自己改成.g1t就可以了。但如果改的不对,noesisv就会告诉你无法识别。
到此为止,我们就利用RPGViewer获得了模型和贴图文件。后续工作请参阅第4部分,模型的拼合与导出。
2 LINKDATA导入导出工具的使用
LINKDATA导入导出工具是无双模型MOD界一位元老级的网友洛克人SZ编写的,和刚才介绍的RPGViewer本质上很相似,只不过没有可视化界面,无法提前预览贴图。不过后来曾经有过无双大蛇3U版本的类RPGViewer工具出现,只是出于精简工具包的需求,我们在这里不需要再多一个专属工具了。
使用导入导出工具首先要将文件夹内的游戏信息txt里的游戏路径改为自己电脑适用的情况。
然后双击exe文件,看到如下界面:
选择需要处理的游戏
如果想导出全部文件,终止序号可以写个很大的数字
在这里导出的数据块都是.data文件,实际上是G1M和G1T文件的混合打包。如果你希望看一眼里面的贴图文件是什么,可以选择把贴图导出。
工具附送了一个“拆分文件”的处理器,点开,按说明把刚才导出的.data文件拖进去,你会得到一个同名文件夹,里面有两个文件。第一个就是G1M文件,第二个则是G1T文件。分别改好后缀就可以了。接下来就可以跳到第4部分,拼合导出XPS模型。
使用自带工具对.data文件进行拆分
得到两个.data文件
自己改好后缀
3 xentax的使用
xentax是国外某著名论坛的一位坛友Steven产出的工具Steven's Gas Machine,全英文,非常硬核,涵盖了PC/XBOX360/PS3等多个平台的多款游戏。它可以做到彻底的文件分析(比如从g1m文件中继续拆分出具体的顶点信息,然后直接编程或者用脚本进行编辑),但是也比较hardcore。在这里我们只介绍一些轻度易用的方法。
因为只有无双大蛇2U是没有登陆过PC的,因此要得到无双大蛇2U的一些特定模型(比如进行了PS3世代重制的战国无双2模型),非得用这个工具不可。
首先,请找一份PS3版无双大蛇2U的镜像。注意,这里不需要你多此一举地进行什么PS3破解之类的非法勾当,不要给自己加戏。要玩这个游戏可以去PS4的PSN商店里购买。(剧情挺棒的,我非常喜欢XD)
然后,由于PS3时代的光盘容量问题,你会看到一份切碎的LINKDATA.BIN文件:
这个文件分割大小是PS3世代的遗迹
看上去很难搞?实际上很简单,windows用户请直接调出cmd敲击以下命令(mac和linux用户你们自己搞定吧)
copy /b LINKDATA.BIN.66600+LINKDATA.BIN.66601+LINKDATA.BIN.66602+LINKDATA.BIN.66603+LINKDATA.BIN.66604+LINKDATA.BIN.66605 LINKDATA.BIN
得到完整的LINKDATA.BIN以后,就可以点开这个工具了。
选项如图所示。(因为美版无双游戏多次移植的问题,导致真三和无双大蛇类游戏的世代编号与日版以及中文版不同)
自己填好LINKDATA.BIN所在文件夹名字
选“是”
选“是”
如果你选“是”,会得到一大堆抽出来的贴图,可以看看内容是什么,否则选“否”
这里选“否”,高手可以试试选“是”自己组装拆到彻底的模型文件
xentax会直接把文件后缀标好,所以直接拿走G1M/G1T文件就可以了。
(实际上最大的难点是,定位模型文件编号……)
4 用Noesis拼合并导出XPS模型
原始版本的Noesis支持各种python脚本来帮助它识别各种类型的模型文件,G1M/G1T格式所需的脚本我已经打包到工具包里了。实际上这个工具使用非常简单——
打开,在左侧文件树找到你放文件的文件夹,然后双击其中的G1M文件。效果如下图:
自动解析出的白模预览
可能你会问为什么没看到贴图?实际上你要改动一个选项:
只有选择了自动拼合才会加上贴图预览效果
这里要解释一个问题:Noesis怎么识别贴图?答案就是,请把每个模型单独装进一个独立文件夹内。如果一个文件夹里只有一个G1M文件和一个G1T文件,那么它就会自己拼装。
如果你的文件夹下有多个G1M文件和多个G1T文件,你会看到许多个模型都出现在预览窗里。这很难处理,所以尽量避免这么做。(当然你也可以选择给每对模型和贴图进行相同命名用来识别。)
模型半透明问题是无双贴图的事情,请导出模型以后再用PS解决
导出也很方便,我在工具里打包了导出XPS格式的脚本:
选择“File-Export”
可以选择导出贴图的格式,不过我一般选默认。
到此为止,我们就得到了一份XPS模型。
这个XPS模型还有一些遗留问题要解决,这里简单叙述一下:
模型是三角面的,用mmd_tool导入PE里面的话会很人工智障地再进行一次三角面切分,到时候模型面会显得非常玄幻,因此推荐在blender里先转一次四角面,合并掉冗余顶点,检查一下模型法线(大多数情况下用自带功能进行自动重算就可以了),再导入到PE中。
骨骼虽然正确配了游戏自带权重,但是没有命名,只有0/1/2/3/4这样的编号,需要自己按照MMD模型要求进行重命名(需要你手头有一份标准MMD模型或自己非常熟悉MMD模型知识)。
所有需要物理演算的模型部件(头发、披风、裙摆、袖口等)都没有权重,但是配套的driver部件(没有贴图但却与这些部件贴合的各种白板)是有对应的骨骼权重的,因此需要在Blender或PE中进行权重转移(推荐直接在PE里处理,非常快捷)。
但是对于进阶的MMD物理高手来说,你直接删除driver和对应骨骼自己做物理,可能效果还更好呢……
总之,得到XPS模型以后,请参阅开头我所推荐的转换教程,制作自己的MMD模型吧!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)