我只想到在没有房屋,树木对象和单位的情况下生成地形的基本颜色层面.我没有想到创建一个可以解决这个问题的图形引擎,而是一种在屏幕上生成平面图像的简单方法.
问题是双重的:
1,什么样的数据可以用于这种一代?我正在考虑ASCII艺术,它是一种容易创建和修改,以快速改变地形,但是很难提供高度信息.
2,在准备好数据之后,现有的框架,类,方法或方法可用于解决生成.
Godus:
ASCII艺术(北欧与挪威,挪威为#,芬兰为欧洲,俄罗斯为%
(取自MapBox文档:http://mapbox.com/developers/utfgrid/#map_data_as_ascii_art)
解决方法
>创建一些高度数据.我只是使用灰度图像,而不是ascii.您可以在MS Paint中编写基本的高度图,或任何类似的.
>平滑数据.例如,应用模糊,或使用平滑滤镜增加分辨率.
>考虑将所有高度数据压缩到某一点以下 – 如果您想要的话,这表示水位.
>量化数据.你量化得越多,轮廓越少越明显.
>通过调色板查找应用假着色.例如:低洼地区蓝色,水,然后黄色,沙,绿色为草,棕色为地球,灰色为岩石,白色为雪.
重要的部分是放大/平滑滤波器,它为您的轮廓创建更有趣的形状,实际上创建轮廓的量化本身.
你可以玩这个阶段.例如,您可以向地形引入一些噪音,使其看起来更自然,如果您的源数据非常干净.或者你可以增加平滑度,如果你想要一切都很圆滑.
如果你想使用ascii,你可以直接从中生成位图,这不是棘手的.你用作例子的ascii是按国家而不是地形分开的,所以虚假着色和轮廓可能会做错事.你可以用它作为一个简单的地形发生器的输入,也许只是有几个字符来表示你想要的土地,海洋,山脉等.
这是我敲下的一个非常基本的例子,这只是我建议的技术的一个应用.我没有使用任何框架或库,只是一些简单的图像处理功能,以及我发现的欧洲高度图: