鼓掌之间 发表于 2026-3-20 14:20

粒子风效 - SKSE插件(2026-04-10更新)

本帖最后由 鼓掌之间 于 2026-5-16 17:33 编辑

转自:https://www.nexusmods.com/skyrimspecialedition/mods/174812

本插件通过SKSE在游戏引擎层面运行,可完美兼容原版游戏、DLC及各类MOD新增的粒子效果,无需替换模型,也不会产生任何冲突。

MOD说明
粒子风效可让游戏内所有粒子效果动态响应风速与风向的变化,大幅提升画面真实感与沉浸感。
所有效果均通过SKSE在游戏运行时生效,可完美兼容原版游戏、DLC及各类MOD的粒子效果。
本MOD不会替换任何模型文件,不会修改任何游戏记录,直接在引擎层面对粒子效果进行控制。这意味着粒子会随天气状况的变化自然响应,无需额外补丁,也不会产生冲突。

本MOD的工作原理,是在游戏运行时将引擎内置的风效修改器注入粒子系统中。这套系统其实一直存在于游戏引擎内,只是原版游戏默认没有启用它。

本MOD与《Wildfire》的适配效果极佳——这是一款开发中的MOD,目前已在QTR Discord服务器开放免费公测。
本MOD的创作灵感最初就来自《Wildfire》,也正因为这项功能的普适性极强,我将其制作成了独立插件发布。

---

️技术细节
- 以SKSE插件的形式实现
- 影响所有粒子系统(包括原版、DLC、创作俱乐部、MOD新增的粒子效果)
- 在游戏运行时,将原生风效修改器注入粒子系统
- 风效的影响(风向+强度)完全由原版游戏原生机制处理
- 无Papyrus脚本、无模型修改、无ESP/ESL格式的MOD文件
- 无需任何设置,自动对所有粒子效果生效

---

兼容性
本MOD为SKSE插件,兼容以下游戏版本:
- 1.6.1170:完全支持
- 1.6.640:大概率支持,恳请玩家测试后反馈确认
- 1.5.97:完全支持,感谢firefg的测试确认
- VR版:完全支持,感谢davidou64的测试确认

同时兼容:
- 所有天气大修MOD
- 所有粒子/视觉特效(VFX)MOD
- 所有模型替换MOD
- 所有ENB/光影预设

只要带有粒子效果,本MOD就能生效。
由于效果在游戏运行时加载,不会与新增、修改粒子效果的MOD产生任何冲突。

---

同类MOD对比
部分MOD通过手动编辑模型文件,为特定粒子效果添加风效修改器来实现类似效果,例如:
- Rudy Fix for Smoke(Rudy烟雾修复)
- FYX - Sparks of Fire reacts to the Wind(FYX - 火花风效响应)

这类MOD会修改.nif模型文件,仅对单个资产逐个应用风效。
与基于模型编辑的解决方案不同,本MOD的方案是完全动态的,会在运行时全局生效。
如果某个粒子系统已经自带风效修改器,本MOD会完整保留原有设置,不会进行覆盖。

---

前置需求
- SKSE:https://bbs.3dmgame.com/thread-6550387-1-1.html

- SKSE插件地址库:https://bbs.3dmgame.com/thread-6549645-1-1.html

源代码
核心代码如下:

SKSEPluginLoad(const SKSE::LoadInterface *skse) {
    SKSE::Init(skse);
    Hooks::InstallHooks();
    return true;
}
static bool HasWindModifier(RE::NiParticleSystem* ps) {
    if (!ps) return false;
    auto& list = ps->GetParticleSystemRuntimeData().modifierList;
    for (const auto& mod : list) {
      if (skyrim_cast<RE::BSWindModifier*>(mod.get())) {
            return true;
      }
    }
    return false;
}
struct LinkObjectHook {
    static void Hook(RE::NiParticleSystem* a_this, RE::NiStream& a_stream) {
      original(a_this, a_stream);
      if (!HasWindModifier(a_this)) {
            auto wind = RE::BSWindModifier::Create("ParticleWind", 5.0f);
            if (!wind) return;
            a_this->AddModifier(wind);
      }
    }
    static inline REL::Relocation<decltype(Hook)> original;
};
inline void InstallHooks() {
    REL::Relocation<std::uintptr_t> vtbl{RE::VTABLE_NiParticleSystem};
    LinkObjectHook::original = vtbl.write_vfunc(0x19, LinkObjectHook::Hook);
}

---

下载地址:

**** Hidden Message *****





姚嘞个摇1 发表于 2026-3-20 14:29

看到楼主这么努力分享,我只能顶个贴感谢一下了!感谢论坛,感谢LZ热心分享!

三朝元老 发表于 2026-3-20 15:36

666666666666666

櫻華聖紅·咲 发表于 2026-3-20 19:01

66666666666

lmthunder 发表于 2026-3-20 19:23

谢谢你的分享~~~

欧帕里斯 发表于 2026-3-20 21:28

谢谢!!

老油条_汤姆 发表于 2026-3-21 09:12

6666666666666

ft1139964 发表于 2026-3-21 16:20

感谢分享

吴灬潇 发表于 2026-3-21 20:51

1212121212121212121212

庞渺森 发表于 2026-3-22 10:04

+666666666666666666

鼓掌之间 发表于 2026-3-23 16:53

2026-03-23更新

鼓掌之间 发表于 2026-3-29 19:51

2026-03-29更新

鼓掌之间 发表于 2026-3-30 15:36

2026-03-30更新

txyqw02 发表于 2026-3-30 15:59

{:3_121:}

3dm_20355378 发表于 2026-3-31 10:22

感谢分享,Thanks

1994454336 发表于 2026-4-8 02:45

666666666

鼓掌之间 发表于 2026-4-10 10:29

2026-04-10更新

左转最末 发表于 2026-4-28 11:56

1111111111

阵风大热天 发表于 2026-5-27 00:25

6666666666666666

cwg0821 发表于 2026-5-27 00:48

感谢楼主分享!

chy2 发表于 2026-7-9 21:48

1111111111111111
页: [1]
查看完整版本: 粒子风效 - SKSE插件(2026-04-10更新)