首页所有页面

地图模组制作

在修改地图文件时,很多事情都可能导致游戏崩溃,比如 troubleshooting.

最重要的是保存时使用的格式,因为错误格式会导致加载时CTD:

File Role Format
provinces.bmp Province boundaries RGB Color (24 bits), no color space information
world_normal_height.bmp Lighting
rivers.bmp Flow of minor rivers Indexed color (8 bits)
terrain.bmp Terrain textures
trees.bmp Tree types and density
topology.bmp Height of the terrain Greyscale (8 bits)

这些图片的高度和宽度应为64的倍数,以避免启动时崩溃。

但实际上需要是256的倍数,否则地图边缘会出现一些黑边。[1]

default.map

Default.map 包含关于地图的一般信息。里面的大部分物品都应该保持原样。以下是你需要担心的因素:

  • max_provinces:这是最后一个省份的数字+1。如果你忘记添加一个省份,最后一个省份就会被忽略。
  • sea_zones:其中包含两个位于相邻海省份ID两端的海洋省份ID。每个海域必须有两个省份ID。你可以定义多个sea_zones,分别对应相邻的海域省份。注:海区内的每个海省都被视为可由同一海域内其他省由船只抵达。(例外:游戏假设没有邻近海省的海省是湖泊,且不生成邻近港口。)
  • ocean_region:该列表包含海域列表(根据文件中的位置自动编号),所有海域均可从其他区域导航至。你可能有多个ocean_regions。
  • major_rivers:这里列出的所有海域都是主要河流,任何宗教都可以通行,allow_rivermovement=是。
  • externals:所有省份外考虑的点列表。例如,作为延伸出地图的贸易路线的起点。该省份定义的颜色点会在地图上放置,朝向贸易路线的出发方向。

注:sea_starts在2.1补丁(印度王朝)起被淘汰。以上信息截至2.6补丁。

Provinces

provinces.bmp

Provinces.bmp 可能是你地图中最重要的文件,因为它显示了所有县和海域的边界。每种颜色对应于一个元素 definition.csv.编辑provinces.bmp时,确保只使用纯色,不要使用抗锯齿、透明度或其他任何处理。

Adding a province

新增省份需要遵循许多步骤。以下是需要完成的任务清单。[2]

  • 选择一种尚未被使用过的颜色。如果不确定如何找到新的RGB值,可以在结尾选择已有的RGB值之一 map/definition.csv.你可以使用其他克劳塞维茨游戏的RGB值,那些游戏省份数更多(比如《HoI4》的>13k)。
  • Colour in the province on map/provinces.bmp.确保只使用纯色,不要使用抗锯齿、透明度或其他任何东西。如果使用GIMP,请按照以下说明操作 GIMP editing.

如果一切都做得好,打开游戏时应该能在地图上看到灰色的新省份。

  • 创建一个包含省份编号和名称的文件,在 history/provinces/
  • Create a history file for the title in history/titles/.
  • Add an entry for the province in the appropriate common/province_setup/ 档案。(除非你是改装旧版本的,否则现在不需要这个功能)
  • Add the name of the province in the appropriate localisation/ file for province names.
  • Add the name of the title in the appropriate localisation/ file for titles.
  • Add a coat of arms for the title in gfx/flags/.需要是128x128,并保存为.tga格式
  • Fix the positions of the new province using the Nudge tool

GIMP editing

使用铅笔工具时,将模式设置为溶解,刷涂“硬度100”,尺寸1.00,动态设置为“动态关闭”。使用桶填充时,将模式设置为溶解。

保存时,确保在兼容性选项中勾选“不写入色彩空间信息”,在高级选项中选择24位,R8 G8 B8。使用不同设置会导致加载时崩溃。

Definition

The file definition.csv lists all provinces and their colors in provinces.bmp. Each line is formatted like this:

1;42;3;128;Vestisland;x

1是该省的身份编号。42,3,128 是其 RGB 颜色的 provinces.bmp。维斯特斯蒂岛是该省的名称,但实际显示在地图上的名称取决于地理位置。“x”只是用来标记行的终点。


