Version: 2020.1
public static void InitState (int seed);

参数

seed 用于初始化随机数生成器的种子。

描述

使用种子初始化随机数生成器状态。

随机数生成器并非真正随机,而是采用预设序列生成数字(对大多数用途而言,序列中的值表现为以看似随机的方式围绕范围“跳动”)。

序列开始生成一串特定伪随机值的点选自一个称为种子 值的整数。在使用随机数函数之前,种子通常是通过某个任意值(如系统时钟)进行设置的。这可防止在每次玩游戏时出现相同的一串值,从而避免可预测的游戏玩法。但是,有时通过自己设置种子,按照需要生成相同的一串伪随机值会十分有用。

例如在程序化地生成游戏关卡时,可以设置自己的种子。可以使用随机选择的元素使场景随意且自然地表现,但是在生成之前将种子设置为预设值。这可确保在每次玩游戏时生成相同的“随机”模式。这通常可以作为减少游戏存储要求的有效方式 - 可以程序化地生成所需数量的关卡,并且仅仅使用一个整数种子值存储每个关卡。

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]); } } }