我正在制作一个世界生成器,它将使用perlin噪声和加权梯度生成地形,有利于形成盘古群岛形状的岛屿。我已经到了可以创建世界温度地图的地步,在那里,离赤道较近的海拔更受青睐,而水总是更冷。但是我很难找到对付风和雨的最好方法。我想我也许可以创建一个湿度图,然后以某种方式将其放入风中。This video是我最大的灵感来源。在其他地方,他简要地谈到,每当风袭击一座山时,它背后的地区就会变得没有降雨。我对他的风有一个很大的疑问,那就是他是如何决定风的方向的。
因此,基本上我想问的是,我如何扩展我的world generator来模拟风、雨和天气?由于雨和天气可以说是一回事,因此出现的另一个问题是如何根据世界生成湿度图?一旦模拟开始,人们如何处理天气?
这是我的温度图的照片。我正在考虑让它变得不那么连续。

发布于 2013-09-29 23:39:41
我是你问题中链接到的视频的作者。
很抱歉,三个月前你问我的时候,我没有回复,但我只是在Reddit上看到了你的消息。你的账号似乎已经被删除了,所以我在这里复制我的回复。
在风向方面,这只是一个简单的模型,所以我作弊并随机选择了一个角度。随着风和天气的变化而“进化”的模拟是我正在做的事情,但最大的问题是让它足够快地使用。
对于风和雨,我所做的是模拟一个正方形的粒子,所有这些粒子都是相隔一个像素的,并且实现为一个用于风高的浮点数组和一个用于风湿度的浮点数组。在开始时,风的湿度被设置得相当高,以表示它是带到海洋上的湿气。
然后我在地图上沿着风向移动云层。当地图的高度(高度)大于风的高度时,风的高度将向上移动到此高度。否则,风的高度就会慢慢减小。当世界的高度远小于风的高度时,这个简单的模型可以用作非常简单的气压近似值。我的视频将原风高度涂成蓝色,但你可以将葡萄酒高度和陆地高度之间的差异着色,以获得更有趣的效果。
云中的每个点在每一步都会失去一些水分,这取决于温度(寒冷的地区失去更多的雨水,特别是在山上)。一旦它失去了所有的水分,它就没有了雨水,所以就形成了一个“雨影”,如果温度很高,就会出现一个沙漠。你可以通过让风在湖泊或海洋上获得更多的水分来改进这个模型。
找到风粒子失去水分的速度的最佳常数,或者它们最初有多少水分,只是反复试验,直到我找到了一个看起来很好的组合,并在典型地图上给了我一个全面的地形类型。
希望这对你有帮助--祝你的项目好运!让我知道你的进展如何。
发布于 2013-06-10 21:41:38
风是由气压差引起的。也就是说,一些空气将从高压区移动到邻近的低压区,以使其均匀。
一个地区的气压受多种因素的影响,如气温、地温、云量、日照时间、空气湿度等。
此外,还需要考虑多层大气。
这是相当复杂的,但至少,你需要模拟气压。
编辑:作为对这件事的介绍,我建议:https://en.wikipedia.org/wiki/Numerical_weather_prediction
https://stackoverflow.com/questions/16996524
复制相似问题