NIFDiff

创作者: floydles
已更新:2026-07-30 02:08:21
1.4MB

关于此 MOD

一个独立的、无需Qt的3D工具,用于并排查看和对比NIF文件(Bethesda的NetImmerse/Gamebryo模型格式——天际、天际特别版、辐射4等)。
NIFDiff——Bethesda游戏NIF模型并排对比工具




NIF差异 向……敞开心扉 一次加载8个NIF网格 并同步它们的摄像机、灯光和文件选择——这样你就能看到 正是如此 网格的两个版本之间有何差异。视差/PBR模组对比原版、两个模组争夺同一资源,或是你自己编辑前后的对比。

这是一个独立的、无需Qt的独立工具:一个单一的 2.3 MB 可执行文件,约半秒即可冷启动。无需安装程序,无需运行时框架,无后台服务。双击.nif文件,即可开始对比。

📺 演示视频


🆕 v1.4.176 — FaceGen 修复

  • 修复了看不见的FaceGen头发 — 部分模组在头发网格中烘焙了错误的纹理Alpha值,导致头发显示为完全秃顶;现在默认会正确显示(可切换查看原始文件值)
  • 修复了同步文件后其他窗格中残留的过时缩略图高亮问题。
  • 大型模组文件夹中启动和缩略图加载更快、响应更迅速

🆕 v1.3.171 — 支持 FaceGen

  • FaceGen面部几何体 (heads/eyes/mouth/hair) 现已支持 — 此前不支持,现在可正确比较与渲染

🆕 v1.2.168 — 节点与骨骼差异

  • 节点 / 骨骼变换差异 (`L`) — 跨面板比较完整的NiNode层级结构:平移/旋转/缩放变化、新增/移除/重新指定父级的节点,以及模糊匹配检测,支持CSV/JSON导出
  • 碰撞材质比较 — Havok `bhkCompressedMeshShape` 块材质已在材质对比面板中进行比较并凸显显示
  • 差异表列现在可通过拖拽调整大小,并为狭窄的状态/类型列提供简洁标签
  • 图像平移不再受限于图像边界——无论缩放或旋转如何,均可自由平移

🆕 v1.1.163 — 纹理加入对比

  • 每个面板现在都可以显示纹理,而不只是一个 NIF——同一个面板、同一条缩略图栏,在你浏览 `.dds`/`.png`/`.tga`/`.bmp` 时切换显示内容
  • 平滑指针缩放、限制平移、旋转、适应屏幕、R/G/B/A通道隔离、棋盘格透明以及DDS的mip层级浏览
  • 多游戏数据 — 一次性注册《天际》传奇版、《天际》特别版和《辐射4》的Data文件夹;纹理查找范围限定于每个NIF对应的游戏,因此同名资源不会跨游戏解析。
  • 直接浏览档案库 — 缩略图栏现在可以像浏览文件夹一样进入 BSA/BA2/ZIP/7z/RAR 文件;在纹理检查器中双击一行,即可在完整图像面板中打开该材质的纹理
  • 纹理文件的缩略图条卡片现在会显示真实的解码预览,而非占位图标;窗口标题也会跟随当前激活的文件变化。

🆕 v1.0.116 — 首次发布

以下内容均为新增内容。重点摘要,若您只阅读一份列表:

  • 最多8个窗格,摄像头和光照已同步——围绕Vortex“打开所有冲突文件”流程构建。
  • 材质差异面板 — 一张真正逐项对照的表格,而不是两个窗口加你的记忆
  • 视差 / 复杂材质 / 真物理渲染 渲染中,每个开关均可切换,以便您查看网格采用的路径
  • 动画播放 用于动画静态内容,跨面板锁相
  • 用户可编辑着色器 支持1秒热重载

⚡ 为什么会有 NIFDiff

NifSkope是每个人用来检视NIF文件的工具——但当你真正需要解答时 这个模组改了什么?,你的结局是:

  • 打开两个NifSkope窗口,来回对照着看
  • 手动匹配的镜头角度总是无法完美对齐
  • 遍历方块树以比较两个纹理槽位
  • 总是分不清纹理是来自松散文件还是BSA

