因为没有mod区,只好投杂谈了。
重要:免责声明:制作mod不可避免地需要执行python文件及命令行命令,皆会有潜在的系统安全风险,本人以id长度发誓除非老外偷偷下毒连我一起坑,本人不会主动坑人,但假如因学习制作mod造成任何问题,本人一概无法负责,请务必注意。
写在前面:
1.编写本文仅是出于mod制作本身的学习交流目的,并非mod成品资源包交流,如果您是来找绅士mod而点进来的,那您来错地方了,麻烦退出去另寻他处。除非教学上有必要用到,本文原则上不提供mod资源本身,就算找我要我也不会给你发的。
2.博主本人也是超级菜鸟,在这之前完全没接触过3d建模和mod,因此也有很多我也不清楚的部分和我也不熟悉的地方,写此文也是出于一种解决其他方面的问题以便有能力的人能参与进来、或者遇到问题能够有个集中讨论的地方能够一起交流的目的,因此会有很多问题问我其实我也解决不了,还请理解。
3.学习制作mod需要您本身有一些基本的电脑知识例如能看懂路径、扩展名之类的基本名词,知道如何进行解压缩这种基本操作,我会基于我的认知判断什么属于“微机课好好听课就会知道的基本的知识”,什么是需要额外解释。如果仍然有看不懂的部分,请自行百度,问我我也不会回复的。
4.本文主要讨论角色模型mod,写到后面会涉及一点点动画移植,什么难度mod遇敌mod技能mod加人mod之类的虽然也算mod,但不在本文讲解范围内,就算我会我也不会在这里回答的,敬请注意。
5.本文大多数内容是学过老外论坛loverslab及老外的github教学(kuro_mdl_tools/wiki)之后的转述(且并非翻译),如果您知道怎么访问原帖且能看懂英文原文建议直接看原文并且和老外直接进行交流,他们那边比我有经验。由于发链接可能会卡审核,无法提供链接,请自行搜索链接。
6.制作mod极易踩坑,很容易一不留神跳步骤后面全部被坑还没法挽回,因此请务必注意学习操作时需要按部就班,切忌乱寻思和擅自跳步骤和觉得这个我会了就跳过去了,不然容易怎么死的都不知道。
7.虽然本教学目前来说是对黎以后的作品通用的,但随着法老控的后续版本更新,有失效的可能,请自行注意时效问题。
————————
由于内容较多,计划是分成几篇来写,
本次先只介绍一下最基本的入门知识:识别资源文件和mod制作所需工具。
————————
开始mod之前需要先另外下载安装以下主要软件及程序,其中一部分现在暂时不会用到,但这里一并介绍:
python最新版本(但有时安装某些模块可能会因为版本支持问题报错,此时可能需要卸掉尝试改为安装3.9或3.10或3.12版本)用于运行各路py,建议安装时勾选添加到PATH。
github上的kuro_mdl_tool包最新版本
blender4.2.3LTS版本(最新版可能会在导入导出glb/gltf格式时报错,我个人目前用4.2.3LTS版本没有出过错)用于编辑模型
github上的kuro_dlc_tool中的sky_extract_pac.py,用于解包pac文件
任意图片编辑软件,老外推荐免费的paint.net,或者任何能识别编辑dds格式的其他软件也可以。
github上的DarkStarSword的blender_3dmigoto.py插件(DarkStarSword/3d-fixes),并安装到blender
github上的misc_kiseki中的 blender_lock_groups_with_vgmap.py和blender_delete_empty_vertex_groups.py插件(eArmada8/misc_kiseki/tree/main/vgmaps),并安装到blender
安装完python最新版本后,请先运行一次kuro_mdl_tool包中的install_python_modules.bat安装所需额外模块。
如果长时间不做mod之后重操旧业,建议先查看一下kuro_mdl_tool是否有更新,偶尔会修正一些小bug。
————————
法老控在黎轨之后目前全面转入新的引擎,无论它是不是什么开源改的,总之目前称呼为fdk。
(注意:伊苏9(含)之前及床柜之前不是fdk,暂时不在本文讨论范围内)
其所采用的模型文件扩展名为mdl,一般来说位于asset/model目录下;物理效果定义文件为mi,一般来说位于asset/model_info目录下。
此外,模型动作(以下简称动画)也会被储存为mdl格式,位于asset/model目录下。
整体上,一般来说,b开头的是boss,c开头的是角色,equ开头的是装备,o开头的是物件。
名字比较简单占的空间比较大的一般是模型,反之是动画。
文件资源方面,中文版基本是散装的,黎轨中文版部分文件想编辑修改,可能需要用cle_decrypt_decompress.py先进行解密,界轨和ysx不用。
空re的资源文件是一些扩展名为pac的包,需要使用sky_extract_pac.py解包。
英文版除了散装的,就是p3a格式的包,需要用其自带的p3a_tool.exe解包。
————————
搞清楚了这些,接下来请先尝试一下用改名替换文件的方法替换模型。其中英文版和空re第一次操作需要以下额外步骤:
英文版:
需要先解包之后,将对应的p3a文件改名,再操作。
解包方法是在地址栏输入cmd,回车启动命令提示行,然后输入p3a_tool.exe extract p3a文件名 回车。
如果windows版本不支持地址栏运行cmd,则可以用win+R然后输入cmd,回车,然后用cd /d "游戏目录" 重定向到游戏目录,然后继续操作。
空re:
需要解包之后,将对应的pac文件改名,然后将解包得到的asset文件夹移动到游戏主目录(exe文件所在目录)。
解包只要将pac拖动到sky_extract_pac.py上等待一会就可以了。我个人建议直接把pac移动到根目录,sky_extract_pac.py复制到根目录,直接在根目录解包,省掉换名字找路径的麻烦。
如果解包遇到问题,可能是python安装不成功,请自行百度如何正确安装python。
如果因为谜之原因拖动无效,可以尝试地址栏输入cmd回车然后sky_extract_pac.py 文件名。
如果还是报错,可以尝试输入python sky_extract_pac.py 文件名或者py sky_extract_pac.py 文件名看看是否能运行。如果需要加上才能运行的话,很遗憾,后面所有提到py的部分都需要如此运行,请自适应一下。
———
接下来,请尝试将其他模型改名为主角(一般是c0000或chr0001/chr5000类似名字)的文件名并替换之(注意不要用动画文件换,我也不知道会发生什么但至少八成会变成透明人看不出效果),然后启动游戏查看是否替换成功。
请注意,如果因为不知道角色对应模型是什么/穿或者卸了dlc衣服导致模型id变动/路径错误/游戏本身版本更新导致改名替换法失效/没有移除pac或者p3a文件/不知道游戏不支持热更懒得重开等原因导致改名没效果,那可能后续mod也没得玩,因此请务必尝试至少一次改名,看到有效了再继续。
需要注意的是,每个人还另有一个同名的_face.mdl,似乎是用来重新定位五官的,换模型时可能需要一并替换此文件才能正常显示五官。
但是,由于过场动画似乎是根据五官比例固定的,换了会导致动捕过场/s技演出脸部表情出问题,且似乎也没办法解决,因此目前其实不太推荐换人,或者就做好动捕过场脸部出问题的心理准备再换。
————————
因为这次只是介绍基本知识,所以暂时就到这里,下一次我们会介绍如何提取模型和简单的编辑模型操作。