Объявление
public static float Range(float minInclusive, float maxInclusive);Описание
Возвращает случайное float в пределах [minInclusive..maxInclusive] (диапазон включительно).
Если minInclusive больше, чем maxInclusive, числа автоматически меняются местами.
Важно. И нижняя, и верхняя границы являются включительными. Любое заданное значение с плавающей запятой между ними, включая как minInclusive, так и maxInclusive, будет появляться в среднем примерно один раз на каждые десять миллионов случайных выборок.
Существует перегруженная версия int этой функции, которая работает несколько иначе, особенно в отношении максимального диапазона. См. его документы ниже.
Подробнее об алгоритме и примерах того, как UnityEngine.Random может отличаться от другого случайного числа, см. в разделе Random. генераторы.
using UnityEngine;
public class ExampleClass : MonoBehaviour
{
public GameObject prefab;
// Нажмите «Создать экземпляр!» кнопка и будет создан новый `префаб`
// где-то в пределах -10.0 и 10.0 (включительно) в плоскости x-z
void OnGUI()
{
if (GUI.Button(new Rect(10, 10, 100, 50), "Instantiate!"))
{
var position = new Vector3(Random.Range(-10.0f, 10.0f), 0, Random.Range(-10.0f, 10.0f));
Instantiate(prefab, position, Quaternion.identity);
}
}
}
Объявление
public static int Range(int minInclusive, int maxExclusive);Описание
Возвращает случайное int в пределах [minInclusive..maxExclusive) (только для чтения).
Этот метод будет вести себя следующим образом:
maxExcusiveявляется эксклюзивным, поэтому, например,Random.Range(0, 10)вернет значение от 0 до 9. , каждый с примерно равной вероятностью.- Если
minInclusiveиmaxExclusiveравны, то "эксклюзивное правило" игнорируется иminInclusiveбудет возвращен. - Если
minInclusiveбольше, чемmaxExclusive, числа автоматически меняются местами.
Существует перегрузка этой функции float, которая работает несколько иначе, особенно в отношении максимального диапазона. См. его документы выше.
Подробнее об алгоритме и примерах того, как UnityEngine.Random может отличаться от другого случайного числа, см. в разделе Random. генераторы.
using UnityEngine;
public class ExampleClass : MonoBehaviour
{
public GameObject prefab;
public float zoffset = 10;
// Нажмите «Создать экземпляр!» кнопка и новая сетка `префабов` объектов будет
// создается со случайным количеством элементов в каждом направлении.
void OnGUI()
{
if (GUI.Button(new Rect(10, 10, 100, 50), "Instantiate!"))
{
// the grid will always be 1, 2, 3, 4, or 5 prefabs wide
int xcount = Random.Range(1, 6);
// the grid will always be 2, 3, or 4 prefabs long
int ycount = Random.Range(2, 5);
for (int x = 0; x != xcount; ++x)
{
for (int y = 0; y != ycount; ++y)
{
var position = new Vector3(x * 2, zoffset, y * 2);
Instantiate(prefab, position, Quaternion.identity);
}
}
zoffset += 2;
}
}
}

