1

有谁知道这是为什么:

    Debug.Log(Mathf.PerlinNoise(190911.45f, 2290937.40f));  

给我:1.044323 它应该在 0 和 1 之间,不是吗?

如果它可以大于 1,它是否可以小于 0?我正在用精灵制作地图,一切正常:)除了如果值大于1我会得到空格。

我使用随机种子,这就是数字如此之大的原因,如果你想知道的话。

我希望有人可以帮助我,谢谢:)

4

1 回答 1

2

从统一文档,

注意:返回值有可能略超过 1.0f。如果 0.0 到 1.0 的范围对您很重要,您可能需要限制返回值。

所以你需要使用float normalized = Mathf.Clamp(Mathf.PerlinNoise(190911.45f, 2290937.40f),0,1f)

其中第二个参数是最小值,而第三个参数是最大值。

于 2018-11-10T15:39:03.453 回答