【教程】关于Mod贴图问题的解决办法
原因

贴图不生效时需要先确认几个点:

  1. 你用的是什么MOD启动器?如果你使用的MOD启动器与作者的不同,就可能出现兼容性问题。常见的启动器有XXMI、ZZMI和3dmigoto。XXMI应该是目前最泛用的MOD启动器,我个人正在使用这个也最推荐这个。ZZMI是老版的XXMI,建议直接升级换成XXMI。3dmigoto的话因为很多人会自己魔改所以情况不一,想要了解清楚可以直接看哈米猫特大佬的帖子【加载器】3dmigoto兼容版[10.06更新](附修改教程)。
  2. 你的显存是多少?显存一般取决于你的显卡型号,显卡显存大于等于6G是高显,其他的是低显。对于绝区零的mod而言,高显和低显是两套不同的hash,并且高显的人无法获取低显的hash,反之亦然。
  3. 你是哪个服务器?在这里的绝大部分人应该都是国服,但是也有少部分使用亚服、欧服、美服等。在使用场景类的一些mod时,不同服务器会有一些hash不一样,但具体哪些不一样我无法考证。

在确认了以上三点都没有问题后(启动器、显存、服务器都和作者的一样),还有人会碰到mod不显示的问题,其中是因为MOD启动器为了节省资源,并不会自动检验所有贴图的hash,此时默认显示的还是游戏原本的贴图,而非MOD中的贴图。在XXMI(包括ZZMI)存在以下这一条指令:

run = CommandListSkinTexture

这条指令的作用就是告诉XXMI,需要检测并覆盖掉这个hash所对应的贴图,所以当上面三点都确认没问题之后如果贴图还没有生效,可以尝试使用以下两种方案修复。

方案一

在没生效部位贴图的对应ini文件中添加以下三行代码

[TextureOverridexxxx](x部分可以填任意内容,但是不能重复)

hash = 没生效部位对应IB

run = CommandListSkinTexture

关于IB怎么看,可以下载Hash修复工具与Hash表中的Hash表。表内框起来的部分就是部位对应的IB,剩下的部分就是Hash值,同样的也可以通过此表的Hash值来判断没生效部位贴图的对应ini是哪一个,大部分的ini命名都是以Hash值来的,还有部分可能会更直接帮你分好哪些是哪些部位了

如果是场景的话会存在使用PS值的情况则使用下面的代码

[ShaderOverridexxxx](x部分可以填任意内容,但是不能重复)

hash = 没生效部位对应PS

run = CommandListSkinTexture

因为作者不再更新Hash表,所以IB和PS值怎么找请看https://www.caimogu.cc/post/1669172.html

方案二

在Mod的ini文件中寻找类似这段的文字

将其改为:

即找到match_first_index = 0,在它的后面加上:

run = CommandListSkinTexture

结语

本篇教程由@Evil゜cc创建,结合@error写的场景MOD各类问题解决方法内容,由@千莓花重新订正。

by Evil゜cc 更新于 2025-02-15
若有附件,打赏后可直接下载 赠人玫瑰 手留余香
默认
最新


1