seed | 用于初始化随机数生成器的种子。 |
使用种子初始化随机数生成器状态。
The random number generator is not truly random, but produces numbers in a preset sequence (the values in the sequence "jump" around the range in such a way that they appear random for most purposes).
The point in the sequence where a particular run of pseudo-random values begins is selected using an integer called the seed value. This prevents the same run of values from occurring each time a game is played and thus avoids predictable gameplay. It is sometimes useful to produce the same run of pseudo-random values on demand by setting the seed yourself.
例如在程序化地生成游戏关卡时,可以设置自己的种子。可以使用随机选择的元素使场景随意且自然地表现,但是在生成之前将种子设置为预设值。这可确保在每次玩游戏时生成相同的“随机”模式。这通常可以作为减少游戏存储要求的有效方式 - 可以程序化地生成所需数量的关卡,并且仅仅使用一个整数种子值存储每个关卡。
The seed is randomly initialized at startup (see Random for more information on this) but if you want to randomize it later on, you can use
Random.InitState((int)DateTime.Now.Ticks)
.
The seed cannot be retrieved once set - the pseudorandomization algorithm stores its internal state in a more complex set of numbers. However, this state can be loaded and stored via the state property, which works with the opaque but serializable State.
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]); } } }