动态风力框架 - SKSE插件

创作者: RavenKZP
已更新:2026-05-30 18:17:05
8.8MB

前置 MOD

使用 动态风力框架 - SKSE插件 时将自动安装

关于此 MOD

动态风框架是一个SKSE插件,它将《天际》的静态风转变为动态、完全反应的系统。它修改了原版的风,并将其作为一个源,可以影响动画、物理、物体和视觉效果。
模组描述
动态风框架是一个SKSE插件,它将《天际》中静态的风转变为动态且全面响应的系统。它修改了原版风,并将其作为可影响动画、物理、物体和视觉效果的源,使模组制作者能够以极低的性能消耗创造出沉浸式的、由风驱动的行为。
如果你是因为其他模组需要这个功能而来到这里:下载即可,开箱即用。
原版风是静态的,总是根据天气吹东风或东南风,没有变化,没有阵风,缺乏沉浸感!
简单创意:让风动起来,让世界随之回应。这个模组现已发展为一个框架,包含多个模块:
风管理器 – 模组的核心。控制:
- 全局风角度。该模块会使方向随机化,并随时间增加轻微抖动。
- 全局风速/强度。该模块为风力强度增添了沉浸式阵风效果,并支持可配置的最小/最大风力缩放,允许将天气风力值重新映射到不同的强度范围。
- 修复原版中室内及洞穴单元格存在风的问题。
2. 动画处理器 – 根据风力控制动画速度的模块。

3. 树木处理程序 – 控制原版树木动画的模块。它可以根据风力和风向角增大/减小树干、树枝和树叶摆动的柔韧性、振幅和频率。它还控制原版中未使用的功能:树木风向,因此树木会倾向于沿风向弯曲(特别适用于白杨等树种)

4. 旋转处理器 – 可根据风向旋转对象,或将其吸附至允许的角度(对于双面可飘动横幅非常有用)。

5. 推送处理器 – 可在风向上推动Havok物体的模块。作为“随风飘动”替代品效果完美。

6. 可见性处理器 – 根据风速和风向角控制物体可见性的模块。

7. 基础对象替换处理程序 – 使物体根据风力状态变化(例如:将不飘动的旗帜变为飘动的旗帜)。

8. 模型更换器 – 可以仅更改对象模型,而无需更改其基础对象或任何其他内容。

实验性功能,与基础对象交换处理程序几乎相同,但由于其局限性(如缺少动画),效果不如基础对象交换。在某些情况下仍然有用。
与以下搭配使用效果尤佳 粒子风,  SMP风 以及野火 - 野火是一个正在开发中的模组,目前以免费公开测试版形式提供。 QTR 不和谐服务器!
兼容性
此模组是一个SKSE插件,兼容于:
1.6.1170 - 是 
1.6.640 - 可能是 - 请有人确认一下
1.5.97 - 可能 - 请有人确认一下
VR - 大概 - 请有人确认一下
 
🌬️技术细节💨
实现为一项 SKSE插件
没有纸莎草脚本,没有网格,没有ESP/ESL
最低性能开销。
可随时安全安装与卸载
风系模组家族
粒子风 - 100%兼容
SMP Wind - 100%兼容
风之草地 - 100% 兼容
随风飘荡 推动模块可在不改变网格的情况下替换模组
天际风起 - 树木与动画模块可以替换模组,无需修改esp文件

要求
SKSE  
用于SKSE插件的地址库 
SKSE菜单框架 (可选)

模组作者指南
如果你想让模组新增内容加入风元素反应,可以使用 SKSE菜单框架 以使用所有游戏内工具
(就像在 游戏内更新器 )
每个模块都有其独特的属性集,你需要提供这些属性。
每个模块的绝佳示例都可以在这里找到: 动态风力 - 天际 
所有配置均使用.json格式。
文件名可以随意命名——只需将其放入正确的文件夹即可:
Data\SKSE\Plugins\DynamicWind\

风力强度重映射
剧透:  
显示
动态风力框架允许用户将原版天气的风力数值重新映射到自定义范围内。

这使得在不编辑天气记录的情况下,全局增强或减弱游戏的风感成为可能。

