所以在从取景画面Godus我想知道如何生成一个简单的,非交互,2D用不同的颜色用于不同的高度或类似下面的画面高度的层 图像 。
我只是想在生成的颜色基本为层没有房子,树对象和单位的地形条件。 我不是在创造将解决这个图形引擎的角度来思考,而是一种简单的方法来在屏幕上产生一个平面图像。
现在的问题是双重的:
1,可用于这种代什么样的数据? 我想也许ASCII艺术这是一种容易创建和修改,以迅速改变地形,但会很难提供高度信息。
2,有什么可用于具有数据就绪后,解决代现有的框架,类,方法或方法。
Godus:
ASCII艺术(欧洲北部与挪威,#瑞典,$芬兰和%俄罗斯!
(取自MapBox文档: http://mapbox.com/developers/utfgrid/#map_data_as_ascii_art )
如果你想创建一个简单的2D,异形的形象,我会尝试以下方法:
- 创建一些高度数据。 我只是用一个灰度图像为,而不是ASCII。 您可笔者在MS画图,或任何类似的基本高度的地图。
- 平滑数据。 例如,应用模糊,或增加使用平滑过滤器的分辨率。
- 考虑夹紧低于某个点的所有高度数据 - 这代表了水位,如果你想要的。
- Quantise数据。 你越quantise越少,但更明显的轮廓。
- 套用假着色,通过调色板查找。 例如:低海拔地区的蓝,水,然后是黄色,砂,绿色的草,棕色的地球,灰色的岩石,和白色的雪。
最重要的部分是放大/平滑滤波器,创造更多有趣的形状,以你的轮廓,并实际创建轮廓本身的量化。
你可以用这个阶段发挥。 例如,你可以引入一些噪声地形,使如果你的源数据是非常干净它看起来更自然。 或者,如果你想要的一切非常圆润,你可以增加平滑。
如果你想用ASCII码,你可以只产生直接从一个位图,这不会是棘手。 你作为一个例子,虽然使用ASCII是由国家而非地形分手了,所以假着色和轮廓可能会做错误的事情。 你也许可以用它输入到一个简单的地形发生器,也许只是有几个字符的表示要将陆,海,山,等等。
下面是我敲了一个非常简单的例子,它只是我提出的技术的应用。 我没有使用任何框架或库,只需几个简单的图像处理功能,以及欧洲的高度图,我发现: