跳到正文

地形变体

为现有地形添加新外观:平面材质,以及有自己屋顶、灯光、建筑形态和招牌的城市。

模组可以为现有地形添加外观。每种变体保留基础地形的移动、建造、掩护和破坏规则。仅启用模组不会改变普通地图:地图通过 "terrainVariants": { "city": "my-mod-city" },或编辑器中的地形外观选择器,选用自己的样式。地图导出和存档会保留这些选择。变体缺失或被禁用时,显示普通基础地形。

材质

在 sprites 中声明材质图片,键名例如 ter.my-mod-concrete。图片必须为单帧正方形,fw 和 fh 为相等的整数,范围为 4 至 512,推荐 128。地形材质保留完整图像:teams、stripBg、rotated、fitFootprint 和 freezeStatic 默认为 false,不可开启。不支持锚点、炮塔挂点、旋转枢轴和动画设置。平面材质应不透明、无缝拼接,不绘入建筑、文字或投影;city.signTexture 则可包含招牌图案。材质只能引用本模组的图片。

平面地形使用 texture。城市则通过 city 为屋顶、墙面和庭院设置颜色与材质,也可设置窗灯、路灯与建筑装饰灯颜色。城市至少需要一个外观字段;省略 architecture 时保留普通城市的建筑几何形状。纯地形模组可以使用 "defs": []。

城市建筑

可选的 city.architecture 组合重新设计可见建筑,同时保留基础城市格的移动、掩护和破坏规则。可混合选择互不重复的板楼、庭院街区、露台楼与阶梯塔楼,并设置可见楼层范围、地块覆盖比例、植被、屋顶设备与立面结构。signTexture 可包含用于建筑招牌的图案;它不要求像平面材质那样无文字。损坏状态仍会使建筑倒塌、招牌熄灭。楼层下限不能超过上限,省略字段时也要考虑其默认值。

招牌

signTexture 是 4×4 网格中的 16 个正方形招牌,从左到右、从上到下排列;每栋建筑的确定性种子选择其中一格。fw 与 fh 应相等且能被四整除,推荐 128。使用暗色不发光底板与明亮文字或符号;RGB 最亮通道超过 120 的像素会在夜间发出自身颜色。这是一帧图集,不是横向动画帧条。缺失图片时使用程序绘制的符号。

参考

地形变体(terrains[])

字段类型必填默认含义
idid必填唯一地形变体 id,以模组 id 和连字符开头
nametext必填编辑器中的地形外观名称
basegrass | sand | road | mud | marsh | snow | rubble | ice | city必填基础地形;移动、建造和战斗规则保持不变
texturestring平面地形材质:本模组中的 ter.<模组 id>-<名字> 图像;城市使用 city 材质
city{ roof, wall, window, lamp, roofTexture, wallTexture, groundTexture, signTexture, accent, accent2, architecture }材质、灯光与可选建筑外形;仅适用于 base city

城市(terrains[].city)

字段类型必填默认含义
roofstring屋顶颜色,#RRGGBB
wallstring墙面颜色,#RRGGBB
windowstring亮窗颜色,#RRGGBB
lampstring路灯颜色,#RRGGBB
roofTexturestring屋顶材质,本模组中的 ter.<模组 id>-<名字> 图像
wallTexturestring墙面材质,本模组中的 ter.<模组 id>-<名字> 图像
groundTexturestring庭院地面材质,本模组中的 ter.<模组 id>-<名字> 图像
signTexturestring4×4 排列的 16 个正方形招牌图集,按行排列,使用本模组的 ter.<模组 id>-<名字> 图像;自定义建筑按楼栋选取单格
accentstring建筑主装饰灯颜色,#RRGGBB
accent2string建筑副装饰灯颜色,#RRGGBB
architecture{ forms, minStoreys, maxStoreys, coverage, greenery, equipment, facade }可选建筑外形组合;省略时保留普通城市几何形状

城市建筑(terrains[].city.architecture)

字段类型必填默认含义
forms(slab | court | terrace | stepped)[]slab, court, terrace, stepped混合使用的不同建筑形态:板楼、庭院街区、露台楼与阶梯塔楼
minStoreysinteger 1–42主楼目标楼层下限;小地块与附楼可更低;不能超过 maxStoreys
maxStoreysinteger 1–44主楼目标楼层上限;不改变地形高度或掩护
coveragenumber 0.35–0.90.72每个外观地块的建筑覆盖比例
greenerynumber 0–10.1装饰植被密度
equipmentnumber 0–10.65屋顶机械与附属设备密度
facaderibbon | panel | industrialpanel墙面结构:带状窗、面板外墙或工业框架

最后编辑