最近在整理之前做过的东西,之前的制作了一个简易版的《Minecraft》的游戏,当时是看一个学长的博客,感觉很有趣。那时第一次了解到柏林噪声(Perlin Noise),下面介绍一下我对这个游戏的总结。
先附上我的游戏截图:
1. 地形的生成
采用的柏林噪声生成地形,关于柏林噪声的相关概念下面的博客已经说得很清楚了
[数学]柏林噪声 :http://www.cnblogs.com/Memo/archive/2008/09/08/1286963.html
柏林噪声不但可以生成随机的地形也可以生成一些自然界中的纹理,火焰云彩等。一个噪声函数基本上是一个种子随机发生器。它需要一个整数作为参数,然后返回根据这个参数返回一个随机数。如果你两次都传同一个参数进来,它就会产生两次相同的数。这条规律非常重要,否则柏林函数只是生成一堆垃圾。也就是说,柏林噪声是一个有规律的随机值。
柏林噪声主要的流程是:首先获得随机值,平滑噪声(对噪声插值)形成一个连续的函数。最后叠加上面的那些带有不同频率和振幅的函数形成一个柏林噪声函数。
下面说一下我的理解,柏林噪声里面有两个主要的参数:persistence(持续度)