godot noise地图融合技巧探究

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

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

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

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

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还更差得远


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

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空