自定义网格

自定义网格

允许你用导入的模型文件替换对象网格。

模型和纹理

这个模组最终希望能让你替换游戏中的任何网格;目前它可以做到以下这些:

  • 用导入的 fbx 或 obj 文件替换建筑部件的静态网格。
  • 用导入的 fbx 或 obj 文件替换物品的静态网格。
  • 用导入的 AssetBundle(实验性功能)替换蒙皮网格。

所有文件都应放置在 BepInEx\plugins\CustomMeshes 文件夹的子文件夹中(如果该文件夹不存在请自行创建),具体说明如下。

建筑部件

要为建筑部件导入静态网格,请按照以下步骤操作:

第一步: 创建一个与你正在替换的建筑部件同名的文件夹。

例如,要替换木箱的网格,请在 BepInEx\plugins\CustomMeshes 中创建一个名为 piece_chest_wood 的子文件夹。

第二步: 为建筑部件的每种状态创建一个子文件夹:NewWornBroken

现在你应该有三个文件夹:

  • BepInEx\plugins\CustomMeshes\piece_chest_wood\New
  • BepInEx\plugins\CustomMeshes\piece_chest_wood\Worn
  • BepInEx\plugins\CustomMeshes\piece_chest_wood\Broken

第三步: 将与每个 MeshFilter 名称对应的 fbx 或 obj 文件放入该文件夹,例如:

  • woodchest.fbx
  • woodchesttop_closed.fbx

物品

要为物品导入静态网格,你需要知道物品名称、渲染对象名称,以及根据物品类型确定的网格筛选器名称或蒙皮网格渲染器名称。你可以通过打开配置文件中的调试选项并查看物品生成时的消息来找到这些信息,例如:

CustomMeshes got mesh filter item name: HelmetPadded, obj: HelmetPadded, mf: default 
CustomMeshes got skinned mesh renderer, item name: HelmetPadded, obj: attach_skin, smr: ChainLinkVisor 

然后你需要创建一个具有以下文件夹结构的文件:

BepInEx\plugins\CustomMeshes\<ItemName>\<ObjectName>\<MeshFilterName>.obj

和/或

BepInEx\plugins\CustomMeshes\<ItemName>\<ObjectName>\<SkinnedMeshRenderer>.obj

例如:

  • BepInEx\plugins\CustomMeshes\HelmetPadded\HelmetPadded\default.obj
  • BepInEx\plugins\CustomMeshes\HelmetPadded\attach_skin\ChainLinkVisor.obj

玩家网格

要导入玩家网格,你需要创建一个包含 body 对象的 AssetBundle。请别问我怎么做,我也不知道。如果你了解 Unity,可以在我 Discord 服务器上联系正在这方面工作的人。

第一步:CustomMeshes 文件夹中创建一个名为 player 的文件夹,并在其中创建一个名为 model 的子文件夹。现在你会有:

BepInEx\plugins\CustomMeshes\player\model

第二步: 将你创建的 asset bundle 放入子文件夹,将其命名为 0 表示男性,1 表示女性(确保没有文件扩展名)。

安装

要安装模组本身,你可以直接使用 Nexus Mods 的模组管理器 Vortex。它会自动处理所有依赖项。

要手动安装,将 dll 文件放入 BepInEx/plugins 文件夹。你需要安装 BepInEx。

此模组需要额外两个 dll 文件来导入 fbx 网格:assimp.dllAssimpNet.dll。它们包含在可选文件中,我建议安装它们。我认为没有它们模组也能工作,但你就无法导入 fbx 文件。将 assimp.dll 放在 Valheim 根目录的 exe 文件旁边,并将 AsimpNet.dll 放入 BepInEx\plugins 文件夹,与 zip 文件结构相同。

鸣谢

感谢 Ryder 提供网格、测试和一般帮助!也感谢 Sandmouse 参与测试!

本项目使用了 Dongho Kang 的 UnityMeshImporter、Nicholas Woodfield 的 AssimpNet 以及 Assimp 开发团队的 Open Asset Import Library (Assimp),以上均基于 MIT 许可。

本项目使用了 el anónimo 的 OBJImporter,基于 CC BY-SA 3.0 许可。

技术细节

代码位于 https://github.com/aedenthorn/ValheimMods

如果你想抱怨、寻求帮助或帮助我测试模组,可以访问 我的 Discord 服务器

点击此处查看我所有 Valheim 模组的列表。