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

godot noise融合成地图的探究

2023-06-09 21:44 作者:damedown  | 我要投稿

一、是首先要理解,随机地图就是一个范围判断,然后生成对于的东西。

在shader中,color的输出为4个float,范围再0~1。他和传统的0~255区别不大。只是我们习惯了10进制,在脑海中对0~255是有一个概念了。

不过这个范围判断依赖直觉肯定会有很多麻烦的事情出现的。

用0~1是有很多好处的。

在noise下,在没有使用smooth之前,分布大概是个正太的样子。

smoothstep

把直线,弄着这样。

然后我们的概率分布,就会有所改变。

我们拿到这个概率图。

如果是(v+v)/2,



如果是v*v

如果是(v-v)/2

测试后,我选择 (v-v)/2这样的值保留原始数据,有有一种被step的感觉。

二、noise的算法

1、sample

三角形错位网络

生成的基底,会有斜线

这个跟硬。根舍和生成一些特殊岩石地形

2、perlin

perlin noise是方形网格

有直线和竖线的网络。

3、value

因为使用随机网格颜色,然后再smooth,这也的效果,非常容易形成长廊

也可以有一些其他的操作

生成大量的L在地图里面。探后再用voro生成区块,那又是很多奇怪岩石地形。

4、voro 

关于voro。

顶点所在的位置很重要啊

目前我们之用了第四了,还有很多优秀作品哦,是对他的顶点进行处理的,这个。

1、像毒液的液体

2、晓不得

3、树木

4、规律分布的网格

5、随机后的

6、集中的放射性地形

6.1如果使用了曼哈顿距离法

所以voro这东东,我还是推荐自己写。

三、对数据的处理

1、ridged

2、ping_pong

完全感觉不出两个的区别

就像反色了一下。


这里的主要的公式也很简单,因为0~1之间有个过度为0.5,我们之需要把0.5变为0

只需要 abs(value-0.5)*2.0就好了

holy shit,不对啊

吃瘪了。

直接抄了。

这尼玛,什么意思,先超过去

我懒得管那么多了,这里和木纹差不多。

尤其是增加了

虽然区别很大,实际上区别不大。

四、总结

1、我们在生成地形图的时候,主要是寻找轮廓,因为整个noise都用上了smooth step,平滑的从0~1,然后每一层可以对他们进行各种处理,然后叠加。所以我们要取0.2,会存在一条线。这条线,这与这条线一下和以上的数据如何操作,取决于你想要的比例

2、我们在使用voro+sample noise生成矿石,这与的矿石轮廓不是圆滑的。


到了这里,想要深入研究可以自己看

blender和各种渲染引擎的procedural texture

https://blenderartists.org/t/my-100-free-cycles-procedural-textures-blend-files-and-or-settings-included/1113432/33
https://www.youtube.com/watch?v=2_JRwbUORTI&ab_channel=RyanKingArt
https://www.reddit.com/r/blender/comments/5q0s7o/25_simple_procedural_textures_in_one_blendfile/
https://forum.keyshot.com/index.php?topic=19526.0




我们必须承认,godot还早着呢,blender和其他渲染引擎是专业的。

unreal还更差得远

当然不能拿游戏引擎和专业的比。

godot noise融合成地图的探究的评论 (共 条)

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