如何获得更平滑的值?

时间:2020-06-29 13:13:19

标签: c# unity3d perlin-noise

我正在做一个项目,其中一部分是建造一座山。有人将源代码传递给了我,我试图对其进行修改以满足我的需要,但输出结果并不一定就是所需要的。

也许可以为某个岛生成一些平坦的值,但是在生成山峰的平滑高度值时却不是那么好。

起初,它看起来不错,因为它可以产生漂亮的形状,但是您可以看到颜色之间的突然变化。当我将纹理传递到3D地形时,其外观如下所示: enter image description here

无论如何,即使基本形状很好,3D Mountain也不应看起来像这样。我正在寻找类似于此高度值的东西,它要平滑得多: enter image description here

分析源代码一段时间后,我认为问题似乎在于值被截断了。我认为问题出在上面的Noise()函数中,尤其是Pow函数,但是我不确定。 如果有人可以为解决这个问题做出贡献,我将感到非常高兴。谢谢,祝你有美好的一天!

1 个答案:

答案 0 :(得分:0)

此问题是由Noise函数引起的,因为它返回一个int,结果将所有值均截断。