Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

Random.seed

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public static var seed: int;
public static int seed;

説明

乱数を生成する初期値を設定します

乱数生成は真にランダムでなく事前に決まった順番で番号を生成します(値の順番はほとんどの場合に問題ない形の乱数となります)。

乱数の値の選択は シード と呼ばれる値で選択されます。関数が使用される前のシステム時刻など任意の値からセットされます。これによりゲームが再生される度に同じ値が実行されて毎回同じゲームプレイとなることを避けます。しかし自身でシードをセットすることで同じ乱数の値を生成することが役に立つ場合もあります。

自身でシードをセットするのは例えば、ゲームレベルをプロシージャル生成する場合などです。乱数で選ばれた要素を使用することでシーンが任意で自然に見えるようになり、生成前にシードを事前にセットした値とすることができます。これによりゲームが再生されるたびに同じ "ランダム" パターンが生成できます。これはゲームのストレージ要件を削減できます。任意でレベルを生成することができて、整数のシード値を使用してプロシージャルにレベルを好きなだけ生成できます。

private var noiseValues: float[];

function Start () { // If you comment out the following line, the sequence of random // values will be different each time you run. However, the sequence // will always be the same for any particular seed value. Random.seed = 42; noiseValues = new float[10]; for (var i = 0; i < noiseValues.Length; i++) { noiseValues[i] = Random.value; print(noiseValues[i]); } }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { private float[] noiseValues; void Start() { Random.seed = 42; noiseValues = new float[10]; int i = 0; while (i < noiseValues.Length) { noiseValues[i] = Random.value; print(noiseValues[i]); i++; } } }