NIFDiff 专为对比功能而设计。 加载两个网格,环绕一次——二者同步运动——选中一个子网格,差异表便会显示哪些数值实际存在不同。

🔍 并排对比(1–8 格视图)

  • 1–8个等宽网格窗格(每行1–4个,两行5–8个),可在运行时添加或移除
  • 同步视图 — 一次轨道/平移/缩放操作将同时移动所有模型
  • 同步光照 — 一道光线变幻触及每块窗格
  • 已同步文件 — 在任意一个窗格中切换到下一个网格,所有窗格都会切换到各自文件夹中的同名文件。
  • 每次同步均独立切换,因此您可以冻结其他同步以进行单独的对比前后效果
  • 同步 / 专属徽章 一眼就能看出异类——缺少网格的模组会立刻显现出来

🧩 专为 Vortex 模组管理器用户打造

这正是NIFDiff在你的工具箱中占有一席之地的原因。

Vortex的冲突编辑器可以打开冲突文件的每个模组版本。NIFDiff通过单实例转发捕捉所有版本,并自动将它们排列整齐:

  • 打开所有8个覆盖同一网格的模组→ 一个窗口,8个面板,全部同步
  • 无需手动设置,无需拖拽文件
  • 立即查看你实际获取的是哪个模组的版本——以及它让你付出了什么代价

打开一个.nif文件,其 名称 与已打开的匹配文件始终会在同一窗口的新窗格中打开。不相关的文件则会启动自己的窗口。

📋 材质差异面板 — 真正的“差异”

选择一个子网格并按下 I:

  • 其BSLightingShaderProperty数据表——着色器类型与标志、每个纹理槽位、高光/自发光/透明度/UV值、透明与深度状态
  • 并肩同行 每个其他窗格中的同名网格,差异值已高亮显示
  • 宽松标记 vs BSA标记 — 当两个面板将相同纹理路径解析到不同源时,它会亮起
  • 悬停纹理单元格以查看其完整路径和解析后的源;右键单击可复制

🔬 纹理检查器

按下 T 列出所选网格的绑定纹理及其分辨率、像素格式、mip数量和解析源——然后在二维视图中预览任意纹理槽,支持R/G/B/A通道分离。无需离开查看器即可读取RMAOS/复杂材质通道内容。双击一行即可在完整图像面板中打开该纹理——支持完整缩放/平移/mip/通道工具,无需重新解码。

🖼️ 纹理是顶级窗格

将 `.dds`/`.png`/`.tga`/`.bmp` 文件拖放到某个面板上(或在缩略图条中点击一个),该面板即变为完整的2D图像视图——无需单独的窗口,也不会新建面板,而缩略图条仍会停留在您上次浏览的位置继续滚动。该缩略图条还能直接深入 BSA/BA2/ZIP/7z/RAR 存档——即便纹理深藏在压缩包内,打开方式也如同松散文件一样顺畅。

  • 流畅的指针缩放,无限制平移(不限制在图像范围内),90°/180°旋转,适应屏幕及重置
  • 可切换的平滑/最近邻采样,以及实时信息栏(尺寸、格式、缩放、旋转)—— I 打开完整详情,包括mip级别和源压缩信息。
  • 直接浏览DDS的mip链(Ctrl+[ / Ctrl+],或通过右键菜单)查看纹理在较小尺寸下的表现
  • 透明度后的棋盘格背景、R/G/B/A通道分离,以及针对自动透明度与数据判定策略出错时的罕见纹理提供逐窗格Alpha通道覆写。
  • 压缩DDS(BC1-BC7)以原生块格式直接上传至GPU——4K纹理实现即时打开
  • 启用同步视图后,缩放/平移/通道切换会在各面板间同步联动,就像3D摄像机那样——将漫反射贴图与其法线贴图对齐排列,或比较两个模组对同一纹理的处理版本。

