единство Mathf.PerlinNoise не между 0 и 1 - PullRequest
0 голосов
/ 10 ноября 2018

Кто-нибудь знает, почему это:

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

дает мне: 1.044323 Это должно быть от 0 до 1, не так ли?

А если оно может быть больше 1, может ли оно быть меньше 0? Я делаю карту со спрайтами, и все работает :), за исключением того, что я получаю пустые места, если значение больше 1.

Я использую случайное семя, поэтому цифры такие большие, если вам интересно.

Я надеюсь, что кто-то может мне помочь, спасибо :) 1010 *

1 Ответ

0 голосов
/ 10 ноября 2018

Из документации Unity,

Примечание : Возможно, что возвращаемое значение немного превысит 1,0f. Возможно, вам придется зафиксировать возвращаемое значение, если для вас важен диапазон от 0,0 до 1,0.

Так что вам нужно использовать float normalized = Mathf.Clamp(Mathf.PerlinNoise(190911.45f, 2290937.40f),0,1f)

Где второй аргумент является минимальным значением, а третий аргумент является максимальным значением.

...