Adjacencies

Adjacencies.csv 用于省份间的特殊连接。该文件可以与 Microsoft Excel 关联,但建议在编辑时使用如 Notepad++ 等文本编辑器。

Seas

通过海洋连接常用于连接相近的陆地块,例如爱琴海的岛屿。

通过海洋连接两个省份的编码方式如下:

Province number 1;Province number 2;sea;The sea the connection will go through;X₁;Y₁;X₂;Y₂;Comment

例如,科西嘉岛和撒丁岛之间的联系是这样的:

324;325;sea;1027;-1;-1;-1;-1;Corsica-Arborea

在大多数情况下,游戏会根据距离自动选择每个省份的一个点来绘制交叉路径。如果需要自定义点(例如防止与其他交叉点重叠、模拟历史交叉点,或仅仅出于风格原因),参数 X₁, Y₁, X₂ and Y₂ 可以用来定义这些点。大多数情况下不需要这样做,因此这些数值被设置为-1,让游戏自动确定分数。

Major rivers

通过主要河流连接的土地,用于连接如果有普通河流或根本没有河流时本应相连的土地。

通过一条主要河流连接两个省份的编码如下:

Province number 1;Province number 2;major_river;The major river that the connection will cross;-1;-1;-1;-1;Comment

例如,这是荷兰与布雷达之间莱茵河对岸的连接:

80;92;major_river;1043;-1;-1;-1;-1;Holland-Breda

Portages

搬运是指通过陆路连接海洋的通道。搬运的编码如下:

Sea number 1;Sea number 2;portage;The land province the connection will go through;X₁;Y₁;X₂;Y₂;Comment

例如,这是顿河和伏尔加河的连接:

1089;1094;portage;595;-1;-1;-1;-1;Don-Volga

Like sea crossings, the X₁, Y₁, X₂ and Y₂ 参数可用于定义交叉点的绘制位置。

Positions

主条目:Positions.txt

The file positions.txt 决定城市、港口、议员和军队在省份中的部署位置。

Rivers

rivers.bmp

Rivers.bmp 地图上显示所有次要河流。它不包括主要可通航河流,这些河流被视为海域,rivers.bmp中呈粉色。

任何与另一条河流汇合或分流的河流都是河流系统的一部分。每个河流系统只能有一个源头(绿点)。每个单独的河流只能是一个像素。两个河流像素必须正交相邻(而非斜线)才能成为同一条河流的一部分。当一条河流汇入另一条河流时,需要使用红点。此外,河流的颜色与河流的大小和所获得的防御加成相对应。 [3]

rivers.bmp使用索引色彩调色板。如果没有正确调色板保存,会导致崩溃,所以我建议打开原版rivers.bmp,复制粘贴你的地图。

Category Color RGB Hex Code
River Source 0 255 0 #00FF00
Minor River source from Major River 0 158 0 #009E00
Merging River 255 0 0 #FF0000
Splitting River 255 252 0 #FFFC00
Water & Major Rivers 255 0 128 #FF0080
Land 255 255 255 #FFFFFF
Rivers 0 255 255 #00FFFF
0 200 255 #00C8FF
0 150 255 #0096FF
0 100 255 #0064FF
0 0 225 #0000E1
0 0 200 #0000C8
0 0 150 #000096
0 0 100 #000064

其他一些颜色也在rivers.bmp索引中,但它们的用法并不明确。 只要有河流源,它们似乎确实能作为河流发挥作用。

Note Color RGB Hex Code
0 85 0 #005500
Not in the vanilla rivers.bmp 0 125 0 #007D00
24 206 0 #18CE00

Terrain

Terrain.bmp

Terrain.bmp 是决定你地图纹理的文件,且 terrain 省份中的战斗修正值(尽管这些修正值可以在 history/provinces).该文件是一个4位索引位图,因此包含16种可能的颜色(索引);但默认地图上只有14个。每个索引映射到特定的地形类型 map/terrain.txt.

