SuperAPI AI 工具集

skyrim-nif

设计与创作

查看项目

更新于 10-30 16:18

技能介绍

该模块用于读取和修改《上古卷轴5:天际》的 NIF(NetImmerse Format)3D 网格文件,依赖 Spooky's AutoMod Toolkit。所有命令需在工具包目录下执行,例如:cd "<TOOLKIT_PATH>"。

用途与主要能力 模块分为两类命令。内置命令基于 .NET:nif info 输出文件名、大小、头字符串和 NIF 版本;nif scale 按指定倍率缩放网格,可指定输出路径;nif copy 复制并校验 NIF。nif-tool 命令通过捆绑的 Rust 二进制(tools/nif-tool/)提供高级操作,支持单个文件或递归文件夹:list-textures 列出每条纹理路径及块索引和槽位号;replace-textures 在 BSShaderTextureSet 纹理路径中做不区分大小写的子串替换;list-strings 显示 NIF 头字符串表条目(节点名、块名);rename-strings 重命名字符串表条目;shader-info 显示 BSLightingShaderProperty 的 SF1/SF2 标志,并将存在眼部残影问题的文件标记为 *** EYE_ENV_MAP ***;fix-eyes 通过清除 Eye_Environment_Mapping(SF1 第 17 位)、设置 Environment_Mapping(第 7 位)并修正周边标志来修复 FaceGen NIF 的眼部残影;verify 确认每个 NIF 可解析并重新序列化且无数据丢失;restore 恢复由 replace-textures、rename-strings 或 fix-eyes 生成的 .nif.bak 备份。

使用方式 replace-textures 与 rename-strings 均需 --old 和 --new,支持 --dry-run 预览与 --backup(默认 true)。纹理槽位参考:0 漫反射、1 法线、2 发光、3 视差/高度、4 环境/立方体贴图、5 环境遮罩、6 次表面色调、7 背光贴图。要改 .dds 纹理路径用 replace-textures,要改节点/块名用 rename-strings。所有命令支持 --json 输出结构化结果。常见流程为:先对文件夹运行 verify,再 list-textures 查看现状,接着用 --dry-run 预览替换,确认后正式执行,必要时用 restore 回滚。

安全模型与限制 每次修改后会重新解析输出并检查块数量再写入;校验失败时输出 VALIDATION FAILED 且不保存,原文件保持不变。NIF 块以原始字节存储,仅改动目标数据。模块无法从零创建网格、编辑顶点/面、创建或编辑绑定骨骼,也不能在 LE 与 SE 间转换版本;这些需借助 Blender + NifTools、NifSkope 或 Cathedral Assets Optimizer。nif-tool 仅支持 SSE,要求 NIF 版本 20.2.0.7 且 BS 版本 ≥83。纹理路径相对于 Data 文件夹。建议批量修改前先 verify,并对新文件夹先 --dry-run。