示例:

香草天气风力:0.1
最小风力强度:0.0
最大风力强度:1.0
最终风速:0.1

但是与:

最小风力:0.5
最大风力:1.0

相同的天气将变为:

最终风向风速:0.55

该系统将原版风向值线性插值至配置范围内。

通用参数:headingRotation 与 angleFactor
剧透:  
显示
这些参数出现在多个模块中,但它们的运作方式始终相同。

标题旋转
确定对象“前方”方向(朝向)的偏移量。
用于根据风向正确对齐物体。

示例:

许多横幅方向反了:它们需要偏移π
若不加以修正,它们会对风向产生错误的反应。

(更多细节请参见图片,以获得更直观的说明。)

角度系数
决定物体朝向(相对于风向)对最终结果的影响程度。

系统内部会计算物体朝向与风向之间的对齐程度:

1.0 = 完美乘风
0.0 = 垂直
-1.0 = 相反方向

此对齐随后使用angleFactor进行混合:

0.0 = 完全忽略角度(仅风力强度)
1.0 = 完全取决于对齐程度
0.5 = 部分影响力

它如何影响行为

在大多数模块中,风力强度是这样修改的:

finalWind = windStrength * finalFactor

其中finalFactor取决于对齐情况和角度因子。
当物体背对风向时,高于0.5的值可能会产生负的最终风力结果。

这意味着:

面向风的物件=效果更强
侧向物体 = 效果较弱
物体朝向相反 = 效果最小化或反转(取决于模块)

模块差异

动画 / 基础对象替换 / 模型替换
使用完整的对齐逻辑,风力强度可为负值(角度影响强度)
可见性
使用完整对齐逻辑,风力不能为负(角度影响风力)

旋转处理器
headingRotation仅用于定义基础朝向
物体直接旋转以匹配风向

简而言之(TLDR):

headingRotation = 修正物体朝向
angleFactor = 控制方向的影响程度

推送处理程序
剧透:  
显示
这个模块非常简单。模组会自动计算风向和风力——你只需要定义哪些物体应该被推动,以及它们对风的反应强度。
只有具有物理属性的物体(如悬挂的标牌、瓶子等)才能被风吹动。
文件夹:推送

选项:
formID —— base或refID
风力敏感度 – 物体受风力影响的强度

示例:
剧透:  
显示
{
    "FormID": "0x038B0F~Skyrim.esm",
    "windSensitivity": 1.0
}

这将把所有baseID为0x038B0F~Skyrim.esm(HangingRabbit01)的物体以强度倍数:1推入风向。


动画处理程序

剧透:  
显示
此模块根据风力条件控制动画速度。它通过加快或减慢物体的动画速度,使物体能够对风的强度和方向做出动态反应。

文件夹:动画

选项:
formID – 基础ID或引用ID
speedMin – 最小动画速度(风力 = 0.0)
speedMax – 最大动画速度(风速 = 1.0)
headingRotation——物体朝向弧度(范围:-π到π)
angleFactor – 风向对动画的影响程度(范围:0到1)

angleFactor == 0 表示完全不考虑角度
angleFactor > 0.5 可能导致动画反向播放(即倒退播放)

示例:
剧透:  
显示
​{
    "FormID": "0x0FC611~Skyrim.esm",   
    "angleFactor": 0.0,
    "headingRotation": 0.0,
    "speedMax": 5.0,
    "speedMin": 0.0
}

此操作会将所有baseID为0x0FC611 ~Skyrim.esm (FarmhouseWindMillFan)的对象的动画速度设置为0.0(无动画)(对应风速0,即最小值)至5.0(比原版快5倍)(对应风速1,即最大值)之间的数值。
此配置未考虑风向角。



{
    "FormID": "0x0FC611~Skyrim.esm",   
    "angleFactor": 1.0,
    "headingRotation": 3.14,
    "speedMax": 5.0,
    "speedMin": 0.0
}

这会将所有baseID为0x0FC611 ~Skyrim.esm(FarmhouseWindMillFan)的物体的动画速度设置为-5.0(比原版快5倍且反向播放)到5.0(比原版快5倍)之间的值,具体取决于风速和角度。
此配置考虑了风向角,因此与headingRotation方向相反的风将导致负系数。