每个索引对应精灵中的瓦片索引 map/terrain/atlas0.dds 用于渲染。其中几个索引映射到相同的地形类型,仅用于改变纹理——从游戏玩法角度看它们是相同的。

两个索引(13和14)本体游戏未被使用,仍可被模组制作者使用。默认情况下,它们映射到与索引15相同的地形类型(即水域/海洋;terrain.txt中称为coastal_desert),但可以在terrain.txt中重新映射。默认情况下,两者都使用深棕色的土壤纹理(在地图/地形/atlas0.dds的两个底部中间框中)。

Index Color Type Default terrain type mapped to in terrain.txt RGB Notes
0 Plains plains 86 124 27
1 Farmland farmlands 138 11 26
2 Coastal desert plains 130 158 75 Mix between desert and patches of grass.
3 Desert desert 206 169 99
4 Sandy mountain mountain 112 74 31 应该在山谷或沙漠与山脉交汇处
5 Steppe steppe 255 186 0
6 Arctic arctic 13 96 62 Similar color to pine needles
7 Desert mountain mountain 86 46 0 Mix of desert and mountain rock
8 Forest hills 0 86 6
9 Snowless mountain mountain 65 42 17
10 Snow covered mountain 155 155 155
11 More snow covered mountain 255 255 255
12 Jungle jungle 40 180 149
13 N/A coastal_desert 213 144 199 Not used in the base game
14 N/A 127 24 60
15 Water 69 91 186 在默认地图上,这涵盖了所有海洋/海洋区域和可通航的河流。此外,它在海岸线周围延伸约1像素,呈现出海滩的视觉效果

Example of the mapping of Plains (index 0) and Coastal desert (index 2) to the same plains terrain in map/terrain.txt允许每个字母使用不同的纹理:

categories =  {



  plains = {

	movement_cost = 1.1

	color = { 241 221 184 }

	supply_limit = 5

	bottleneck_chance = 5

  }



}



text_0 = { type = plains color = { 0 } priority = 0 }

text_2 = { type = plains color = { 2 } priority = 2 }

Trees

trees.bmp

The trees.bmp 文件决定树的位置、数量以及树的类型。

每个彩色像素对应游戏中的一丛树木。请注意,基础游戏中的tree.bmp比其他.bmp文件小8.04188481675倍,因此将地图尺寸除以8.04188481675,并以此结果为参考。自定义tree.bmp文件的大小和比例可能不同,但更高分辨率的文件可能会带来性能问题,因为地图上会生成更多树木,导致树木组密度提高,这可能在视觉上不够美观。

Type

There are 4 types of trees:

Category Density 1 Density 2 Density 3 RGB Hex Code
Palm trees [{{{1}}}] 255 255 0 #FFFF00
Coniferous trees 30 139 109 #1E8B6D
Mediterranean trees 154 156 51 #9A9C33
Deciduous trees 76 156 51 #4C9C33

Density and size

trees.bmp中的每个像素代表游戏中的六边形树木。

The darker the color the more dense & larger the trees.

例如,如果我们使用落叶树中最浅的颜色,就会得到6棵或更多小树的六边形。如果用最深的颜色,我们会得到一个充满更大树木的六边形。

Topology

topology.bmp

Topology.bmp 是确定地形高度的文件。

地图的拓扑结构由像素的白度决定,越白越高。 编辑时,重要的是你要把海岸线画在水面上方,这样才不会破坏游戏体验。

注意水的最高价值是94/94/94,而土地的最低价值是96/96/96。避免使用95/95/95,因为这可能导致bug行为。注:文件 must 以灰度格式保存,而这在常见的图形编辑器如 paint.net 中并不总是能做到。

让高度之间的过渡平滑,否则会形成明显的锯齿边缘。

Lighting

world_normal_height.bmp

World_normal_height.bmp is a normal map 这为游戏提供了关于如何点亮地图的信息。截至3.2版本,方形world_normal_height.bmp的最大尺寸为3344×3344(即2092×256像素,或略高于1118万像素)。不同纵横比的法线贴图可以超过其中一个维度,只要总面积不超过。超过这个区域会导致地形没有光照,因此非常黑暗。幸运的是,world_normal_height.bmp不必和其他地图文件的尺寸相同,甚至不必相同宽高比;较小(或较大)的法线贴图会自动按地图尺寸缩放。

法线贴图可以从高度图(topology.bmp)生成,使用 Nvidia's texture tools或者通过Photoshop CC中的3D滤>生成法线贴图>

Colormaps

CK2 使用两个色彩贴图,均可在地图目录的地形子目录中找到,分别为 colormap.dds 和 colormap_water.dds。它们分别为地图增添了更多细节,作为陆地和水面的叠加层。比如world_normal_height.bmp它们会根据地图的总尺寸来缩放。与其他地图文件不同,它们使用DDS格式,可能需要特殊插件来加载或编辑。

使用Nvidia dds插件保存色彩贴图时,保存为“DXT5 ARGB 8 bpp |插值 alpha“,带有 2D 纹理且无 MIP 映射

colormap.dds colormap_water.dds

Climate

省份气候的模组操作方式和geographic_region、island_region类似,只不过这里只有省份可以。这意味着所有拥有某种气候的省份都需要将其省份ID添加到相应的区块中。

虽然繁琐,但非常简单。例如,在一个有16个省份的世界里,这里有一个添加气候的示例:

mild_winter = {

    1 2 3 4

}

normal_winter = {

    5 6 7 8

}

severe_winter = {

    9 10 11 12

}

第13、14、15和16省将属于温带气候。这部分无需添加。任何未被放入某个区块的省份都会自动获得温带气候。如果省份被分在多个区块中,则使用该区块所在的最低区块(但仍建议避免将省份分到多个区块)。

Frame

The map frame is defined in the folder static. Predefined values are:

  • frame (2048x2048)
  • frame3072 (3072x2048)
  • frame3200 (3200x[{{{1}}}])
  • frame4096 (4096x[{{{1}}}])
  • Landmark_Domeoftherock ([{{{1}}}])

如果文件是空的,地图就没有框架。 如果你的自定义地图比例不一致,也可以添加自定义帧。你需要创建一个新的,导出成pxdmesh格式,并更改00_static.txt和mapitems.gfx

Fonts

See Custom Map Fonts.

Minimap

除了图形文件,创建自定义小地图还需要一些界面改装。 See here for more.

Troubleshooting

本节专门用于排查地图问题。关于其他模组,请参见通用 troubleshooting.

Symptom Troubleshooting
Provinces do not show up on realm view
  • 检查 error.log 中“省份 xxx 在provinces.bmp中没有像素”,查看所有定义在definition.csv
  • Verify provinces.bmp is saved without color space information.

Tools

  • GIMP: 一款免费的图像编辑程序,类似于Photoshop。适用于Windows、Mac和Linux。
  • Map Filler填写definitions.csv、土地头衔、本地化以及省份和头衔历史。
  • Clausewitz Map Checker: Validates provinces.bmp and definition.csv.
  • Nudge - 内置于游戏引擎的工具,允许在游戏引擎内编辑地图位置。

Links


参考资料

相关页面 (62)

Definition.csvEU4转档器模组制作LocalisationMinimap moddingNudgePositions.txtProvinces.bmpSteam创意工坊TerrainTitle moddingTroubleshooting事件模组制作作用域修正内阁成员模组制作决议模组制作剧本模组制作单位模组制作历史模组制作另类开局模组制作图形模组制作地图外政权模组制作头衔模组制作奇观模组制作宗教模组制作定义宝物模组制作宣战理由模组制作家族模组制作小地图模组制作建筑模组制作指令控制台指令政体模组制作故障排除文化模组制作朝贡国类型模组制作本地化条件模组制作死亡模组制作法律模组制作游戏规则模组制作特质模组制作界面模组制作疾病模组制作目标模组制作盾徽模组制作省份模组制作社团模组制作科技模组制作称号模组制作继承模组制作编辑游戏存档肖像模组制作脚本荣誉头衔模组制作血脉模组制作角色模组制作贸易路线模组制作