外观
什么是风格地面?
**风格地面(Stylegrounds)**是你可以添加到地图中的背景与特效。 本教程将讲解 Lönn 中风格地面菜单的_全部_内容,以及你如何为自己的模组添加背景。
目录
点击展开目录
风格地面菜单
风格地面菜单初始为空,必须使用_新建(New)按钮添加风格地面后,风格地面窗口中的其余按钮才能生效。该按钮会添加其左侧下拉菜单中所选的风格地面类型。如果下拉菜单设置为_基于当前(Based on Current),则所选风格地面会被有效复制。
风格地面中的大多数设置会在按下_新建(New)_时重置为默认值,因此应在添加风格地面之后再设置这些参数。要登记对风格地面的更改,请按下_更新(Update)_按钮。如果你不这样做,关闭风格地面窗口或选中其他风格地面时,更改将会丢失。
可以使用_移除(Remove)_按钮删除风格地面;使用_上移(Move Up)_和_下移(Move Down)_可以改变风格地面之间的渲染层级。
说明
风格地面在窗口中按从下到上的顺序渲染——因此如果你希望某个风格地面显示在另一个前面,就把它在菜单中移得_更靠下_。
如何添加自定义风格地面
要添加自定义视差图片,你必须先有一个规范的模组结构,相关教程见此处。
文件结构应如下所示:
Mods
↳ [你的模组]
↳ Graphics
↳ Atlases
↳ Gameplay
↳ bgs
↳ [唯一文件夹名]
↳ yourstyleground.png完成上述操作后,你就可以将该文件路径(从 bgs/... 开始)去掉 .png 扩展名输入到视差风格地面的 Texture 参数中。
视差风格地面
最常见的风格地面类型是视差(Parallax),即单张图片并呈现纵深感的视觉效果。正因如此,我们将深入讲解这一类型,其余类型则分开说明。
**视差(Parallax)**风格地面的众多选项一开始可能令人不知所措,但大多数都很简单——只是数量较多而已。 下图展示了它们的外观,随后按顺序逐一解释每个参数。
贴图(Texture)
在此输入视差应使用的图片路径,该路径相对于 Graphics/Atlases/Gameplay 图集。 通常,你应该只使用原版游戏的背景贴图(如 bgs/10/granny/bg),或你自己模组中插入的贴图。避免复用现有模组中的背景,否则会产生不必要的依赖。 还有四个可以自由使用、完全不在 bgs/ 文件夹中的背景:purplesunset、darkswamp、mist 和 northernlights。
截至撰写本文时,Lönn 尚无用于视差贴图选择的下拉菜单。相反,必须手动输入完整文件路径(从 bgs/... 开始)。 不过在此期间,你可以从此参考 🔗中复制粘贴原版的风格地面路径。
重要
贴图路径绝不能包含 .png 扩展名。
[!NOTE] 说明 由于风格地面路径以 Graphics/Atlases/Gameplay 文件夹为根目录,理论上可以将此参数设为 bgs/ 文件夹以外的贴图,包括贴花、玩家精灵图或实体(entity)的帧。不过在大多数情况下,这并无实际用处。
仅限(Only)
此参数与下一个参数用于选择你的背景将出现在哪些房间。应使用主 Lönn 窗口左侧显示的内部房间名;如果想设置多个房间,用逗号分隔但_不要_加空格(例如 a1,b1,b2)。* 可用作通配符,一次匹配多个房间(例如 a-* 会匹配所有以 a- 开头的房间)。
排除(Exclude)
此参数的格式与仅限(Only)参数相同,但作用是强制排除房间而非包含房间。此参数中的任何内容都将优先于仅限(Only)参数中的设置。
标签(Tag)
此参数常被那些对特定风格地面应用代码效果的代码模组使用。 如果你在某个风格地面的标签(Tag)区域填入 blackhole,那么每当玩家触碰月亮故障背景触发器(Moon Glitch Background Trigger)时,该风格地面就会出现在背景中。
旗帜与排除旗帜(Flag 与 Not Flag)
如果使用旗帜触发器(Flag Trigger),你可以让该背景通过触发器出现,而不是在其房间内一直可见。你可以在这里填入任意内容,但在你的地图内应保持唯一;如果地图中其他内容使用了相同的旗帜,可能会与此产生冲突。
你可以使用旗帜触发器(Flag Trigger),配合你在排除旗帜(Not Flag)区域设置的旗帜,让背景消失。
如果不打算使用旗帜,请将这些区域留空。
提示
为了让风格地面响应核心模式(core mode)的变化,Celeste 使用 cold 旗帜。
如果你想让风格地面出现在_寒冷(Cold)_模式,请在旗帜(Flag)参数中填入 cold。 如果你想让其出现在_炎热(Hot)_模式,则在排除旗帜(Not Flag)参数中填入 cold。
混合模式(Blend Mode)
这决定了你的背景如何与其他特效和背景混合。additive 会将图片的颜色叠加到其下方的所有图片上,除非其后的图片是黑色的,否则会产生一种奇异的幽灵般的叠层效果。alphablend 则会尝试混合各图层的颜色,这是通常使用的选项。
颜色(Colour)
在此以十六进制选择背景图片的着色颜色。通常你不会想把它改成 FFFFFF 以外的值,因为更低的数值会从图片中减去颜色。
透明度(Alpha)
图片的透明程度:1 为不透明,0 为完全不可见。除非你希望背景图片半透明,否则请将其设为 1。
淡入复选框(Fade In Checkbox)
若勾选,当你进入或离开其所在房间时,背景会从透明渐变到你设置的透明度(Alpha)值。
移到背景/前景(Move to Back/Foreground)
_移到前景/背景_按钮控制风格地面所显示的图层。如果在前景,它会显示在游戏图层之前。如果在背景,它会显示在你的地图之后。因此,前景风格地面只应用于诸如薄雾之类不会遮挡游戏内容的覆盖层。在 Lönn 中,前景风格地面会在列表中的名称旁以对勾标记。
在 Ahorn(已弃用)中,这一选择以复选框的形式呈现。
即时淡入与淡出复选框(Instant In and Out)
若勾选即时淡入(Instant In),背景将在两个房间之间的切换过渡期间加载。 若勾选即时淡出(Instant Out),背景将在两个房间之间的切换过渡期间消失。
X 与 Y
这些参数决定背景图片的起始位置。X 为水平方向,Y 为垂直方向;正值将图片向右/下平移,负值将图片向左/上平移。
要找出能在某个特定房间显示风格地面的坐标,请使用以下公式:
(房间 Y 位置 + 房间高度 - 23) * 8 * 你期望的滚动 Y 值,用于 Y
(房间 X 位置 + 房间宽度 - 40) * 8 * 你期望的滚动 X 值,用于 X
滚动 X 与 Y(Scroll X & Y)
这些参数定义背景图片相对于屏幕滚动的倍率。0 表示固定不动,1 表示与游戏图层同速滚动,因此你很可能希望介于两者之间。
速度 X 与 Y(Speed X & Y)
这些参数设置背景图片_自行_滚动的速度,单位为像素/秒。同样,正值表示图片向右/下滚动,负值表示向左/上滚动。
循环 X 与 Y(Loop X & Y)
若勾选循环 X(Loop X),背景将水平循环。例如,如果你的视差是一排树,勾选此项可确保树在滚动一小段距离后不会戛然而止。 若勾选循环 Y(Loop Y),背景将垂直循环。
翻转 X 与 Y 复选框(Flip X & Y Checkboxes)
若勾选,这两个复选框将分别水平或垂直翻转背景图片。
特效
其余类型的风格地面(通常统称为"特效")要么参数很少,要么复用视差风格地面中的参数。以下是对每个特效的简短说明,以及其参数(如有)。许多辅助模组包含可自定义(或全新)的风格地面特效,但这里不会介绍它们。
名称(Name)、房间(Rooms)、排除(Exclude)、旗帜(Flag)、排除旗帜(Not Flag)、**前景(Foreground)和标签(Tag)**选项在所有特效上都存在,其行为与视差风格地面中同名参数完全相同。
特效参考
说明
某些特效会占据整个屏幕,实际上会使其身后的所有风格地面失效。
虽然特效通常没有透明度选项,但它们仍然可以变得透明:由于游戏代码中的一处疏漏,如果一个特效直接位于**混合模式(Blend Mode)设为叠加(Additive)**的视差风格地面之前,该特效也会获得叠加混合。这在处理占据整个屏幕的特效时很有用。
Blackhole
《再见(Farewell)》中的黑洞。 **黑洞强度触发器(Blackhole Strength Trigger)**是与该特效配套的触发器,它会把地图中的所有黑洞变为颜色更粉、粒子更多的版本。这用于《再见》的和解(Reconciliation)检查点。 此特效会随风移动并指示风向,但通常不建议让该特效成为唯一指示风向的风格地面。 占据整个屏幕。
BossStarfield
《反思(Reflection)》中 Badeline 首领战中的背景。 若房间宽度小于或等于其高度,该特效的粒子会水平移动穿过屏幕;否则,粒子主要垂直移动。 占据整个屏幕。
CoreStarsFG
来自《核心(Core)》末尾卷屏段的白色粒子。
Godrays
透明的红色菱形向下移动。 用于《反思》。
Heatwave
为《核心》中的_炎热(Hot)_和_寒冷(Cold)_两种模式提供动态粒子与薄雾特效。 要使此特效显示,核心模式的元数据设置必须是_无(None)_以外的值。
MirrorFG
用于《镜子神庙(Mirror Temple)》镜子区域的红色粒子特效。
NorthernLights
《反思》开头看到的北极光。 占据整个屏幕。
DreamStars
空心的青色方块从屏幕底部升起。 作为《再见》的一个废弃概念,此特效在原版游戏中并未使用。
Petals
《反思》结尾看到的粉色花瓣。
Planets
《再见》前几个检查点背景中的粉色与绿色海星。amount 字段的初始值对大多数房间来说过高,会导致海星重叠;对于大多数房间,请将其调低到个位数或以下。
说明
size 字段只显示 big 或 small 两个选项;不过它可以用根目录 bgs/10/ 下的任意一组编号风格地面来替换。 这意味着你可以将 size 设为 blackhole/particles 之类的值,以获得黑洞特效中的长粉色粒子,或设为 Planets/small/Planets/big 以获得真正的行星(游戏内未使用)。
Rain
《再见》开头的雨。
ReflectionFG
与 MirrorFG 完全相同,只是颜色为粉红色。
SnowFG
白色与蓝色粒子飞过屏幕。 用于《被遗忘之城(Forsaken City)》和《天空度假村(Celestial Resort)》,常与 SnowBG 搭配使用。
SnowBG
与上面相同,但使用更深的蓝色。
Stardust
《再见》中的粉色与绿色粒子。 此特效会随风向变化。在任何一个有风的房间,最佳做法是加入此特效或 Windsnow。
Starfield
《再见》第一部分使用的移动星带。
Stars
《旧遗址(Old Site)》中的星空背景。 如果地图元数据中的 dreaming 标签设为 true,星星会如《旧遗址》大部分区域那样向下坠落。否则,星星会静止不动,如同在"觉醒(Awake)"检查点中那样。 占据整个屏幕。
Tentacles
类似《反思》中的触手。 将 side 字段设为 down 或 up 会导致游戏崩溃。这可能有助于模拟类似《反思》Badeline 首领战最后一屏的效果,那里的触手平滑移动。不过该特效并未在原版游戏中使用——而是使用了同名的实体。
Windsnow
用于指示《黄金山脊(Golden Ridge)》中的风。在任何一个有风的房间,最佳做法是加入此特效或 Stardust。