✨ 现代材质支持(不止原版)

  • 《香草》点亮路径: 高光、自发光/放射光、带每种材质立方体贴图的环境映射、柔和光/边缘光/背光、模型空间法线、多层视差、皮肤/头发着色、面部着色遮罩、特效着色器、Alpha混合/测试、贴花、双面材质
  • 视差 (_p.dds):视差遮挡映射,带高度场自阴影
  • 复合材料 (ENB / Community Shaders _m.dds):R/G/B/A 分别读取为反射 / 光泽度 / 金属度 / 高度,由生态系统的标准规则检测——通过CPU端探测排斥平坦透明通道和二进制遮罩,使虚假的“高度”字段不会产生无用的视差贴图。
  • True PBR (Community Shaders / PBRNifPatcher):SLSF2_Unused01标记、RMAOS通道约定、GGX/Cook-Torrance着色、位移POM,以及来自程序化IBL立方体贴图的环境镜面反射,使金属材质获得有方向性的彩色反射
  • 切换每条路径的开关状态 (视差/复合材质/真PBR)对比有无此效果的网格体——快速找出某个面板为何看起来不同的最快方法

可信的预览,而非ENB/CS的精确复现——但已足够接近,足以发现网格模型的实际问题。

🎬 动画播放

游戏世界中的动态元素——水车、风车、陷阱、动画门——直接在你的查看器中播放:

  • 播放/暂停、序列下拉菜单(“空闲”、“打开”等)、可拖动的“时间”滑块、循环以及速度(0.25–2倍)
  • 同步动画 让所有面板保持同步——两个模组对同一动画网格的版本并排运行 阶段中
  • 待机时若无播放,CPU占用保持为零。

仅支持NIF内嵌的刚性动画——角色的骨骼动画位于外部Havok .hkx文件中(NifSkope同样无法播放这些动画)。

🧭 不再与你较劲的导航

  • 左键拖拽旋转,中键/右键拖拽平移,滚轮朝光标方向缩放 — 外加DCC标准 替代和弦 (Alt+左键/中键/右键) 便于Maya/Blender肌肉记忆
  • 屏幕XYZ坐标轴指示器 在每个面板中——点击轴向控制点,即可动画捕捉到该视图
  • Blender风格的小键盘视图(1/3/7=前/右/顶,Ctrl为对面视图,5=切换正交视图)
  • 正交模式 — 调整视角,让两个剪影1:1对齐
  • 围绕你的选择旋转 ——被选中的子网格保持不动,其余部分围绕其旋转
  • 特写镜头确实有效 — 靠近时平移和缩放不会冻结,且缩放可以进行推拉 通过 枢轴点进入模型内部
  • 移动 / 缩放 / 旋转灵敏度滑块和视场角滑块,所有窗格共用同一组设置。

📁 按窗格浏览文件夹

每个窗格底部都有自己的缩略图条,显示文件夹内容。 那个 窗格打开各自文件——因此,当比较来自不同模组文件夹的文件时,每个窗格会浏览各自的文件。

  • 将“Sibling .nif files render as real”翻译成中文,在游戏本地化语境中,“.nif”是NetImmerse/Gamebryo格式的文件扩展名,常用于角色模型。“Sibling”指同级文件。结合渲染场景,可以译为: 同级.nif文件以真实形式渲染 3D缩略图从每个模型自身宽高比的四分之三角度进行取景。
  • 子文件夹和“..”图标用于浏览;支持键盘导航,并可键入快速选择
  • 在后台线程池中生成 — 大文件夹也绝不会卡顿或阻塞界面
  • 可调整大小(拖动条带边缘),含小/中/大预设;一键关闭所有条带

🗂️ 修正贝塞斯达资源处理方式

  • 加载Skyrim LE / Skyrim SE / Fallout 4的NIF文件
  • 纹理解析中 引擎指令: 覆盖文件夹 → NIF自身所在目录 → 游戏数据 → BSA/BA2档案
  • 多游戏游戏数据 — 同时注册 Skyrim LE、Skyrim SE 和 Fallout 4 的文件夹(侦测 查找所有已安装的游戏; 设为激活 将文件夹分配给活动NIF所属的游戏)。查找范围按游戏划分,因此两个游戏的资产若共享路径,则无法交叉解析。
  • 松散纹理模组的覆盖文件夹列表,应优先于游戏数据
  • 已命名但未解析的漫反射渲染 品红 与其默默无闻地融入纯白之中——缺失内容反而无处遁形
  • 纹理在进程范围内进行池化:每个解析后的唯一资源仅解码并上传一次,在所有窗格间共享。

🎨 用户可编辑着色器(高级)

