动态窗口

动态窗口

动态变化的动画窗户,可以打开并显示外面的天气,营造一种‘舒适’且沉浸的氛围,树叶飘入室内或蝴蝶飞进来。

视觉与图形

[b][color=#ff7700][size=5]模组展示[/size][/color][/b][b]

[size=4]粒子效果展示:[/size]

[img]https://i.imgur.com/aVwZxWV.gif[/img]

[size=4]天气风味更新:[/size] [img]https://i.imgur.com/xEbtopN.gif[/img]

[size=4][b]蝴蝶展示:[/b][/size]

[img]https://i.imgur.com/9rstbDg.gif[/img]

[size=4][b]阳光束展示:[/b][/size] [img]https://i.imgur.com/ANhemx9.gif[/img]

[size=4][b]温室兼容性:[/b][/size]

[img]https://i.imgur.com/YXKlv5B.gif[/img]

[size=4][b]……更多内容即将推出![/b][/size]

[b][color=#ff7700][size=5]安装方法[/size][/color][/b]

  1. 安装 [url=https://smapi.io/]最新版本的 SMAPI[/url]。
  2. 将模组文件夹解压到 Stardew Valley/Mods 中。
  3. 使用 SMAPI 运行游戏。

[b][color=#ff7700][size=5]使用方法[/size][/color][/b]

安装后,即可在所有有效窗户上观看天气系统效果。如果想在游戏中更改粒子变量,强烈推荐使用 [url=https://www.nexusmods.com/stardewvalley/mods/5098]GMCM[/url]。我尽量在保持原版风格的同时,调整速度等参数,使其略微更贴近现实。

目录:

全景背景:

背景会随着农场房屋内窗户的位置动态变化,形成一条长背景条,让窗外的世界更加沉浸和一致。

天气粒子:

  • 降雨效果系统,包含雨滴和闪电闪光效果,会根据游戏内的闪电闪光实时触发。
  • 晴天效果,有飘浮在窗前的尘埃光斑,以及根据一天中时间改变角度和颜色的光束。
  • 树叶(大风)效果,窗户打开时,树叶会飘进室内。
  • 下雪效果,窗户打开时,雪花会飘进室内。
  • 温室现已接入,提供巨大的沉浸式窗户。
  • 夏夜中,偶尔会有萤火虫在窗外飞舞。
  • 夏季和春季的下午,偶尔会有蝴蝶在窗外飞舞。 (更多内容即将添加)

可开关的窗户:

走到窗户前,使用你的动作键(通常是右键)与窗户互动即可打开。

打开窗户后:

  • 原版窗户拥有自定义动画
  • 小生物可以进入室内(可配置)
    • 蝴蝶
    • 夏季夜晚的大风、晴天或雨天天气下的萤火虫。
  • 冬季时会有呵气白雾
  • 树叶飘进室内
  • 雪花飘进室内
  • 雨滴飘进室内
  • 打开的窗户前会形成小水洼

(更多内容即将添加)

[b][color=#ff7700][size=5]兼容性[/size][/color][/b]

目前唯一的兼容性问题来自修改温室或日光室面板贴图的模组。

经过测试兼容的温室模组包括但不限于:

  • Oasis Greenhouse
  • 15x15 Greenhouse
  • Ellie's Greenhouse
  • SVE Greenhouse

如果在温室或日光室内看到黑色虚空,则表示与修改它的模组存在兼容性问题。此时打开 GMCM,将温室或日光室的下拉选项改为“Vanilla(原版)”,等待一个游戏刻,它应会自动修复并使用正确的原版资源。

注意:如果你下载的模组化地图也自定义了窗格(例如添加了不同的色调),那么改回原版时,这些自定义效果将不会生效,因为项目目前保存的是原版纹理。

[b][color=#ff7700][size=5]设置[/size][/color][/b]

此模组无需 [url=https://www.nexusmods.com/stardewvalley/mods/5098]GMCM[/url] 即可运行,但强烈推荐安装。你可以通过它更改显示内容,以及粒子的速度和不透明度等配置变量。

[b][color=#ff7700][size=5]卸载方法[/size][/color][/b]

直接从 Stardew Valley/Mods 中移除该文件夹即可。在游戏进行中添加或移除都是安全的。

[b][color=#ff7700][size=5]未来计划[/size][/color][/b]

  • 开窗时的季节定时事件
  • 开窗时的节日事件
  • 生成更多小生物
  • 更多互动
  • 窗帘

[b][color=#ff7700][size=5]面向内容创作者[/size][/color][/b]

[spoil]

框架现已上线,允许你通过一个简单的 JSON 文件(类似于 Content Patcher,但专为此模组定制)将自己的窗户、动画和自定义音效直接“接入”窗户引擎。

以下是制作 [DW] 内容包的示例: 只需按照以下步骤操作:

  1. 创建你的资源: 无论是新的窗框、窗户背景、窗户音效还是温室背景。
  2. 设置文件夹: 就像任何其他 SMAPI 模组一样,它需要自己的文件夹和一个 manifest.json 文件。
  3. 魔力文件: 除了你的资源和清单文件,你还需要一个 dw-content.json。这是一个指令列表,告诉我的模组要注册什么。这个文件,即使是空的,也能让 Dynamic Windows 知道你的模组想要访问权限。
  4. 就这样。

如何编写 dw-content.json 文件?你可以下载 [DW] 内容创作者模板(在可选文件中)或复制下面的示例。该系统现在可以注册自定义窗户,允许你定义动画键、家具窗户的全景背景包或温室背景。

JSON

{  "WindowLayouts": {
"Your_Furniture_ID_Name_Matching_ContentPatcher": {

"EntryZone": { "X": 16, "Y": 32, "Width": 32, "Height": 48 }, < -- 这是你希望小生物飞过/穿过的窗户区域

"Animation": {
"AnimationAsset": "assets/anim_{{Season}}.png",  < -- 允许使用 {{Season}} 键,指向动画文件所在位置。
"FrameWidth": 16, <-- 每帧的宽度
"Speed": 1.0, <--(留空则默认为 1)。播放动画的速度
"OpenSound": "doorCreak", <--(留空则默认为 doorCreak)
"CloseSound": "doorCreakReverse" <--(留空则默认为 doorCreakReverse,如果指定了自定义打开声音,则默认为该打开声音)
}
}
},

// --- 温室背景包
"GreenhouseBG": [    {
"Target": "Greenhouse/Spring",
"FromFile": "assets/bg_gh_spring.png"
}
],

// --- 窗户背景包
"Backgrounds": {
"spring": "assets/skies/spring_meadow.png",
"{{Season}}": "assets/skies/generic_{{Season}}.png"  }
}

关键概念

  • WindowLayouts:用于注册新家具的地方。键的名称(例如 "Your_Furniture_ID_Name_Matching_ContentPatcher")必须与你通过 Content Patcher 加载的家具物品内部名称完全匹配。
  • EntryZone:定义了蝴蝶等小生物可以飞入的“洞口”。如果省略此项,则表示该窗户不可交互。粒子仍会穿透显示,但由于没有可播放的动画和进入区域,系统会假设它无法打开。注意:如果你提供了 EntryZone,但没有提供 Animation 路径或 Animation 块,系统会假定该窗户是“始终打开的”,例如阳台或墙洞。如果你提供了 Animation 路径或块,但没有提供 EntryZone,系统会尝试将窗户的下半部分假定为进入区域。
  • Animation:可选!如果添加此项,可以定义精灵表、自定义速度,甚至音效。{{Season}} 标记在此也可用,因此你可以为冬季霜冻和夏季微风设置不同的动画。
  • GreenhouseBG:经典的替换系统。它的工作方式与之前完全相同,但现在位于这个新结构中。

注意:这假设你还有 Content Patcher 实际将窗户加载到游戏中所必需的 content.json 文件。

[/spoil]