怪物猎人世界:临时纹理编辑

今天,我对纹理编辑进行了一些调查,我想与社区分享我的发现!

设定

  • 纹理文件存储在块包装中。 您可以使用“世界块”工具解压缩这些块。
  • Tex文件不可编辑(无论如何不能在我的设置中进行编辑),因此您需要TEX / DDS工具在它们与DDS之间进行转换。
  • 我使用Nvidia Photoshop Tools编辑DDS文件。 您可以使用相同的TEX / DDS工具将它们转换回Tex。

理论

Tex文件包含二维颜色图(它们基本上是正常图像。)它们被应用到3维模型中,以这种方式您可以用(2d)包装纸包裹(3d)自行车。

我不知道3D模型在哪里定义,但是它可能在mod3文件中(不可读)。 我也不知道Tex文件实际上是如何包装到3d模型上的。 此代码可能在mod3文件中,但也可能在mrl3文件的末尾。

似乎大多数装甲主要使用BML Tex文件,而所有其他Tex文件或多或少都不重要。 具有透明性的装甲(其中一些没有BML文件)在mod3文件中的工作方式略有不同,并且编辑其其他Tex文件一点也不简单。 (有很多紫色的彩虹。)

mrl3文件基本上是一个数组,具有指向各种Tex文件的链接。 其中许多文件只是特定装甲的Tex文件,但也有指向外观文件的链接。 我们将在“磨料重制纹理”部分及之后讨论mrl3编辑。 数组末尾还有一些难以辨认的东西,但是数组元素可以通过十六进制编辑器轻松读取。

实际上,mrl3和mod3文件的组合足以“变形”装甲,因为mod3具有模型,并且mrl3链接到所有纹理。 结果,为了使铠甲A具有铠甲B的外观,我们将来自铠甲B的mod3 / mrl3文件复制到铠甲A的nativePC目录中,并将其重命名。 (客户端transmog mod可以执行此操作,但也可以不必要地复制Tex文件。)

还有一些其他元数据文件(例如.ctc和.evbd),以及“ mod”文件夹旁边的“ sound”文件夹。 我建议也复制这些,因为我不知道它们会做什么。

重塑和去除

要重新设置盔甲的纹理或删除其中的一部分,我们只需要编辑BML Tex文件(我还没有测试过非BML盔甲,它们太吓人了。)我们使用TEX / DDS工具在DDS之间进行转换,这是Photoshop接受的。

让我们来看一个例子。 我们将重新纹理化并删除部分皮革手套。 BML Tex文件位于{extracted folder from World Chunk Tool}/pl/f_equip/pl001_0000/arm/mod/f_arm001_0000_BML.tex 。 我们将其放在TEX / DDS转换器上,并获得一个DDS文件。

为了使所有内容井井有条,让我们将DDS文件移动到正确的nativePC文件夹: {MHW}/nativePC/pl/f_equip/pl001_0000/arm/mod/ 。 现在,我们将在Photoshop中对其进行编辑。

这是使用Nvidia插件的DDS的打开/保存设置:

打开文件时,打开通道窗口,如果还没有Alpha通道,则添加一个Alpha通道。 如果必须添加Alpha通道,请使其完全为白色。

要去除装甲的零件,只需在alpha通道上用黑色刷子刷过它们即可。 在这里,我不顾一切地卸下了大部分手套(以证明概念!)

要重新设置盔甲的纹理,只需在RGB通道上编辑文件。 在这里,我把所有东西变成蓝色,并在手套上留言。

为了使游戏使用新的纹理,您需要将其变回Tex文件。 使用上面显示的设置保存DDS文件,然后将其放在TEX / DDS转换器上。 我们已经将DDS移到了正确的nativePC目录,这就是我们需要做的。 要使游戏重新加载纹理,可以在装甲之间切换几次(如果您有更好的方法,请告诉我)。

磨料变形

还有另一种重新构造纹理的方法,它可以提供不可预测的高方差结果(威胁3个经过精炼的研究吗?)。 回想一下,游戏通过读取mrl3文件知道要加载的纹理文件。 我们可以直接更改mrl3文件中的链接,游戏将读取其他纹理文件。 使得这种不可预测的是,mod3文件的包裹方法对于(几乎)每种装甲都是唯一的,因此,如果您告诉Girros裤子模型使用Zorah裤子纹理,则您会将正方形钉钉在圆形孔中。 但是不管怎样,让我们​​做吧。

首先,将Girros mrl3文件从{chunk}/pl/f_equip/pl022_0000/leg/mod/f_leg022_0000.mrl3{MHW}/nativePC/pl/f_equip/pl022_0000/leg/mod/f_leg022_000.mrl3 。 现在在您最喜欢的十六进制编辑器中打开它(请使用十六进制编辑器,尝试使用文本编辑器进行任何中等复杂的操作。我使用HxD。)在偏移量148处,您将看到转换为pl\f_equip\pl022_0000\leg\mod\f_leg022_0000_BML十六进制字符pl\f_equip\pl022_0000\leg\mod\f_leg022_0000_BML 。 22是Girros装甲的“代码”,而38是Zorah装甲的“代码”。 让我们将此文本更改为pl\f_equip\pl038_0000\leg\mod\f_leg038_0000_BML

请注意,这具有与复制Zorah BML.tex并将其粘贴到Girros BML.tex上相同的效果。 但是,这要快一些,并且还避免了必须重写BML.tex。

本机

诸如pl\f_equip\pl022_0000\leg\mod\f_leg022_0000_BML引用了块数据包中的文件。 因此,当打开mrl3文件时,游戏将简单地从chunk包中读取这些链接。 但是,如果我们在nativePC中有此文件,则游戏将首先从nativePC中读取它。 结果, 您可以将任意文件粘贴在nativePC中,并通过mrl3编辑链接它们,即使它们不在游戏本身中也是如此 。 该方法对于管理多个版本的装甲编辑非常有效,因为您只需要更改mrl3链接即可。 在这里,我拍摄了一个完全不相关的图像(它是1024×1024),将其保存为DDS,然后通过mrl3进行了链接(更改了与上一部分相同的行):

皮肤渲染

Girros护胫覆盖整个下半身。 如果我们将其某些纹理贴图设为透明,会发生什么? 您可能希望潜在的皮肤暴露在外。 相反,我们得到这个:

事实证明,当您装备装甲时,蒙皮渲染实际上是由装甲件处理的。 因此,mrl3中皮肤文件的链接可用来告诉部分覆盖的装甲(例如Dober Armor)如何渲染未被覆盖的区域。

我在这里遇到了一个障碍,因为我不知道如何编辑mrl3来渲染皮肤。 我认为mod3文件从mrl3文件读取特定的数组元素,并根据mod3文件中的代码应用它们。 结果,您不仅可以在mrl3中添加到外观文件的链接,而且也不能获取已有的链接并使它们成为外观文件(因为mod3将这些链接视为其他目的,甚至忽略了)他们)。 但是,您可以通过切换链接来更改部分覆盖的盔甲的皮肤纹理(就像我们对Zorah所做的一样),但是我的结果非常难看。

对您来说,这是一个很好的问题,请问如何使上面的Girros编辑工作生效?

结论

改装社区还很年轻,潜力巨大。 希望这将有助于社区了解纹理编辑,并使我们能够进行更好的编辑!

如果您有任何更正或补充,请与我联系; 最后,我在这里发现的所有内容都是通过黑盒测试进行的。

转推 这篇文章!