欢迎光临散文网 会员登陆 & 注册

godot 随机地图3-fastnoiselite

2023-05-21 00:46 作者:damedown  | 我要投稿

FastNoiseLite是github上Auburn的开源noise库。

基本c/c++、java、JS都有源码,而且OpenGL的GLSL和微软dx的HLSL也支持。

在下面有库的GUI测试版本。

简单解释下这些库和参数的区别,就不做太多代码解析了,毕竟能看到这里的也没啥人。


1、general

    noise type 就4种。

        第一类open simplex2 和 open simplex2s

        生成noise总是有点的,他们用的交错的三角网络,可以从图片上模糊的看出来

        

        第二类 perlin noise

            可以模糊的看到是正方形的网络的。

            

            第三类cellaru 细胞样式

            第四类 value

            方方正正的。

            seed:可以用各种方式对uv进行偏移。

            frequency:noise的大小,也就是填充进去的缩放。这里之所以用频率,是因为noise是因为这里

    1600、6574、5000可以自己改的,如果 uv.x的乘数和uv.y一样会出现波形。

    5000就是frequency。

    有兴趣的可以把这3个数字改一改,会发现奇效。


3、fractal 分型

octaves(层数) = 5,c0+=5次

lacunarity(间隔) uv*4、8、16、32、64, 间隔为4

对值得影响1.0,0.5,0.25,0.125,0.0625 逐渐递减

gain(权重) 1.0。

两层的效果


    

这是采样的模式,如果写过就晓得,这里还有更多的操作空间。

这里是关于ridged的生成模式,而且还专门用它生成岛屿地图,生成地图可不是随随便便的,还有很深的图形学的坑。

https://noiseposti.ng/posts/2022-01-16-The-Perlin-Problem-Moving-Past-Square-Noise.html

4、cellular的界面,在general中选择cellular就可以使用的

    distance function 也是集中生成模式。

5、domain warp

扭曲,domain warp fractal 的扭曲分型,效果不明显。



总结,如果要制作成熟的地图,去google noise map,有很多人提供了图文教程。

godot 随机地图3-fastnoiselite的评论 (共 条)

分享到微博请遵守国家法律