旋转处理器
剧透:  
显示
此模块根据风向控制物体旋转。
如果allowedAngles未定义,物体会随风向持续旋转。
若定义了allowedAngles,则对象将根据风向(加载时)从提供的角度中选择最接近的旋转角度。

文件夹:轮换

选项:
formID – 基础ID或引用ID
headingRotation – 物体朝向方向(弧度制,范围:-π 到 π)
allowedAngles – 允许的旋转角度列表(以度为单位)

示例:
无allowedAngles时:雪风特效随风向平滑旋转
使用allowedAngles:水平桅杆上的旗帜——旗帜会转向其中一侧

示例:
剧透警告:  
显示
​{
    "FormID": "0x0197C7~Skyrim.esm",
    "headingRotation": -2.09439510239
}

基础ID为0x0197C7~Skyrim.esm(FXAmbSnowBlowingPlane)的物体会与风向对齐,偏移量为-2.09439510239。

{
    "FormID": "0x0C6CDA~Skyrim.esm",
    "allowedAngles": [
        110.0
        290.0
    ]
    "headingRotation": 3.1419997215270996
}

参考:0x0C6CDA~Skyrim.esm(杜尔城堡入口上方的旗帜),将根据风向自动对齐至110.0或290.0角度。
这使得旗帜能够与风向对齐,因此BasObjSwap模块可以更换其底座,根据风力情况让旗帜向左或向右飘扬。


可见性处理器
剧透警告:  
显示
此模块根据风力强度和风向控制物体的可见性。
可见度根据风力强弱,在最小值和最大值之间线性插值。

文件夹:可见性

选项:
formID – 基础ID或引用ID

minVisibility – 最小可见度值
maxVisibility – 最大可见性值
最小风力强度 – 能见度降至最低(及以下)时的风力强度
maxWindStrength – 能见度达到最大(及以上)时的风速

在minWindStrength和maxWindStrength之间,能见度呈线性插值。

headingRotation – 物体朝向角度,单位弧度(范围:-PI 到 PI)
angleFactor – 风向角影响程度(范围:0 到 1)

示例:
剧透:  
显示
{
    "FormID": "0x0197C7~Skyrim.esm",
    "maxVisibility": 1.0,
    "maxWindStrength": 0.5,
    "minVisibility": 0.5,
    "minWindStrength": 0.0
}

基础ID为0x0197C7~Skyrim.esm(FXAmbSnowBlowingPlane)的对象,在风速为0.0时可见度为50%,在风速为0.5至1.0时可见度为100%。
此配置未将风向角度纳入考虑。


基础对象交换处理器
剧透:  
显示
此模块根据风力条件交换对象,使其反映不同的风力状态。

文件夹:BaseObjSwap

选项:
表单ID – 基础ID或引用ID
headingRotation – 物体朝向的弧度(范围:-π 到 π)
angleFactor – 风力角度影响程度(范围:0 至 1)

交换物 – 交换条目列表(仅限基础对象):

formID – 目标基础对象
力量 – 此次交换的阈值

若风速(应用角度系数后)小于或等于风力强度,则使用此条目。
顺序很重要——条目应按从最弱到最强的顺序排序。
注意:
要创建闭合交换循环,你需要为每个基础对象提供配置。

示例:
剧透:  
显示
{
    "FormID": "0x0B343A~Skyrim.esm",
    "angleFactor": 0.5,
    "headingRotation": 3.140000104904175,
    "swaps": [
        {
            "FormID": "0x0B3439~Skyrim.esm",
            "strength": 0.25
        },
        {
            "FormID": "0x0B343C~Skyrim.esm",
            "strength": 0.5
        },
        {
            "FormID": "0x0B343A~Skyrim.esm",
            "strength": 0.75
        },
        {
            "FormID": "0x0B343B~Skyrim.esm",
            "strength": 1.0
        }
    ]
}

