3D盔甲&和纹理渲染问题
大多数自定义盔甲在《Epic Fight》中都会损坏。 这是因为 《Epic Fight》 使用自己的模型,不仅适用于实体,也适用于盔甲。 幸运的是,《Epic Fight》有一个基于自定义盔甲的模型生成算法,但有时它会以不好的方式改变它们。 这是模组包开发者的指南,使定制装甲在视觉上完美无瑕,而无需调整我们的源代码。 您可以按照以下步骤来获得修改后的盔甲:
所需工具:
💡Remaking armors in Blockbench (Optional)
只要您拥有要修补的模组的官方盔甲文件,您就不需要在 blockbench 中重新制作盔甲。
下载并安装所有三个软件后,您要做的第一件事就是选择一个具有您想要修改的盔甲套件的模组,然后尝试尽可能准确地重新创建模型。 实现此目的的一种有效方法通常是查看游戏中的盔甲并从所需模组的源代码中获取纹理。
例如:
上面是 Dungeon Gear Mod 的 archers_armor 的纹理文件。 让我们看看如何仅使用 Blockbench 重新修改这套盔甲
1. 创建一个通用模型,以便我们以后可以导出它。 最好将模型命名为您可以识别的名称,例如Archer's Armor。

2. 确保您已安装 CEM 模板加载器,以便可以导入普通模型。 (您可以在文件/插件选项下下载插件)。
3. 从那里,您需要导入所有原版盔甲模型。 (您可以在“工具”/“加载 CEM 模板”/“不支持的实体”下导入原版盔甲模型)。

4. 导入纹理,并将项目上的纹理大小更改为与纹理相同的大小。 (提示:您可以通过将纹理拖放到每个装甲的部件上来应用模型上的纹理)。

5. 现在,修复纹理,直到它们的顺序正确并且看起来像原始模型。
6. 修改完纹理后,按“ctrl + A”,并确保所有纹理都被使用。 如果您漏掉任何纹理,则意味着您的模型需要更多调整,因此您需要向盔甲添加额外的部件。 就我们的情况而言,弓箭手的盔甲在其帽子上有一个额外的部分,因此我们需要添加一个立方体,并尝试根据地下城装备添加的游戏内盔甲和纹理大小来猜测它的旋转、比例和位置。

7. 正如您所看到的,经过一些更改后,我们的模型看起来像原始模型,现在我们准备好继续修补每个单独的部分。

8. 现在,在导出盔甲文件时,请确保将其导出格式为 .obj,因为这就是我们将在内置blender使用的文件。
💡 权重绘制和顶点校正
转到 [[Blender 指南|Blender 基础知识以及提示和技巧]] 了解如何使用 Blender 的提示、技巧和修复
- 首先,打开blender,转到文件/导入/Wavefront (.obj),然后导入刚刚在 blockbench 中创建的盔甲文件。
- 之后,选择一个盔甲部件进行修补。 我们将首先修补头层。 因此,我们将选择构成弓箭手盔甲头盔的每个立方体和部件。 对于我们来说,“head”和“headback.001”是构成头盔的部件,因此我们将选择两者并按“ctrl + j”将所有部件连接到一个模型_(提示 :要连接所有部分,您需要处于对象模式)。
选择

加入 (随意将新加入的模型重命名为其对应的盔甲部分,在我们的例子中,我后来将其重命名为“头盔”)。

(在这些屏幕截图中,所有其他装甲部件都被隐藏)_ - 在对象模式下,通过单击_“alt + r”来纠正导入旋转和位置; “alt + g”_。
- 在编辑模式下,旋转模型并将其位置更正到原始位置,然后再重置对象模式上的旋转/位置。
- 现在,修复导入旋转后,我们将通过进入对象模式,选择头盔模型和骨架,然后转到Object/Parent/Armature Deform/With Empty Groups/With Empty Groups,将模型作为骨架的Parent。 现在你已经成功地将模型上传到armature,让头部去做权重绘制。 (提示:您可以通过按住 Shift 键并右键单击两个内容来选择它们。 确保在对象模式下选择两者,而不是设置或编辑模式)

- 通过选择头盔模型,并从对象模式切换到权重绘制,我们最终将应用顶点组变形,以便在玩家播放任何动画时头盔跟随头部。

- 要应用权重绘制,请确保您可以看到顶点并且启用了线框模式,如下图所示:

- 现在您可以从一系列画笔中进行选择来应用权重涂料,但我们主要使用的是subtract和add

- 在右侧选择所需的顶点组,我们将在修补头盔时使用头部组。

- 现在,继续绘制整个模型,使其跟随整个头部。 最后你将能够得到这样的东西:

- 您可以通过在pose模式下转到骨架并旋转头骨来测试是否已成功将头盔重绘到头部。 如果您的模型遵循头骨,那么它是正确的,如果不是,请返回几步并重新检查是否遗漏了某些内容。

💡 导出修改后的模型
现在您已经修改了模型,您将需要导出您的作品并在游戏中应用更改。 但你怎么能这么做呢? 嗯,这真的很简单。
- 确保您的项目中没有任何盔甲部件或不需要的模型,并且仅像这样导出所需的盔甲部件。 (提示:您无法一次导出两个盔甲部件,因此一次导出一个并删除所有其他部件。)

- 清理完所有不需要的模型或不会导出的盔甲部件后,前往File/Export/Animated Minecraft Model (.json)

- 确保您只选择了“Export Mesh”,因为我们只导出盔甲,而不是动画或自定义骨架。

- 检查导出名称,看看它是否与游戏中的自定义盔甲注册表名称匹配。

- 完成后单击“导出到 Json Minecraft”。

- 现在转到您的游戏,选择资源包,然后在资源包文件夹中创建一个新文件夹。 在其中,您可以像这样创建 pack.mcmeta:
制作 pack.mcmeta 文件
首先,您需要创建一个 pack.mcmeta,方法是制作一个普通的 txt 文件并将其重命名为 pack.mcmeta(确保文件扩展名已打开)。
之后编辑它并添加这些代码行以使您的数据包正常工作。
pack_format 值
| 版本 | 数值 |
|---|---|
| 1.16.2–1.16.5 | 6 |
| 1.17.x | 7 |
| 1.18.2 | 9 |
制作文件夹路径
您需要创建一系列具有以下名称的文件夹。 每个文件夹或文件都需要位于最后一个文件夹或文件中。
assets -> "modid" -> animmodels -> armor -> "registryname".json (将导出的装甲文件拖放到此处)
🎉 恭喜,你已经成功修改了你的盔甲。 🎉
这里有一些更简单的盔甲修补解决方案:针对 3D 盔甲故障的其他解决方案