Skip to content

目录 ​

点击展开目录

设计图块集 ​

创建图块集时,你可以使用原版模板,也可以使用 0x0ade 的改进版模板。如果从零开始创建图块集,建议使用 0x0ade 的模板。如果你在编辑现有图块集,则可能需要使用原版模板。

你也可以创建自己的模板,不过这里不作讨论。

使用 0x0ade 的改进版模板 ​

下面的模板可以在标准图像编辑器中复制和编辑。注意它必须以 png 格式保存,并且不能调整大小。

翡翠模板

这是带注释的模板版本:

带注释的翡翠模板

使用原版模板 ​

由于该模板相对复杂,只建议在编辑现有图块集时使用。如果你出于某种原因确实想用它制作自定义图块集,可以点击此处 🔗找到该模板。

这是带注释的模板版本:

带注释的原版模板

让图块集在游戏中显示 ​

Celeste 将每个图块集的信息存储在一个 xml 文件中,可以用常规文本编辑器打开/编辑。默认情况下,你的地图会从原版 xml 中获取图块集信息,但你可以在地图编辑器中将其配置为使用自定义 xml。

第 1 步 - 制作你自己的 xml ​

  • 下载原版 ForegroundTiles.xml 🔗(或者在你的 Celeste 文件夹 -> Content -> Graphics 中找到它)
  • 进入 YourModFolder,创建一个名为 Graphics 的文件夹
  • 在那里创建新的子文件夹(例如 yournickname -> campaignname),以避免命名冲突
  • 将 ForegroundTiles.xml 文件粘贴到新文件夹中

完成之后,你的 XML 应位于 YourModFolder/Graphics/YourNickname/CampaignName/ForegroundTiles.xml(将 YourModFolder、YourNickname 和 CampaignName 替换为你自己的值)。

说明

注意,添加自定义文件时,通常建议将它们放在两个子文件夹中,分别使用你的昵称_以及_地图/关卡合集名称。
这样既能避免与他人制作的地图冲突,也能防止你自己的地图之间相互冲突。

第 2 步 - 启用 0x0ade 的自定义模板 ​

如果你使用 0x0ade 的模板,则需要向你的 xml 中添加一些内容。如果你使用原版模板,请跳过此步骤。

打开你刚刚下载的 ForegroundTiles.xml 文件。紧接在文件开头的 <Data> 下方,将这段文本 🔗的全部内容复制粘贴进去。

如果你愿意,可以将路径编辑为你的模组中第一个图块集的路径 yournickname/campaignname/tilesetname。

第 3 步 - 向 xml 中添加图块集 ​

在 ForegroundTiles.xml 文件末尾、</Data> 行之前,复制粘贴以下内容:

xml
<Tileset id="w" copy="z" path="yournickname/campaignname/tilesetname" sound="8"/>
  • 将 w 替换为任何尚未使用的单个字符。保留 ID 如下所列。
    • 原版图块集使用 3 到 9、a 到 o 的 ID,以及 1、z 和 G 这些 ID。
    • 0x0ade 的模板使用 y。
    • 空气(Air)使用 0。
    • 有关可用图块集 ID 的具体说明,请参阅下面的注释。
  • copy 值设置图块集使用哪个模板。使用 y 表示 0x0ade 的模板,或使用 z 表示原版模板。
  • 将 yournickname/campaignname/tilesetName 替换为你的昵称、你的地图或关卡合集名称,以及你想给图块集起的名字。记住这些名称,下一步会用到它们。
  • 将 8 替换为你想要的任何声音(列表见下文)。

说明

你可以使用小写或大写字母、符号、带重音字符,或几乎所有你能想到的字符。
只要确保图块集 ID 尚未被使用即可,因为重复会导致 Celeste 崩溃。

如果你想知道具体细节,该字符可以是基本多文种平面 🔗中的任何有效 Unicode 字符。
这意味着 U+0000 到 U+D7FF、U+E000 到 U+FFFF 之间的字符都是可接受的。
(再说最后一次,不,你不能把 emoji 用作图块集 ID,因为它们不在这个范围内。)

请注意,某些字符在 XML 中具有特殊含义,如果不进行转义,可能会被 Lönn 错误解析。

然后,保存并关闭文件。

第 4 步 - 将图块集图片添加到你的模组中 ​

  • 回到 YourModName/Graphics/Atlases/Gameplay
  • 创建一个 tilesets 文件夹,然后在其中创建 yournickname 和 campaignname 文件夹(名称应与你在上一步的 ForegroundTiles.xml 中使用的名称一致)
  • 将你的图块集复制到那里,并命名为你在 ForegroundTiles.xml 中填写的名称(本例中为 tilesetName.png)

第 5 步 - 将 xml 关联到你的地图 ​

  • 打开 Lönn 并加载你的地图
  • 转到 Map -> Metadata
  • 在 Foreground Tiles(前景图块)字段中,点击文件夹图标并选择你的 ForegroundTiles.xml。
  • 点击"Save changes"(保存更改)。保存并重新加载你的地图。

感谢 Xaphan 和 Coffe 提供本教程!

