
前言、地图生成逻辑和文件功能介绍
序章、所需软件相关
一、地图模型与贴图相关图片的绘制
二、地图地块的生成
三、基于现有地图的脚本编辑
四、河流,树林等次要部分

根目录map文件夹下

map文件夹下的terrain文件夹,绿色划线处为基础纹理贴图,红色划线处为四季和水体的后期贴图
一、P社地图模型的生成步骤:
根据heightmap.bmp灰度图上设定的高度生成3d模型,称为高度图
再由terrain.bmp生成基础贴图,称为地形图
最后再和terrain文件夹中的后期贴图文件叠加出来,效果如下图所示:

该图就是用自己的高度图与地形图生成了模型与基础贴图,但是用了原版的外部贴图,所以看起来比较怪诞。当然最后还有一步河流和树木的生成,之后再说。
provinces.bmp负责设置rgb与地块大小形状与位置
definition.csv负责将rgb地块和ID绑定定义进游戏程序
area,region,superregion,continent.txt等文件对地块按id进行分类,这是第三章要讲述的内容。

province.bmp和definition.csv的部分

政权,贸易地图,发展度,宗教文化,等等一切参数
序章
软件的准备
这时候不能再靠piant.net那种轻量化工具了,需要大型的图像处理软件
最推荐的当然是PS
开源的图像处理工具GIMP
如果你是板绘高手那就继续用板绘软件也可以,开源的如Krita
GIMP上的保存相关设置更直观一些
二、MapGen:

MapGen页面
MapGen本是钢丝古早版本的地块生成工具,可以根据你提供的图像生成地块,非常简便,不过地块边缘需要个人操刀精修就是了
现在获取有些困难,故我将其上传到云盘(需要.NET库,不再缀述) 链接:https://pan.baidu.com/s/1hyApDKvlER18vqA5czK1DA?pwd=smab 提取码:smab

插件启用界面

JoroDox内部界面
这个插件功能很多,但是其实很多都不好用,这里用它主要是用来生成刚刚提到的地块定义csv表格
(题外话,这个插件还有个功能很好用,就是3d模型的导入和贴图的替换,可以用fbx文件直接生成克劳塞维茨所需的mesh文件,并且可以直接设置纹理和法线贴图的路径,非常好用)
链接:https://github.com/DaanBroekhof/JoroDox
四、Eu4ModEditor:

基本上可以修改/新建所有参数的万能编辑器,用于第三章节(不过发展度可能有点bug)
链接:https://github.com/CzerstfyChlep/Eu4-Mod-Editing-Tool/tree/DateEntries
五、总结:
图像处理工具:PS/GIMP
MapGen
JoroDox Tools
Eu4ModEditor
文本编辑兼ide:VScode
一、高度地图Heightmap.bmp

最好跟原版的图片大小相同:5632x2048,所有地图文件的大小都要相同且为24倍数
RGB(94, 94, 94)是陆地和海洋的分界线,在画图前最好设置一个如下图的模版来作为蒙版,防止陆地和海洋边缘不明显:

之后画河流图也有用(小声)
想要顺滑的地形的话请善用PS的涂抹功能

图像模式修改
二、地形地图Terrain.bmp

最好按照这里的两个示例来画地形

最好按照这里的两个示例来画地形
最好先画高度图,再把高度图叠图后,按照高度图画出地形,更加合理和美观
地形RGB颜色板为
平原(86 124 27)
湿润丘陵(0 86 6)
海滩(255 247 0)
山脉(65 42 17)
沼泽/湿地(75 147 174)
草原/旱地(200 214 107)
沙漠(209 169 99)
干旱高地(158 130 77)
干旱丘陵(112 74 31)
雪顶(255 255 255)
浅海(55 90 220)
深海(8 31 130)
注意!terrain.bmp文件应处于索引模式,保存于8位位图图像文件(.BMP)。颜色表不应改变。(GIMP不保存颜色空间信息)
三、河流地图(map/river.bmp)(可以先留个白底)

河流地图为索引图片,索引颜色版意义如下
绿: (0, 255, 0) - 一条河流的源头,一条河流只能有一个源头。
红: (255, 0, 0) - 向主流流入源。用于加入多个“源头”路径进入一条河流。要注意,流入源不需要绿色源头像素。
黄: (255, 252, 0 ) - 向外分支河流。用于从一条河流向外分支。
蓝: (0, 225, 255) - 河流用最窄材质。
蓝: (0, 200, 255) - 河流用窄材质。
蓝: (0, 100, 255) - 河流用宽材质。
蓝: (0, 0, 200) - 河流用最宽材质。

示意图 来源:hoi4英文wiki
四、树木地图(map/trees.bmp)(可以先留个全黑)

唯一不规定和所有地图大小相同的地图文件,图片越小树林越稀疏,但最好是从原版的树木地图上修改
RGB色板如下
稀疏的棕榈(30 139 109)
茂密的棕榈(18 100 78)
稀疏的树林(76 156 51)
茂密的树林(47 120 24)
稀疏的雨林(150 0 255)
茂密的雨林(88 0 138)

