首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perlin\Fractal噪声在值之间只跳一个单位

Perlin\Fractal噪声在值之间只跳一个单位
EN

Stack Overflow用户
提问于 2012-02-28 23:44:57
回答 1查看 537关注 0票数 0

首先,为我的倒英语感到抱歉。

我正试图建立一个虚拟世界,它的地形就像simcity2000或者交通巨头,那里的地形是由瓷砖制成的,瓷砖的高度不能在瓷砖之间跳过一个以上的高度,所以没有悬崖。

对于地形生成,我使用perlin\单纯形噪声,但是我要用它来处理陡坡。

我看了一下开放运输巨头的源代码,在地形生成之后,地图上的所有瓷砖都被环通并平滑,只有一个单位的标高。

但这对我来说不是这样的,因为我的地图会大得多,而且我负担不起循环平滑所有这些的费用。此外,它不可能只是平滑的可见部分的地形,因为它将是不同的,取决于瓷砖平滑是从哪个开始。

我试着写我自己的噪声函数,它返回两个点之间的线性插值值,距离等于这些点的最大高度,这样斜率不能超过45度,它起作用了,但是直到你试图把这些函数加在一起。

我如何才能在最大45度的山坡上随机生成地形,而不是仅仅平滑一些以前生成的地图?

现在我没有想法了,我希望Perlin噪音可能有一些可能的选择,比如“最大斜角”,但是google并没有帮我做到这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-29 00:11:22

Perlin噪声本质上是斜率限制的,因为每个网格单元格内的值是在四个梯度之间插值的,这些梯度都有斜率1/gridSize (或其他一些固定值,取决于您的实现)。

如果你产生有限数量的八度,相对于你的瓷砖大小,你应该能够在实验上找到一个能保证最大斜率为1的缩放因子。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9491579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档