Random.Range() возвращает одно и тоже число. (unity/c#)
Почему Random.Range() возвращает одно и тоже число? Каждый раз он возвращает 0.
Instantiate(Object[Random.Range(0, 1)], new Vector2(0, 0), Quaternion.identity);
Ответы (2 шт):
Чтобы получать случайные нули и единицы, нужно вызывать:
Random.Range(0, 2) // integers in range [0, 2)
В целочисленной перегрузке Random.Range max исключается:
public static int Range(int min, int max);
Description:
Return a random integer number between min [inclusive] and max [exclusive]Note max is exclusive. Random.Range(0, 10) can return a value between 0 and 9. Return min if max equals min.
Описание:
Возвращает случайное целое число между min [включительно] и max [исключительно]Внимание: max не включается.
Random.Range(0, 10)может возвращать значения от 0 до 9. Возвращает min, если max равен min.
Итак, Вам нужен Random.Range(0, 2)
Перегрузка для действительных чисел, напротив, включает оба конца интервала.
Дополню, если нужно от 0.5f и до 4 то вот вам пример.
Random.Range(.05f,4);