Почему обычный С# Random не работает в Unity-скрипте?
Пробую такой код для смены цветового канала по нажатию кнопки:
void Update () {
Random rnd = new Random();
if (Input.GetKeyUp (KeyCode.Space)) {
byte value = rnd.Next();
}
Color32 color32 = new Color32(4, 128, 192, value);
obj.GetComponent <Renderer> ().material.color = color32;
}
Также не пойму как задать интервал, в котором будет происходить генерация.
Для System.Random:
Метод Next() возвращает int и нужно явное приведение к типу byte:
byte value = (byte)rnd.Next();
Или, на случай нежелания использовать приведение типов, вариант с методом NextBytes:
var buffer = new byte[1];
rnd.NextBytes(buffer);
byte value = buffer[0];
Интервал можно задать с помощью перегрузки метода Next, принимающей два int числа: minValue (включительно) и maxValue (не включительно).
Вариант, который должен бы сработать для UnityEngine.Random:
byte value = (byte)Random.Range(0, 256);
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости