地形变体
为现有地形添加新外观:平面材质,以及有自己屋顶、灯光、建筑形态和招牌的城市。
模组可以为现有地形添加外观。每种变体保留基础地形的移动、建造、掩护和破坏规则。仅启用模组不会改变普通地图:地图通过 "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[])
| 字段 | 类型 | 必填 | 默认 | 含义 |
|---|---|---|---|---|
| id | id | 必填 | 唯一地形变体 id,以模组 id 和连字符开头 | |
| name | text | 必填 | 编辑器中的地形外观名称 | |
| base | grass | sand | road | mud | marsh | snow | rubble | ice | city | 必填 | 基础地形;移动、建造和战斗规则保持不变 | |
| texture | string | 平面地形材质:本模组中的 ter.<模组 id>-<名字> 图像;城市使用 city 材质 | ||
| city | { roof, wall, window, lamp, roofTexture, wallTexture, groundTexture, signTexture, accent, accent2, architecture } | 材质、灯光与可选建筑外形;仅适用于 base city |
城市(terrains[].city)
| 字段 | 类型 | 必填 | 默认 | 含义 |
|---|---|---|---|---|
| roof | string | 屋顶颜色,#RRGGBB | ||
| wall | string | 墙面颜色,#RRGGBB | ||
| window | string | 亮窗颜色,#RRGGBB | ||
| lamp | string | 路灯颜色,#RRGGBB | ||
| roofTexture | string | 屋顶材质,本模组中的 ter.<模组 id>-<名字> 图像 | ||
| wallTexture | string | 墙面材质,本模组中的 ter.<模组 id>-<名字> 图像 | ||
| groundTexture | string | 庭院地面材质,本模组中的 ter.<模组 id>-<名字> 图像 | ||
| signTexture | string | 4×4 排列的 16 个正方形招牌图集,按行排列,使用本模组的 ter.<模组 id>-<名字> 图像;自定义建筑按楼栋选取单格 | ||
| accent | string | 建筑主装饰灯颜色,#RRGGBB | ||
| accent2 | string | 建筑副装饰灯颜色,#RRGGBB | ||
| architecture | { forms, minStoreys, maxStoreys, coverage, greenery, equipment, facade } | 可选建筑外形组合;省略时保留普通城市几何形状 |
城市建筑(terrains[].city.architecture)
| 字段 | 类型 | 必填 | 默认 | 含义 |
|---|---|---|---|---|
| forms | (slab | court | terrace | stepped)[] | slab, court, terrace, stepped | 混合使用的不同建筑形态:板楼、庭院街区、露台楼与阶梯塔楼 | |
| minStoreys | integer 1–4 | 2 | 主楼目标楼层下限;小地块与附楼可更低;不能超过 maxStoreys | |
| maxStoreys | integer 1–4 | 4 | 主楼目标楼层上限;不改变地形高度或掩护 | |
| coverage | number 0.35–0.9 | 0.72 | 每个外观地块的建筑覆盖比例 | |
| greenery | number 0–1 | 0.1 | 装饰植被密度 | |
| equipment | number 0–1 | 0.65 | 屋顶机械与附属设备密度 | |
| facade | ribbon | panel | industrial | panel | 墙面结构:带状窗、面板外墙或工业框架 |
最后编辑