
SAM - 星空动画合并器
小型 SFSE 插件,在游戏启动时合并动画索引,因此动画模组不再互相覆盖。无需插件文件:每个模组附带一个小片段。示例参见 Far Away Movesets。
查看大图描述
Starfield 只有在动画索引包含某个动画文件(.af)时才会播放它。该索引位于 Meshes\AnimTextData。
添加动画的模组必须修改此索引。如果两个模组各自提供一个完整索引,第二个索引会替换第一个。因此,只有一个模组能生效。
借助 SAM,每个模组只提供自己的动画列表(一个“片段”)。游戏启动时,SAM 会基于游戏索引和所有片段构建一个索引。因此,所有动画模组可以协同工作。
安装说明
使用 Mod Organizer 2
- 将该压缩包作为模组安装。
- 启用该模组。
- 通过 Mod Organizer 2 使用 sfse_loader.exe 启动游戏。
SAM 会将合并后的索引写入 Overwrite 文件夹。请将这些文件保留在 Overwrite 中。当你的模组列表发生变化时,SAM 会更新它们。
使用 Vortex
- 安装该压缩包。
- 启用该模组。
- 部署模组。
- 使用 sfse_loader.exe 启动游戏。
SAM 会将合并后的索引写入游戏的 Data\Meshes\AnimTextData 文件夹。Vortex 不管理这些文件。
主要功能
- SAM 在每次游戏启动时、游戏加载索引之前运行。
- 如果自上次启动以来没有任何变化,SAM 不会写入文件。此检查耗时不到 10 毫秒。
- SAM 会应用 Data\Meshes\AnimTextData\Fragments 中的所有片段。它不读取 Plugins.txt。你的模组管理器只会部署已启用模组的片段。
- SAM 不需要 .esm、.esp 或 .esl 文件。
- SAM 还会合并片段的偏移表和事件表(animationoffsets、animeventinfo)。
- 新动画标签:游戏只从其自身的归档中读取标签表(anim_actions.xtbl、anim_states.xtbl)。它从不读取散放的 .xtbl 文件。因此,模组无法通过文件添加标签。当游戏加载第一个动画图时,SAM 会在内存中将片段的新标签添加到游戏中,就像游戏处理自己的表一样。SAM 不会写入 .xtbl 文件。
- 如果另一个模组以散放文件形式提供完整索引,SAM 会将那个索引作为基础。然后 SAM 将片段添加到其中。
- 如果发生错误,SAM 会将其写入日志。SAM 从不会停止游戏。
前置需求
- Starfield,Steam 版本。
- SFSE(Starfield Script Extender)。使用 sfse_loader.exe 启动游戏。
- Address Library for SFSE Plugins。SAM 使用它来将你模组的新标签提供给游戏。
日志
SAM 将其日志写入 SFSE\Plugins\SfAnimIndexLoader.log。上一次启动的日志为 SfAnimIndexLoader.log.1。
- Mod Organizer 2:日志位于 SAM 模组文件夹或 Overwrite 中。
- Vortex:日志位于 Data\SFSE\Plugins。
卸载
- 禁用所有提供片段的模组。
- 仅 Vortex:部署模组。
- 启动游戏一次。SAM 会删除它写入的文件。
- 移除 SAM。
- 仅 Mod Organizer 2:删除 Overwrite 中残留的 Meshes\AnimTextData 文件。
注意: 如果你先移除 SAM,合并后的索引会留在游戏中。请先执行第 3 步,再执行第 4 步。
致模组作者
将以下文件放入你的模组中:
- Meshes\AnimTextData\Fragments<YourName>_animations.txt:每行一个动画文件(.af、.afx、.rig),并带有其从 Data 开始的完整路径。
- 可选:Fragments<YourName>\animationoffsets<hash>.txt 和 Fragments<YourName>\animeventinfo<hash>.txt,仅包含你添加的条目。
- 可选:Fragments<YourName>\tables\anim_actions.xtbl 和 anim_states.xtbl,仅包含你的新标签。如果某个标签未声明,该状态不会播放任何动画。
不要提供 animationfiles.txt 或 animationfiledata。SAM 会生成它们。将 SAM 设为你的模组的必需项。压缩包中的 README 给出了所有细节。完整示例请参见 Far Away Movesets。
致谢
如果没有这些项目,这一切都不可能实现。感谢:
- CALUMI.Animation,作者 Calaverah
- Animation IO,作者 deveris256
- SFSE 团队和 Address Library for SFSE Plugins
AI 免责声明
AI 协助用于代码编写和文本审阅(语法 / 拼写)
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。