DeadMesh - MOPP碰撞验证器

创作者: Tesfantom
已更新:2026-07-04 14:18:48
13.5MB

关于此 MOD

一个用于检测损坏碰撞体的程序。DeadMesh离线运行Havok物理运算,从各个方向遍历网格中的每个碰撞三角形,并精确标出可能导致崩溃的网格。
描述


某些碰撞网格包含一棵小型搜索树,它将物理引擎指向一个三角形。如果该树指向的三角形不存在(导出不良、碰撞重建损坏、移植粗糙),引擎会读取不应访问的内存。结果可能是出现隐形墙、卡顿,或直接崩溃到桌面,且无错误提示,也无法得知是哪个模组导致的。

DeadMesh读取你的网格(松散 .nif 内部的文件与网格体 .bsa )存档,检查引擎能触及的每一个碰撞三角形,并告诉你哪些网格损坏了,以及每个损坏网格是会导致游戏崩溃还是仅仅出现小故障。无需启动游戏。

DeadMesh不会猜测。它离线运行Havok自身的碰撞数学:重新实现引擎的MOPP字节码和三角形解码器,并像游戏运行时那样自行遍历碰撞树。然后它比游戏所能做到的更进一步。在游戏中,引擎只解析单步或单次命中实际触及的那几个三角形。而DeadMesh会一次性从各个角度遍历网格可能产生的每个分支和每个三角形。如果没有任何一个越界读取,则该网格被证明对该崩溃安全。如果哪怕有一个越界,该网格就是一个等待合适角度的崩溃隐患。


使用应用

奔跑 DeadMesh.exe.
2. 选择路径:一个文件夹(您的 Data\meshes, 一个MO2模组树,单个模组)或一个 .nif.
3. 选项:
   - 在BSA档案中搜索模型: 也扫描.bsa内部的网格(默认开启)。
   - 多核: 使用所有CPU核心(大扫描时更快)。
   - 显示清洁 / 无MOPP状态: : 同时列出健康的网格(默认关闭,因此您将只看到问题)。
   - 语言: 英语或俄语或 中文 - 特别感谢 899606070422 为了中文翻译!
4. 按下 扫描危险度最高的行会优先显示。
5. 点击一行查看简明解释。
6. 导出报告 将完整详细信息保存到 .csv, .jsonl, .txt.

要求:

Windows 10或11,64位。便携版,无需安装:解压整个文件夹并运行DeadMesh.exe。适用于Skyrim SE、AE、VR网格构建。

判决结果的含义

坠毁风险(红色) 碰撞损坏可能导致游戏崩溃。请修复或移除该网格。
碰撞异常(橙色) - 垃圾碰撞三角形。通常是隐形墙或卡顿,崩溃的情况很少见。
好的(绿色) 碰撞没问题。
原始碰撞 简单盒体、球体或胶囊体碰撞。此错误不可能在这里发生。安全。
无碰撞 仅视觉网格(纹理、贴花、静态)。正常。
其他碰撞类型 - 碰撞类型:此错误无法影响。安全。
可疑 - 数据异常或损坏,值得快速人工检查一下。
无法辨认 - 不是有效的网格,或已损坏。
已跳过 文件大小超过限制。

大多数网格都没问题。在36000个网格的加载顺序中,只有约25个损坏,几乎全部来自同一个模组。DeadMesh在真正出现问题时才会保持沉默。

命令行 (dmscan.exe)


同样的引擎,但没有窗户:
dmscan "C:\path\to\mods" --out modscan # 模组列表,自定义报告名称
dmscan "C:\path\to\one_mod" # 单个模组
dmscan "C:\...\Skyrim Special Edition\Data" # 游戏Data文件夹
dmscan "C:\path\to\mods" --no-bsa # 仅松散文件,跳过BSA
dmscan "C:\path\to\mods" --jobs 4 # 限制为4个核心
dmscan "C:\path\to\mods" --out "C:\Temp\scan" # 报告输出到指定位置
dmscan "C:\path\to\mods" --ru # 用俄语写报告
它所寻找的

一个具体的杀手:指向越界的碰撞。在Havok碰撞网格中,三角形列表和搜索树必须保持一致。当它们不一致时,搜索树会将引擎发送到数据末尾之外,进入野指针(崩溃)或落到垃圾三角形上(隐形墙、卡顿)。DeadMesh能精准定位此类问题,涵盖压缩网格、列表和三角带碰撞。

它所不寻找的

诚实胜过一长串功能列表。DeadMesh 不具备:

  • 检查布娃娃、物理实体或约束(属于不同系统),
  • 检查导航网格、寻路或人工智能设置,
  • 检查碰撞体是否与模型匹配(过大、偏移、形状错误),
  • 检查动画、贴图、材质、法线或多边形数量,
  • 检查你的插件、脚本或加载顺序,
  • 修复一切。它能找到损坏的网格。你可以在NifSkope或Outfit Studio中通过重新生成其碰撞来修复它。