HLSL 源码位于可执行文件旁的 shaders 文件夹中。编辑并保存其中一个——应用 在一秒内热重载,无需重启。编译错误会保留之前的着色器并显示提示;损坏的编辑绝不会让查看器空白。

你也可以 将渲染器路由到你自己的着色器 每种材质类型通过shaders.ini配置:

[程序]
MyToon=custom\MyToon.hlsl

[绑定.网格]
Rule1=pbr -> MyToon
Rule2=* -> Lit

选择器:pbr / complexmat / parallax / envmap / effect / decal / node:<子字符串> / tex:<子字符串> / *。清单和每个着色器源文件都支持热重载,因此单条规则即可仅重新样式化对比中的True PBR网格(包括缩略图),而其他内容保持默认着色。删除文件即可恢复默认行为(默认情况下——未修改的安装零启动开销)。

⌨️ 快捷键(日常使用)

  • 左键拖拽 / 中键-右键拖拽 / 滚轮: 环绕 / 平移 / 缩放至光标
  • 按住Alt键+鼠标左/中/右键拖拽: 轨道 / 平移 / 推拉(DCC和弦)
  • 小键盘1/3/7: 前置 / 右侧 / 顶部(按Ctrl+切换至对面)— 小键盘5: 正交切换
  • 小键盘. / 小键盘0: 帧选择 / 整个场景
  • F / R: 重置所有视图 / 活动面板的视图 — C: 聚焦选定的子网格
  • I / T: 材质差异面板 / 纹理检查器
  • G X W H N Shift+N M: 网格 / 坐标轴 / 线框 / 隐藏 / 法线 / 切线 / MSAA
  • 1–8 / Tab: 选择活动窗格
  • Ctrl+O / Ctrl+Shift+O: 打开到活动窗格/新窗格
  • 左/右,主页/结尾: 轻扫缩略图条—— 回车 / 退格: 进入文件夹 / 返回上级
  • Ctrl+E / F12: 在资源管理器中显示 / 保存截图
  • 图像面板 — 滚轮 / 拖拽 / F: 缩放 / 平移 / 适应屏幕 — [ ] \ Ctrl+[ Ctrl+] 旋转 / Mip 层级

小键盘视图键需要开启NumLock。

🧭 快速开始

  • 注册您的 游戏数据 文件夹一次(资源组 → 检测 找到所有已安装的Skyrim/Fallout游戏(因此BSA/BA2纹理可以解析)
  • 将.nif文件拖放到窗格上 — 左侧约75% 替换 它,右侧约25% 插入一个新的窗格
  • 一次性拖入多个同名.nif文件,即可在等大的面板中排列显示。
  • 注册.nif文件关联,以便直接从资源管理器或Vortex中打开网格文件

⚙️ 轻快之选

  • 2.3 MB 单个可执行文件,无需安装程序
  • 大约半秒内冷启动——BSA扫描在后台并行运行
  • 模型加载是端到端异步的:窗格立即出现,模型流式载入,纹理随解码而浮现
  • 无Qt,无Electron,无运行时框架,无后台服务
  • 完整会话持久化:打开的文件、面板布局、窗口位置、游戏数据路径、最近使用的文件

🎯 适用人群

  • 任何解决mod之间网格冲突的人(尤其是Vortex用户)
  • 网格作者检查自己的前后对比
  • 任何使用Parallax / Complex Material / True PBR设置并需要了解网格体实际路径的人
  • 厌倦了来回切换两个NifSkope窗口还得眯着眼看的人

📋 需求

  • Windows 10/11,64位
  • 支持Direct3D 11的GPU(近十年内的任何产品)
  • 用于存档备份纹理的Skyrim/Fallout数据文件夹(可选——无此文件夹时,松散文件也能正常使用)

对比工具NifSkope从未做到:8个网格、一个摄像机,外加一张差异表,告诉您到底改了什么。

🔗 源代码

Github — MIT 许可,免费且开源。

NIFDiff由作者独立开发构建。 图片2 应用程序框架,其NIF解析和3D逻辑均移植自 NifSkope (BSD)。完整署名信息请参阅仓库中的THIRD_PARTY_NOTICES.md文件。

上古卷轴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!