所有baseID为0x0B343A~Skyrim.esm(DBBannerAnim03)的物体,将随机切换为以下形态之一:
0x0B3439(DBBannerAnim01)适用于风力0.25或以下, 
0x0B343C(DBBannerAnim02)用于风力0.5或以下时, 
0x0B343A(DBBannerAnim03)用于风力0.75或以下时,
0x0B343B(DBBannerAnim04)适用于风力等级1.0或以下
顺序很重要,要创建闭环交换循环,您需要为每个基础对象提供配置。
此配置考虑了风向角,因此旗帜的风力强度将取决于其在世界中的旋转角度。


模型替换处理器

剧透:  
显示
该模块的工作方式与基础对象交换几乎完全相同,但并非交换基础对象,而是交换模型。

文件夹:ModelSwap

选项:
formID – 基础ID或引用ID
headingRotation – 物体朝向弧度(范围:-π 到 π)
angleFactor – 风向角度的影响程度(范围:0 到 1)

交换 – 交换条目列表:

modelPath – 模型的完整路径(不含Data\Meshes\)
力量 – 本次交换的阈值

限制: 
物体可能没有动画,并且可能无法正常工作。
模型加载时使用默认纹理,不会继承基础/参考模型的纹理。

由于这些限制,此模块比基础对象交换更为受限,但在某些情况下仍然实用。

示例:
剧透:  
显示
{
    "FormID": "0x0386AA~Dragonborn.esm",
    "angleFactor": 0.5,
    "headingRotation": 3.140000104904175,
    "swaps": [
        {
            "model": "DLC02\\Dungeons\\Apocrypha\\Animated\\Banners\\ApoBanner01.nif",
            "strength": 0.25
        },
        {
            "model": "DLC02\\Dungeons\\Apocrypha\\Animated\\Banners\\ApoBanner02.nif",
            "strength": 0.5
        },
        {
            "model": "DLC02\\Dungeons\\Apocrypha\\Animated\\Banners\\ApoBanner03.nif",
            "strength": 0.75
        },
        {
            "model": "DLC02\\Dungeons\\Apocrypha\\Animated\\Banners\\ApoBanner04.nif",
            "strength": 1.0
        }
    ]
}

所有基ID为0x0386AA~Dragonborn.esm(ApoBanner01)的对象,将替换为所提供的模型之一(与BASEObjSwap相同):
这是因为ApoBanners在模型中硬编码了某种动画,所以才有效?
(其他横幅模型需要动画控制器吗?——我不太清楚。)
顺序很重要。
要建立闭环交换循环,你需要为每个基础对象提供配置。
此配置会考虑风向角度,因此旗帜的风力强度将取决于其在世界中的旋转角度。


伐木工:
剧透警告:  
显示
此模块控制原版树木动画,使其能够动态响应风力。

文件夹:树

选项:
表单ID – 仅限基础 (非按参考标准)
回弹幅度
返回频率
分支灵活性
前振幅
前频率
叶片振幅
叶片柔韧性
叶子频率
侧向幅度
侧频率
树干振幅
躯干柔韧性

备注:
此选项无法按参考对象单独配置,只能按基础树进行配置。
最好的调整数值的方法是在游戏内进行:选中一棵树,使用SKSE菜单测试不同参数,并实时观察效果。


源代码

感谢:
三权之力 for "抓取并投掷" 推送模块的代码参考
Quanumyilmaz 适用于 "DAF“模型替换模块的代码参考”
谢谢 用于制作 源可用 这样我就能从中学习,并作为参考。

我的其他模组
请看一看 我的资料.

未来计划
看看这个 我的论坛个人资料“关于” 部分。

特别鸣谢
Quantumyilmaz 和 SkyrimThiago. 多亏了他们,我才知道怎么写SKSE插件。

我们所有Discord成员。
这个模组曾对我们所有Discord成员开放公开测试版。
我们的Patreon赞助者:
 MathieuTheDunmer、aBadHotDog、S-Matrix、D.23、约翰·肯尼迪、Nixa、𐌌𐌉𐌔𐋅𐌉Ꝋ、Thewyrmking95、康基·董, 

查看我们的Patreon,网址是 SkyrimThiago, 量子伊尔马兹,还有我自己!
加入我们吧 Discord 服务器!

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