Unity3D中Random.seed属性解析
发表于2017-10-28
UnityEngine.Random.seed 属性:随机数种子
基本语法:public static intseed { get; set; }
功能说明:此属性用来设置随机数的种子。在计算机中产生随机数的方法有很多,但每种方法都需要一个种子,例如经典的伪随机数产生函数:f(x)=f(x-1)*a b,其中a、b为已知的固定数值,那么只要知道某个x对应的f值,就可以推算出所有的值。通常情况下会把f(0)当作随机数产生的种子,即只要知道了f(0)的值就可以推算出f(1)、f(2)…的值。总之,相同的Random.seed值对应着相同的随机数序列,如果不人为设定其值,Unity会根据某种算法自动产生一个种子。
实例演示:下面通过实例演示属性seed的使用。
using UnityEngine; using System.Collections; public class Seed_ts : MonoBehaviour { void Start() { //设置随机数的种子 //不同的种子产生不同的随机数序列 //对于相同的种子,在程序每次启动时其序列是相同的 Random.seed = 1; } void Update() { Debug.Log(Random.value); } }
在这段代码中,首先在Start方法中设置了随机数的种子,然后在Update方法中打印出每次的随机数值。