着色器助手Mac版

创作者: DrummerCraig
已更新:2026-03-20 07:45:53
260KB

关于此 MOD

适用于Apple Silicon(ARM Mac)的模组,可自动修复因模组着色器未编译Metal GPU支持而导致的破损/粉色材质。

Mac着色器助手

⚠️ 仅限Apple Silicon Mac。 此模组在Windows、Linux或Intel Mac上无效,并可能在这些平台上产生无害警告。除非你的英灵神殿运行在M1/M2/M3/M4 Mac上,否则不要安装。

它的作用

许多英灵神殿模组附带的Unity资源包中的着色器仅针对Windows编译。当游戏在搭载苹果Metal图形API的Mac上加载这些资源包时,Unity找不到兼容Metal的变体,便会替换为一个亮 品红色/粉色错误材质 ——弓、武器、护甲、粒子效果,所有东西都变成亮粉色。这个插件会扫描所有已加载的模组,识别出损坏的着色器,并用可渲染的替代品替换它们,让你的模组游戏看起来更好。

这是个兼容性补丁,不是什么魔法——回退材质看起来并不总是和模组作者预想的一模一样(纹理可能显得扁平,发光效果可能更暗)——但总比满屏无法游玩的粉红色要好。

安装

  1. 如果你还没有从 Thunderstore 为 Valheim 安装 BepInEx,请先安装。
  2. 掉落 ShaderHelperForMac.dll 和 AssetsTools.NET.dll 进入 BepInEx/plugins/ShaderHelperForMac-DrummerCraig/.
  3. 启动英灵神殿。插件将自动启动。

大多数安装到此就完成了。插件会在启动时扫描你的模组,并修复它能检测到的所有问题。

原版着色器保护(含缓存)

该插件可保护原版英灵神殿材料,避免因以下方式意外修改: 原版基线缓存 ——一份 Valheim 本身自带的每种材质和着色器的列表。该插件拒绝替换该列表中的任何内容,即使 Mod 侧的规则意外地针对了原版名称。

你不需要对这项做任何操作 正常使用情况下。该缓存已打包在插件DLL内,并会自动解压到 BepInEx/config/ShaderHelperForMac/_vanilla_baseline.cache 首次启动时——对于此版本所针对的英灵神殿版本,开箱即用。

何时重建缓存:

  • 在一次《英灵神殿》重大更新后。 已发布的材质/着色器名称可能已更改;你会看到一条 [VanillaCache] 版本漂移:缓存是为 Valheim 'X' 生成的,但此安装报告为 'Y' 警告: BepInEx/LogOutput.log 当版本不匹配时。
  • 如果原版内容开始渲染异常 (原版武器、地形或NPC在先前正常运作后变粉或被替换)。

如何重建:

  1. 将所有非ShaderHelperForMac的DLL移出 BepInEx/plugins/ 暂时在别处(否则模组侧的材料会污染捕获的基线——新缓存必须从干净安装构建)。
  2. 启动英灵神殿并加载任意世界。
  3. 打开F5控制台并运行 着色器助手捕获原版.
  4. 退出英灵神殿,把你的模组DLL文件移回 BepInEx/plugins/,然后重新启动。

新的缓存现已适用于你的英灵神殿版本。你只需极少这样做——通常仅在英灵神殿更新后进行一次。

当某物还是粉红色时

创建一个包含修正内容的txt文件。此安装的config/ShaderHelperForMac中已包含几个修正文件。你也可以在我的Discord服务器上找到它们。

此外,这里有一个三步工作流程,帮助你开始制作自己的作品。

  1. 站在粉色物体旁边。 越近越好。
  2. 打开F5控制台 然后运行:
    着色器辅助附近15码
    
    此列表列出了附近每个模组材质及其着色器名称、当前状态和所属DLL。请查找其中行 动作=原始 (意味着插件尚无对应规则)并注意 垫子: 名称和 动态链接库= 数值。
  3. 奔跑 着色器辅助补丁插件会自动将修复规则写入对应模组的txt文件并应用。粉色应该会消失。

如果 着色器助手补丁 报告“没有可添加的规则”,或者之后物体仍然是粉红色,则该材质可能需要更具体的规则——请参阅下方的章节参考。

按模组手改txt文件

