前言
原神现版本实在是太无聊了,遂尝试去搞了搞 mod。这里总结一下步骤和记录一下探索过程中的一些注意事项。强烈不建议 使用官服账号尝试,如果使用该方法导致的封号行为概不负责。
GIMI
Genshin-Impact-Model-Importer(GIMI)是一个原神导入自定义模型的工具,通过这个工具我们可以修改原神内部的模型。具体参考项目。有以下几种下载方式:
- 可以在 GitHub 的 release 中下载
- 在香蕉网(Game banana)下载
需要注意的是,都有两类包可以下载,对于通常的使用来说,选择 for playing mods 就够了,对于 mod 开发者等,可以选择 development 包。区别在于后者有一些调试信息而前者没有。
模组本体下载
这部分很简单,可以直接去香蕉网下载。自行根据指引选择想要的皮肤下载。
模组管理器
由于 GIMI 只负责加载和导入皮肤,不负责管理。如果有同一个角色的多个皮肤想要切换是比较麻烦的。这里推荐使用 d3dxSkinManager,具体的操作步骤可以根据其文档操作,这里不再赘述。
一些操作与问题
GIMI 的加载需要在游戏运行前。另外其是热加载的,也就是说我们可以在外面使用模组管理器直接进行修改,然后在游戏内按 F10 重新加载皮肤即可。
皮肤有可能出现撕裂的情况,这种时候请你在设置里关闭角色动态高精度;这之后你可以将角色换出队伍,然后传送或者重新启动游戏,让游戏读取到修改后的模型。
写在后面
仔细看了看 GIMI 这个项目,虽然说能够写出这个项目的人很厉害,也非常感谢开发者将这个项目开放给大家可以免费用,但是在 GitHub 的项目里,似乎并没有 GIMI 本体的代码,这一点有点可惜,有可能是开放之后会被 DMAC。
就从我不多的学识来说,这个项目可以看作一个大型的操作系统实验。估计在启动游戏时,该进程捕获了原神的进程,然后找到了渲染模型的部分,将进程中的渲染模型部分的地址空间进行修改,修改成我们指定的模组。这也就是为什么要先启动 GIMI 再启动游戏。
另外,d2dxSkinManager 所做的工作就是将 GIMI
存放在指定的位置,给每个模型一个标签以作区分。由于 GIMI 的 Mods
文件夹下,每个角色只能存放一个模组,所以该管理器通过在 Hash
后的文件夹前加上 disable
标签,表示这个模型被禁用。
最后,如果想要自己开发皮肤的话,可以在 GIMI 的项目里 Guides 文件夹下查看,里面有详细的教程。使用的工具是 Blender,开发前请确保熟悉 Blender。