SAF - 空军副司令

SAF - 空军副司令

Starfield动画框架(SAF)是一个用于在Starfield中播放自定义动画的框架,设计为NAF(原生动画框架)的现代对应版本,适用于当前游戏版本。

Starfield 动画框架 (SAF) 是一个用于在《星空》中播放自定义动画的框架,被设计为 NAF(原生动画框架)的现代对应版本,可与当前版本的游戏兼容。创建 SAF 主要有两个原因:

  • 原版 NAF 使用的 CCF(自定义命令框架)已不再维护,且无法与最新版本的《星空》正常配合;
  • 需要一个功能类似 NAF,但构建于当前生态(SFSE + CommonLibSF)和新的现代命令框架(MCF)之上的工具。

该框架是一个 SFSE 插件。它注册了自己的控制台命令 saf,可让你:

  • 在玩家或选中的角色上播放动画,
  • 从外部文件(如 GLTF、GLB)加载动画,
  • 控制混合时间、速度、播放模式等(取决于具体命令和参数)。

SAF 的内部逻辑仿照 NAF:

  • 动画引擎直接作用于角色骨骼,
  • 动画文件中的数据映射到角色骨骼上,并在当前状态之上应用,
  • 该结构试图尽量减少对游戏其余部分的干扰——当动画结束时,角色恢复正常行为,
  • 角色骨骼与 NAF(HumanRace.json)中的相同。

当前行为(选中 + 可选 ID)

  • saf play <动画>
    • 如果在控制台选中了 NPC(点击它们,其 FormID 显示在顶部),则动画在该 NPC 上播放——无需在命令中输入 FormID。
    • 如果未选中 NPC 且准星下没有目标,则动画在玩家身上播放。
  • saf play <动画> <NPC_FormID>
    • 仍然像以前一样工作:强制在具有给定 FormID 的 NPC 上播放动画,无论控制台选择如何。
  • saf stop
    • 停止玩家当前的 SAF 动画,除非选中了 NPC。
  • saf stop <NPC_FormID>
    • 停止具有给定 FormID 的 NPC 上的当前 SAF 动画。
    • 如果在控制台选中了 NPC,则可以直接使用 saf stop 而无需输入 FormID;选中的 NPC 将被使用。

(主要用于玩 +18 动画模组)

[center][b][size=5]所有更新说明均在日志标签页中[/size][/b] [/center]

[center][b][size=5]使用模组管理器加载模组的顺序:[/size][/b] -地址库 - 最高优先级, -动画模组, -身体模组, -其他模组, -SAF, -MCF, -SFPTE。 [/center]

对于最终用户

  1. 下载 StarfieldAnimationFramework.dll 文件以及一个 ini 和一个 pdt 文件。
  2. 将其放入 Data/SFSE/Plugins/ 目录。
  3. 将动画放入 Data\SAF\Animations 文件夹。
  4. 通过 SFSE 启动《星空》。

GitHub: https://github.com/mielu91m/StarfieldAnimationFramework-

致谢:

  • Snapdragon2 制作了 NAF(原生动画框架)——NAF 是 SAF 的直接灵感和参考点,
  • Libxe 制作了 CommonLibSF,没有它,为《星空》制作这类插件会更加困难。此文件使用 CommonLibSF,该库根据 GNU GPLv3 许可。
  • meh321 制作了适用于 SFSE 插件的 Address Library。
  • Ian Patterson 制作了 Starfield Script Extender。

感谢大家的美言。如果有人想支持我,可以通过 PayPal 或 BuyMeCoffee 进行。

(我正在攒钱买一台新笔记本电脑——我的 Acer Aspire VX5‑591G 有点散架了。)