public static void InitState (int seed);

Parámetros

seedSemilla utilizada para inicializar el generador de números aleatorios.

Descripción

Inicializa el estado del generador de números aleatorios con una semilla.

El generador de números aleatorios no es realmente aleatorio sino que produce números en una secuencia preestablecida (los valores en la secuencia "saltar" alrededor del rango de tal manera que aparezcan aleatorios para la mayoría de los propósitos).

El punto de la secuencia en la que comienza una serie particular de valores pseudoaleatorios se selecciona utilizando un entero llamado valor de semilla. Normalmente, la semilla se establece desde un valor arbitrario como el reloj del sistema antes de utilizar las funciones de números aleatorios. Esto evita que se produzca la misma serie de valores cada vez que se juega un juego y evita así un juego previsible. Sin embargo, a veces es útil producir la misma serie de valores pseudo-aleatorios a la demanda estableciendo la semilla usted mismo.

Puede establecer su propia semilla, por ejemplo, cuando genere un nivel de juego proceduralmente. Puede utilizar elementos elegidos al azar para que la escena se vea arbitraria y natural, pero establezca la semilla en un valor preestablecido antes de generar. Esto asegurará que el mismo patrón "aleatorio" se produce cada vez que se juega el juego. Esto a menudo puede ser una forma eficaz de reducir los requisitos de almacenamiento de un juego - puede generar tantos niveles como desee proceduralmente y almacenar cada uno utilizando nada más que un valor de semilla entero.

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { private float[] noiseValues; void Start() { Random.InitState(42); noiseValues = new float[10]; for (int i = 0; i < noiseValues.Length; i++) { noiseValues[i] = Random.value; Debug.Log(noiseValues[i]); } } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961