MapGen需要的4张图(图三其实不需要,把陆地全涂成橙色就行了)
须知,MapGen是用于钢铁雄心4的工具,所以需要在definition.csv中定义沿海和地形参数,欧陆风云则不需要,所以其实图三的陆地直接全部涂成橙色即可
请打开MapGen文件夹中的范例文件夹,里面有以下范例图片
1.设置陆地,将陆地涂成如图的紫色即可

陆地图片
2.设置地形(如上图所说的全涂层橙色,我们只要图片,不要他的csv,我这里比较详细是因为这是生成钢丝图的时候用的)

地形图片
3.设置地块大小指示图片
生成时,越白的位置地块越大,反之越小,所以需要用高度图p一下就能用在这里了。右下方的参数可以设置阈值和海洋地块的平均大小

大小指示图片
4.设置地界边缘
在该图上用黑色1像素的线条画出地块边界,黑线最好细化到每个区域(area),并且沿着你设置的地形和河流边缘,这样生成出来的地块边界才会明显和美观(我这里画的很大,只是测试用,最好细化到1/20的大小,大工程)

地界边缘图片
5.导出图片
如图操作,生成之后再点保存

你将获得一个类似下图的图片

地块文件
新建一个mod文件夹,再在里面新建map文件夹,把这个图片重命名为provinces.bmp放进map文件夹,我们之后用。
二、JoroDox Tools的使用



点击该文件夹,不用等地图显示完毕

点击Analyze provinces.bmp,就可以生成csv文件内容

复制一个原版的definition.csv文件,用VScode等文本编辑器打开,将网页上的内容全选复制进去替换,并在批量替换选项中把“;?”替换为“”(什么都不要写,就是空,连空格都没有),这样你获得了一个完善的definition.csv文件。
找个小程序,生成从1到最后一个地块ID的数字排列,由空格隔开,我这里是用python写了个小程序,用来生成从1到1999的id排序
import os
import numpy as np
def creat():
start = 1 # 起始值
stop = 1999 # 结束值
step = 1 # 步长
sequence = list(range(start, stop, step))
print(sequence)
return(sequence)
def main():
start = 1 # 起始值
stop = 70 # 结束值
step = 1 # 步长
sequence = list(range(start, stop, step))
print( "Z" , sequence)
with open('output.txt', 'w') as file:
# 遍历序列并写入文件
for num in sequence:
file.write(str(num) + ' ')
num = "add_to_faction = Y" + str(num)
print(num)
if __name__ == main():
# numa = creat()
# with open('output.txt', 'w') as file:
# # 遍历序列并写入文件
# for num in numa:
# file.write(str(num) + ' ')
# print(num)
main() 1.把本体map文件夹下的那些txt文件复制到你的map文件夹中,
2.打开area文件夹,清除除了random_new_world_area和它的括号以外所有内容,添加一个并把刚刚生成的所有ID复制到括号内
begin_area = {
} 3.打开region.txt,清除除了random_new_world_region以外的所有内容,添加一个
begin_region = {
areas = {
begin_area
}
} 4.打开superregion.txt,同上,添加一个
begin_superregion = {
begin_region
} 5.打开climate.txt,清空括号内所有内容,把ID填入arid的括号内
6.打开continent.txt,清空括号内所有内容,把ID填入Europe或者随便一个其他大洲的括号内
7.打开terrain.txt,清空所有括号内ID,把ID填入任意一个陆地地形的terrain_override括号中

外观

设置游戏本体和刚刚那个mod文件夹的路径,点击检查
之后在下方选择都由谁生效,因为我们只设置了地图,所以只把map相关的选项勾选为mod,其他都选Game,最后点击最下方的确认等待加载
(我的mod完成度较高,所以这里勾选上的多,只跟着教程的话只能勾选map相关的选项)

加载页面
这里你可以看到一些报错,可以帮你Debug。由于分辨率问题,可能会不显示确认按钮,需要双击上框,就能全屏此窗口以看到确认按钮

全屏后的加载页面
这个工具由三个部分构成
1.地块视窗

初始为省份地块颜色视图(我的地块是手画的(悲)),可以点击省份,此时主面板要修改的对象将会改变,也可以按住shift多选
2.视图选择面板,在这里可以设置地图上地块的染色样式,如下图

政治视图

文化视图

地区(area)视图
3.主面板

什么都能改
里面的内容根据点到的省份改变,初始化时的操作再在此面板进行细化。
四季贴图和水体贴图

用GIMP保存为dds文件
四季贴图可以让地图在通过透明度改变来表现四季变换的效果,而且也提供地形最上层的贴图,你不仅可以用它来实现树叶的变化和冰雪的出现,也可以用它来实现魔幻效果(血河,黑水诅咒,生化荧光绿)发挥你的想象力。
水体贴图能呈现水体的反射和颜色,最好是用你的高度图为基础制作。
PS:(此教程所用素材多来自我的宫崎骏风之谷的娜乌西卡mod,现在已经转钢丝了,有兴趣可以在贴吧联络我 更新记录贴:https://tieba.baidu.com/p/8497169714)(已停止制作,不想当千古罪人啊)