它同样不会在打包的三角形条带碰撞上崩溃,因为引擎本身已对该类型进行防护,因此DeadMesh将其报告为安全。

更新日志



v 1.1.0
  • 结果的关键词筛选(路径 / 模组 / 缺陷类别,空格 = 与)
  •  仅导出可见行
  • 在运行之间记住上次设置
  • CSV文件可在Excel中正确打开,并支持西里尔字母
  • 启动时无硬编码路径
  • 文件属性中的版本
v 1.2.0


检测到一种新型崩溃:损坏的MOPP碰撞字节码,导致Havok在碰撞查询中途触发int3中断,这属于与常见三角形解码错误不同的引擎层级。
已确认在Clockwork SSE和World of Rudra SE附带的破损网格上实时存在问题。

v 1.2.1

  • 缺少的文件已添加


v 1.3 - 内置3D网格查看器



内置3D网格查看器 - 双击表格中的任意行,即可并排查看网格与Havok碰撞体。损坏的碎块以红色高亮显示,完好的网格以蓝色线框显示。 
透明度滑块,轨道/缩放,截图导出。BSA存档。
已添加简体中文本地化 🇨🇳 特别感谢 899606070422 为中文翻译!
此外,解析器还增强了抗崩溃能力,损坏或修改过的网格体不再导致应用冻结或崩溃。
v 1.4.0


  • 天际自身的碰撞搜索现已运行在DeadMesh内部——游戏在每一步和每次接触时执行的空间查询,取自游戏二进制文件。射线投射阶段测试了使用引擎自带的三角形解码器重建的真实碰撞表面。不是估算。运行的是游戏本身运行的同一套搜索。
  • 冻结与卡顿检测——预测一次物理查询会返回多少个三角形。标记“冻结风险”和“重度碰撞”。捕捉游离顶点及过于密集的碰撞体。已在游戏中确认,始终开启。
  • 隐形墙扫描器 - 标记碰撞存在但未绘制任何内容的位置。此前只能在游戏中撞上它才能发现。
  • 碰撞放置已修复——区块变换与多体变换选择此前均存在问题,现均已修复。已对照游戏自带的解码器进行验证。
  • 狭长且退化的碰撞体——在楼梯栏杆碰撞类后方找到了零面积和极薄的三角形。问题三角形已在3D视图中标出。
  • 可切换的扫描模式——在新设置窗口中提供六项独立检查。
  • 3D查看器 - 相机在网格间保持视角,按住鼠标中键平移,结果用颜色区分。
  • MOPP长度查找 - --len N 将崩溃跟踪中的字节码ID映射到确切的.nif文件,包括BSA存档内部。
1.4.1

- 3D查看器中的碰撞线框更清晰。网格剥离不再绘制杂散线条,预览现在像游戏引擎一样解码三角形(遍历MOPP树),并与NifSkope匹配。仅外观调整;判定和标记始终与引擎一致。
- 新增了Bug筛选器。问题计数器现在是一个下拉菜单 - 切换要显示的判定类别,表格将缩小至仅显示这些类别。

1.5.0








这是迄今为止最大的一次更新。崩溃查找核心更加敏锐,现在还内置了用于配合 AI 智能体的 MCP 服务器!程序运行更稳定,能捕捉到更多碰撞、更多缺陷类型,并新增了一个别人根本检测不到的“孤岛 MOPP”判定结果。以前 DeadMesh 主要通过程序界面来使用。现在你可以通过脚本驱动它,它还能自行渲染,并直接与 AI 对话。



  • 内置MCP服务器,供AI代理使用:运行dmscan --mcp,AI助手即可通过九个工具驱动整个引擎。无需Python,无需依赖,无需安装任何东西。连接后,它会教模型如何解读自身输出。现在,AI代理能看见引擎所见的一切——适配度、隐形墙、行走空洞、空腔、深度、质量、对齐——一目了然,并精确定位网格破损位置,精确到坐标。它还可以对比多个网格。
  • 改进3D窗口。现在会显示碰撞三角形数量,以及单个玩家物理查询所拉取的数据量。
  • 模型现在会分裂为多个分段,每个分段都被涂上不同的颜色。
  • 你可以选择单个碰撞体或模型的三角形,也可以选择模型或碰撞体的整个片段。
  • 你现在可以获取单个三角形或整个区段的大量信息:
    (两个系统,天际与Havok中的三角形坐标。质心、法线、倾斜角度(该面所处的角度)。该三角形所属岛屿的信息,以及碰撞体的整体Z范围,以便了解其高度位置。)
  • 您可以在窗口中刷新网格,无需重新扫描——只需按F5,最新版本就会加载进来,不会打扰您的相机视角。
  • 在3D窗口中添加了视角选择器 - 7种不同角度。
  • 3D窗口中的缩放和操控已优化。现在不仅可以按住鼠标中键平移视角,还可以使用鼠标右键进行操作。
  • 通过脚本驱动:你得到的是干净的JSON输出,而非报告。脚本或代理提出一个精准的问题,并据此采取行动。
  • 程序现在会绘制之前未显示的碰撞类型——代理网格和LOD网格——以及新增的“孤立MOPP”问题类型。
  • 适配热力图:现在可以从不同角度截取镜头,一张图中可展示多达4个。蓝色贴合模型,红色则悬于空白处。一眼便能看出碰撞是精准贴合还是垃圾判定,无需再靠猜测。
  • 在扫描结果中右键单击一行:可复制网格名称、完整路径,或跳转到文件或其BSA压缩包。
  • 最近的扫描文件夹,按修改日期排序,明显降低CPU负载。

1.6.0

最大的改动:DeadMesh现在能捕获全新一类损坏碰撞——倒置、单面形状,玩家会直接掉穿过去。另外还支持即时打开`.nif`文件,3D窗口更流畅,界面也更精致。

★ 捕捉反转(单面)碰撞——这是其他工具都无法发现的一类缺陷。由内向外构建的闭合碰撞体是单面的:其实体面朝向错误,导致玩家从其中掉落或卡住——而箭矢仍能击中它(射线检测是双面的),因此你无法通过射击发现该问题。原版网格体从不会出现这种情况。DeadMesh 在扫描中将其标记为“反转碰撞”,并在 3D 视图中将反转的外壳渲染为品红色——一眼就能看出哪块部件反转了、反转在何处。



当场打开任意 `.nif` 文件。将 `.nif` 拖到 `DeadMesh.exe` 上(或使用“打开方式”),或直接丢进程序窗口——它会立即以 3D 形式显示并给出判定结果,无需扫描文件夹,也不必等待。再拖入另一个文件,它会立刻切换,无需重新加载。几秒钟即可检查单个网格。

更好的3D窗口。围绕你选择的任意对象旋转(它保持为锚点,类似Blender),可完整翻转至底部,平移感知的轨道旋转,朝光标方向缩放,以及最小化/最大化窗口。
界面打磨。`Alt`+点击逻辑部件选择,整理后的右键菜单,“无碰撞”不再视为错误,以及各种拾取与选择修复。

上古卷轴5:天际 特别版 的热门 MOD

探索适用于 上古卷轴5:天际 特别版 的最佳MOD,带来新功能、升级画面,以及令人兴奋的方式来改变您的游戏体验。

2025-12-16 11:53:50

前置必备Mod

修改与Mod必备前置工具

ModOrganizerTeam2024-08-04 16:31:44

Mod Organizer(MO)是一个用于管理任意大小的Mod集合的工具。它是专门为那些喜欢尝试mods的人设计的,因此需要一种简单可靠的方法来安装和卸载它们。

天空用户界面

schlangster2017-10-04 05:03:26

界面优雅,对电脑友好,并具有许多高级功能。

非官方《上古卷轴5:天际》特别版补丁 - USSEP

Arthmoor2025-09-01 07:56:09

一款针对《上古卷轴V:天际特别版》的综合性错误修复模组。非官方天际特别版补丁(简称USSEP)的目标是最终修复《天际特别版》中所有尚未被官方修复的错误。

静态网格改进模组 - SMIM

Brumbek2018-07-05 02:28:26

这是一个旨在大幅提升《上古卷轴5:天际》中无数静态3D模型外观的大型项目。简而言之,我希望通过这个项目让天际的建筑、杂物、家具和景观更加美观。

SKSE插件的地址库

meh3212024-02-14 09:19:54

包含头文件和数据库,以便轻松实现 SKSE DLL 插件的版本独立性。

比赛菜单

expired69782024-01-27 03:38:17

角色创建菜单全面改版,新增多种自定义功能,例如多种RGBA战纹、身体彩绘、手部彩绘和脚部彩绘。(需要SKSE)

Fores Skyrim SE-FNIS SE中的新闲置

NexusModsCaretaker2020-02-19 01:47:03

Skyrim没有可能的自定义动画?错误的。FNIS行为允许添加不同类型的动画到游戏:闲置/姿势,顺序,家具,配对,杀戮,生物,等等。

使用 Xmod 解锁 上古卷轴5:天际 特别版 的全部潜力 — 今天就探索这些顶级 MOD!