Unity 地形设计之噪音原理(三)

数学家(Mandelbrot)说云不是球形,山不是圆锥,海岸线不是圆形,树皮不光滑,闪电也不会直线传播,如果查看风景的轮廓,很难考虑如何开始绘制它,从算法上讲,因为它不符合任何常规形状。

让我们看下为景观生成随机高度的方法,下面举出三种方法:

                              (一)

如果我们将每个顶点放在网格中并将其y值或高度更改为随机数,

则结果是一个看起来常严酷的风景,有不规则的山峰和波谷,

尽管存在一些明显的随机起伏,但真实的风景并不能做到这一点,

在大多数情况下,它会稍微上升然后折叠,

                        ( 二)

另外,如果从代表高度的随机数列表创建地形,

则此列表需要放在某处以便以后可以在地形中查明一个值,这意味着要存储大量数据。

                                               (三)

如果可以选择地形中的位置,然后将这些值放入方程式中以确定高度,无论地形多大,只需要存储等式.将始终使用相同数量的存储空间。

例如,如果您的地形是2乘2的,那么它将有4个高度值存储在二维数组,您可以使用 X和上述位置访问高度。

通过等式,您可以计算任何位置的高度,不管风景有多大,您不会受到任何数组大小的限制,由此我们引入噪声

噪声是一种用于生成看似伪随机但在数学上可预测的小波的算法,并用于地形和理的程序生成.,

使用噪声算法创建起伏最大好处是它具有平滑度和可预测性,从下面这张随机产生的图表中可以看出,您无法获得随机数产生的数字和噪音,

噪声算法创建的线是山峦最观的绝佳代表。

噪声可以在任意数量的维度中生成,一维噪声可以作为线图生成,它使用一个值作为输入生成。

在这种情况下, 二维噪声可用于生成纹理或风景的高度值:

这是在Photoshop中使用云过滤器创建的纹理。如果您将此纹理视为高度图,其中白色区域是景观的较高部分

三维噪声定义了可用于在3D空间中创建体积区域的体积区域如下所示:

Pellon Noise返回值在0到1之间的连续导线形式:

增加增量平滑度更尖锐。

下一篇我们就讨论用噪声应用于地形

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值