每个模组的配置位于 BepInEx/config/ShaderHelperForMac/<DllName>.txt 每个模组一个文件,以该模组的BepInEx DLL命名。保存后文件会自动重新加载。编辑后,请尝试 着色器助手重载 紧随其后 着色器辅助扫描 在F5控制台中立即应用更改;根据具体更改内容,有时需要重启游戏才能看到结果。

以……开头的行 # 是注释。你实际会用到的是以下四个部分:

[强制回退] — 纯粉色用(道具、武器、护甲)

当几何体显示为粉色时,添加材质名称 附近的着色器助手 报告:

[forcefallback] 材质:武器1 材质:粗制弓_材质

将材质路由到可见的备用着色器。对象会使用其纹理进行渲染(有时较为平淡,但至少可见)。

[forcetransparent] —用于视觉特效和粒子(烟雾、光效、闪烁、拖尾)

当效果(火焰、闪光、烟雾轨迹、武器光效、投射物爆发)显示为粉色——或纯黑色方块——时,将其改为透明:

[forcetransparent] mat:portal_flame_DO mat:smoke_ashen_fire mat:BowArcherGlow

粒子材质在回退路径下几乎永远显示不正确;对它们来说,透明才是正确的处理方式。

[useshader] — 为材质固定特定着色器

当以下情况使用 [强制回退] 看起来不太对劲(例如,由于回退无法绑定纹理,一块实体几何体渲染成了纯白色)。你明确选择目标着色器。

找到正确的着色器名称:

  1. 跑 着色器辅助附近15模块 在破损材料附近。输出线路显示 着色器='SomeShaderName' — 那是该模组所依据的原始着色器。
  2. 试试用瓦尔海姆自带的可用着色器作为目标。最常见的选择:
    • 自定义/部件 — 具有正确纹理绑定的实体几何体(大多数武器、护甲、道具)
    • 自定义/生物 — 通用的可见备选方案(适用于 自定义/部件 不起作用)
    • 自定义/植被 —用于植物类材料
  3. 添加规则并重新加载。在游戏内测试;如果视觉效果仍有问题,请尝试列表中的下一个着色器。

示例:

[useshader] mat:CBDH0s_wheels Custom/Piece mat:BowIceGlow Custom/Creature _Color=#00000000 _EmissionColor=#00000000

第一行将弩轮固定到 自定义/部件 (回退路径将其渲染为纯白色)。第二个将弓的光效材质固定到 自定义/生物 并将其颜色和发光归零—— _Color=#00000000 / _发光颜色=#00000000 令其强制变为完全透明的黑色,这就是“消除”多余光晕而不遮住弓身其余部分的方法。颜色值为十六进制 #RRGGBBAA.

[预制体] — 将规则限定到特定的预制体

一些模组材料与原版材料同名(例如 光辉_0, 烟). 在没有作用域的情况下,一个 glow_0材质 规则可能会影响原版英灵神殿火把。添加一个 [prefab] 该行告知插件“仅在此预制体层级下应用此文件中的规则”:

护甲蓝宝石猎鹰胸甲 弓进化核心灰烬之地自然

寻找候选预制体名称,条件为 shaderhelper modprefabs <ModName> ——它列出了插件归因于该模组的每个预制件及其子材质名称。

高级区域(稀有)

为完整起见,这些功能确实存在,但大多数用户从不接触它们:

  • [回退] / [透明] — 的柔和变体 [forcefallback] / [强制透明]仅当插件已判定材质需要替换时才触发;较不激进。
  • 未提供待翻译文本。 — 将特定材质完全排除在替换之外(适用于在运行时自行管理着色器替换的模组)。
  • [隐藏渲染器] — 完全禁用渲染器,而不是替换材质。这需要 [prefab] 同一文件中的行。当其他方法都无法使对象显示正确时的最后手段。
  • [默认] — 回退 / 透明 / 原 单独成行;将本模组中所有可替换材料都通过该操作进行处理。

Valheim: 英灵神殿 的热门 MOD

探索适用于 Valheim: 英灵神殿 的最佳MOD,带来新功能、升级画面,以及令人兴奋的方式来改变您的游戏体验。

使用 Xmod 解锁 Valheim: 英灵神殿 的全部潜力 — 今天就探索这些顶级 MOD!