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