警告

在 Lönn 中输入文件路径时,务必使用正斜杠(/),而不是反斜杠(\)

添加自定义碎块 ​

可以通过包含可选的 debris 属性来为你的图块集添加自定义碎块贴图。
使用上面的示例,你的图块集定义应如下所示:

xml
<Tileset id="w" copy="y" path="name" sound="8" debris="Xaphan/debrisTexture"/>

其中碎块贴图位于 Mods/yourmod/Graphics/Atlases/Gameplay/debris/Xaphan/debrisTexture.png。

同一个图块集可以添加多个碎块贴图,游戏会从中随机选择,只需按如下方式重命名图片即可:

debrisTexture00.png
debrisTexture01.png
debrisTexture02.png
...

添加动画图块 ​

请参阅图块集格式参考页面中的"动画图块"一节。

让你的图块集忽略其他图块 ​

请注意下面图块集中的 ignores 标签:

xml
<Tileset id="1" copy="z" path="dirt" ignores="g"/>

如果你将这个标签添加到图块集,它将不会与给定图块集 ID 的图块集连接。

你可以像这样列出多个 ID:ignores="a,b,c"

如果你想忽略所有可能的图块,可以添加:ignores="*"

如果你想排除某些 ID 不被忽略,可以在末尾添加:ignoreExceptions="a"

为你的图块集设置显示名称 ​

为你的图块集添加 displayName="Tileset name" 标签,即可在 Lönn 中为其设置自定义名称。

xml
<Tileset id="1" copy="z" path="dirt" displayName="Muddy Dirt"/>

常见问题与常见错误 ​

我的图块集没有出现在 Lönn 中! ​

仔细检查你在 Lönn 中填写的 ForegroundTiles.xml 路径是否正确。

我的图块集出现了,但只是一个粉色贴图! ​

你的 XML 已正确加载,但图块集出了问题。很可能是你在 XML 中填写的图片文件路径有误。也可能是你的图块集与模板不匹配,比如尺寸不对等等。 你的文件结构应如下所示: 图片

那么 XML 文件中图块集的对应路径就是:"Rain/Monochrome/Whitespace"。

将 Rain 替换为你的昵称,将 Monochrome 替换为你的关卡合集名称,将 Whitespace 替换为 png 文件的名称(去掉 .png 扩展名)。

当我将 xml 路径输入 Lönn 时,出现了错误! ​

很可能是你不小心弄乱了 XML 的格式。检查一下你是否删除了像 <Data> 这样的重要行。如果你找不到错误,可以尝试重新开始,用一个全新的 xml。

如何添加背景图块? ​

添加方法与前景图块相同,只不过要使用 BackgroundTiles.xml 而不是 ForegroundTiles.xml,并且不需要为它们指定声音参数。另外,一个好习惯是以 bgTilesetName.png 的格式命名它们。

图块集声音 ID ​

以下 ID 取自 Celeste FMOD Studio 项目。
它们可以在 event:/char/madeline/footstep 中找到——感谢 PowerUp Audio 的 Kevin Regamey!

标记为(未使用)的条目没有任何关联声音。

点击展开图块集声音 ID
  1. null
  2. asphalt
  3. car
  4. dirt(用于图块集:dirt、core)
  5. snow(用于图块集:snow、summit)
  6. wood
  7. bridge
  8. girder(用于图块集:girder)
  9. brick(用于图块集:tower、stone、cement、rock、woodStoneEdges、poolEdges、templeA、templeB、cliffsideAlt、reflection、summitNoSnow)
  10. traffic block
  11. (未使用)
  12. dreamblock inactive
  13. dreamblock active
  14. resort wood(用于图块集:wood)
  15. resort roof
  16. resort platforms
  17. resort basement
  18. resort laundry
  19. resort boxes
  20. resort books
  21. resort forcefield
  22. resort clutterswitch
  23. resort elevator
  24. cliffside snow(用于图块集:cliffside)
  25. (未使用)
  26. cliffside grass(用于图块集:deadgrass)
  27. (未使用)
  28. cliffside whiteblock
  29. gondola
  30. (未使用)
  31. (未使用)
  32. (未使用)
  33. glass
  34. grass(用于图块集:grass)
  35. (未使用)
  36. cassette block
  37. core ice
  38. core rock
  39. (未使用)
  40. (未使用)
  41. glitch(用于图块集:scifi)
  42. (未使用)
  43. internet café
  44. cloud
  45. moon(用于图块集:lostlevels)
点击展开图块集声音 ID 表格
图块集 ID图块集名称声音 ID声音名称
1dirt3dirt
3snow4soft snow
4girder7metal girder
5tower8brick
6stone8brick
7cement8brick
8rock8brick
9wood13resort wood
awood stone edges8brick
bcliffside23cliffside snow
cpool edges8brick
dtemple A8brick
etemple B8brick
fcliffside Alt8brick
greflection8brick
hgrass33reflection grass
isummit4soft snow
jsummit No Snow8brick
kcore3dirt
ldeadgrass25dry grass
mlostlevels44moon
nscifi40glitch
o43cloud